Skip to content

Commit ea3cefe

Browse files
CopilotEMaher
andcommitted
fix: add integration-test log-level input and centralus defaults
Agent-Logs-Url: https://github.com/Azure/apiops-cli/sessions/08964b6c-4c8a-4dda-bcb9-17322e0e16bb Co-authored-by: EMaher <9244742+EMaher@users.noreply.github.com>
1 parent 62f8838 commit ea3cefe

3 files changed

Lines changed: 61 additions & 18 deletions

File tree

.github/workflows/integration-test.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,16 @@ on:
4040
description: 'Azure region'
4141
required: false
4242
type: string
43-
default: 'eastus2'
43+
default: 'centralus'
44+
log_level:
45+
description: 'PowerShell log level'
46+
required: false
47+
type: choice
48+
options:
49+
- Info
50+
- Verbose
51+
- Debug
52+
default: Verbose
4453
skip_teardown:
4554
description: 'Skip teardown (for debugging)'
4655
required: false
@@ -58,7 +67,12 @@ on:
5867
description: 'Azure region'
5968
required: false
6069
type: string
61-
default: 'eastus2'
70+
default: 'centralus'
71+
log_level:
72+
description: 'PowerShell log level'
73+
required: false
74+
type: string
75+
default: Verbose
6276
skip_teardown:
6377
description: 'Skip teardown (for debugging)'
6478
required: false
@@ -119,6 +133,7 @@ jobs:
119133
TargetResourceGroup = '${{ env.TARGET_RG }}'
120134
SkuName = '${{ inputs.sku }}'
121135
Location = '${{ inputs.location }}'
136+
LogLevel = '${{ inputs.log_level }}'
122137
PublisherEmail = '${{ secrets.APIM_PUBLISHER_EMAIL }}'
123138
ExtractOutputDir = './extracted-artifacts'
124139
HardDelete = $true

tests/integration/all-resource-types/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The kitchen sink APIM instance includes **every resource type and API protocol v
5656
### Deploy
5757

5858
```powershell
59-
# Deploy with defaults (StandardV2 SKU, eastus2, auto-generated resource names)
59+
# Deploy with defaults (StandardV2 SKU, centralus, auto-generated resource names)
6060
.\deploy-source.ps1 -ResourceGroupName rg-apiops-bvt -PublisherEmail admin@contoso.com
6161
6262
# Deploy with Developer SKU (classic — supports self-hosted gateways, no workspaces)
@@ -101,7 +101,8 @@ The round-trip test validates the full extract→publish cycle:
101101

102102
The workflow at `.github/workflows/integration-test.yml` provides a manual trigger (`workflow_dispatch`) with:
103103
- **SKU selection** (StandardV2, Developer, Premium, PremiumV2)
104-
- **Location** (default: eastus2)
104+
- **Location** (default: centralus)
105+
- **Log level** (Info, Verbose, Debug; default: Verbose)
105106
- **Skip teardown** toggle for debugging
106107

107108
Requires an `integration-test` environment with secrets:

tests/integration/all-resource-types/run-roundtrip-test.ps1

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ param(
4848

4949
[string]$Location = 'eastus2',
5050

51+
[ValidateSet('Info', 'Verbose', 'Debug')]
52+
[string]$LogLevel = 'Verbose',
53+
5154
[Parameter(Mandatory)]
5255
[string]$PublisherEmail,
5356

@@ -59,6 +62,8 @@ param(
5962
)
6063

6164
$ErrorActionPreference = 'Stop'
65+
$VerbosePreference = if ($LogLevel -in @('Verbose', 'Debug')) { 'Continue' } else { 'SilentlyContinue' }
66+
$DebugPreference = if ($LogLevel -eq 'Debug') { 'Continue' } else { 'SilentlyContinue' }
6267

6368
# Default to hard-delete on teardown unless explicitly disabled.
6469
if (-not $PSBoundParameters.ContainsKey('HardDelete')) {
@@ -255,19 +260,29 @@ try {
255260

256261
# --- Source deployment job ---
257262
$sourceJob = Start-Job -Name 'DeploySource' -ScriptBlock {
258-
param($script, $rg, $sku, $loc, $email, $transcriptFile)
263+
param($script, $rg, $sku, $loc, $email, $transcriptFile, $logLevel)
259264
$ErrorActionPreference = 'Stop'
260265
Start-Transcript -Path $transcriptFile -Force | Out-Null
261266
try {
262-
$result = & $script -ResourceGroupName $rg -SkuName $sku -Location $loc -PublisherEmail $email
267+
$scriptArgs = @{
268+
ResourceGroupName = $rg
269+
SkuName = $sku
270+
Location = $loc
271+
PublisherEmail = $email
272+
}
273+
switch ($logLevel) {
274+
'Verbose' { $scriptArgs.Verbose = $true }
275+
'Debug' { $scriptArgs.Debug = $true }
276+
}
277+
$result = & $script @scriptArgs
263278
if (-not $result -or -not $result.apimServiceName) {
264279
throw "Source deployment returned no outputs"
265280
}
266281
return $result
267282
} finally {
268283
Stop-Transcript | Out-Null
269284
}
270-
} -ArgumentList $deploySourceScript, $SourceResourceGroup, $SkuName, $Location, $PublisherEmail, $sourceLogFile
285+
} -ArgumentList $deploySourceScript, $SourceResourceGroup, $SkuName, $Location, $PublisherEmail, $sourceLogFile, $LogLevel
271286
Write-Host " ▶ Source deployment started"
272287

273288
# --- Target deployment job ---
@@ -492,10 +507,16 @@ try {
492507
$manifestFile = Join-Path $PSScriptRoot 'expected-structure.json'
493508
$validateScript = Join-Path $PSScriptRoot 'Test-ExtractedArtifact.ps1'
494509

495-
& $validateScript `
496-
-ExtractedDir $ExtractOutputDir `
497-
-ManifestFile $manifestFile `
498-
-SkuName $SkuName
510+
$validateArgs = @{
511+
ExtractedDir = $ExtractOutputDir
512+
ManifestFile = $manifestFile
513+
SkuName = $SkuName
514+
}
515+
switch ($LogLevel) {
516+
'Verbose' { $validateArgs.Verbose = $true }
517+
'Debug' { $validateArgs.Debug = $true }
518+
}
519+
& $validateScript @validateArgs
499520

500521
$validateExitCode = $LASTEXITCODE
501522
$validateTimer.Stop()
@@ -604,13 +625,19 @@ loggers:
604625
Write-Phase "🔍" "PHASE 4 — Compare source and target APIM instances"
605626
$verifyTimer = [System.Diagnostics.Stopwatch]::StartNew()
606627

607-
& $compareScript `
608-
-SourceSubscriptionId $sourceSubId `
609-
-SourceResourceGroup $sourceRg `
610-
-SourceApimName $sourceName `
611-
-TargetSubscriptionId $targetSubId `
612-
-TargetResourceGroup $targetRg `
613-
-TargetApimName $targetName
628+
$compareArgs = @{
629+
SourceSubscriptionId = $sourceSubId
630+
SourceResourceGroup = $sourceRg
631+
SourceApimName = $sourceName
632+
TargetSubscriptionId = $targetSubId
633+
TargetResourceGroup = $targetRg
634+
TargetApimName = $targetName
635+
}
636+
switch ($LogLevel) {
637+
'Verbose' { $compareArgs.Verbose = $true }
638+
'Debug' { $compareArgs.Debug = $true }
639+
}
640+
& $compareScript @compareArgs
614641

615642
$verifyExitCode = $LASTEXITCODE
616643
$verifyTimer.Stop()

0 commit comments

Comments
 (0)