Skip to content

Commit 7be8a0a

Browse files
committed
fixing sub limit issue with target apim
1 parent 2e35a1e commit 7be8a0a

2 files changed

Lines changed: 46 additions & 26 deletions

File tree

tests/integration/all-resource-types/Deploy-TargetApim.ps1

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,50 @@ if (-not $result.properties.outputs) {
108108

109109
Write-Host "✅ Target APIM deployed successfully: $(Protect-ApimName -Value $result.properties.outputs.apimServiceName.value)"
110110

111+
# APIM may auto-create default user subscriptions (for built-in products like
112+
# starter/unlimited). Remove non-system subscriptions so publish starts from a
113+
# clean target with no user subscriptions.
114+
$targetApimName = $result.properties.outputs.apimServiceName.value
115+
Write-Host "Pruning non-system subscriptions from target APIM..."
116+
117+
$listArgs = @(
118+
'apim', 'subscription', 'list',
119+
'--resource-group', $ResourceGroupName,
120+
'--service-name', $targetApimName,
121+
'--output', 'json'
122+
)
123+
124+
$subsRaw = Invoke-MaskedAzCommand -Replacements $azReplacements -Arguments $listArgs
125+
if ($LASTEXITCODE -ne 0) {
126+
throw "Failed to list target APIM subscriptions"
127+
}
128+
129+
$subscriptions = $subsRaw | ConvertFrom-Json
130+
$deletedCount = 0
131+
132+
foreach ($sub in @($subscriptions)) {
133+
$sid = $sub.name
134+
if (-not $sid -or $sid -eq 'master') {
135+
continue
136+
}
137+
138+
$deleteArgs = @(
139+
'apim', 'subscription', 'delete',
140+
'--resource-group', $ResourceGroupName,
141+
'--service-name', $targetApimName,
142+
'--sid', $sid,
143+
'--yes',
144+
'--output', 'none'
145+
)
146+
147+
Invoke-MaskedAzCommand -Replacements $azReplacements -Arguments $deleteArgs | Out-Null
148+
if ($LASTEXITCODE -eq 0) {
149+
$deletedCount++
150+
} else {
151+
throw "Failed to delete target APIM subscription '$sid'"
152+
}
153+
}
154+
155+
Write-Host "✅ Pruned $deletedCount non-system subscriptions from target APIM"
156+
111157
return $result.properties.outputs

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

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -565,32 +565,6 @@ try {
565565

566566
Write-Host ""
567567

568-
# -----------------------------------------------------------------------
569-
# Phase 2.2: Prune non-deterministic subscriptions from extracted artifacts
570-
# -----------------------------------------------------------------------
571-
Write-Phase "🧼" "PHASE 2.2 — Prune non-deterministic subscriptions"
572-
573-
$subscriptionRoots = Get-ChildItem -Path $ExtractOutputDir -Recurse -Directory -ErrorAction SilentlyContinue |
574-
Where-Object { $_.Name -eq 'subscriptions' }
575-
576-
$autoIdPattern = '^[0-9a-f]{24}$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
577-
$prunedCount = 0
578-
579-
foreach ($root in $subscriptionRoots) {
580-
$autoIdDirs = Get-ChildItem -Path $root.FullName -Directory -ErrorAction SilentlyContinue |
581-
Where-Object { $_.Name -match $autoIdPattern }
582-
583-
foreach ($dir in $autoIdDirs) {
584-
Remove-Item -Path $dir.FullName -Recurse -Force -ErrorAction SilentlyContinue
585-
$prunedCount++
586-
}
587-
}
588-
589-
Write-Host " Pruned auto-generated subscription directories: $prunedCount"
590-
Write-PhaseEnd "🧼" "PHASE 2.2 complete — deterministic subscriptions retained"
591-
592-
Write-Host ""
593-
594568
# -----------------------------------------------------------------------
595569
# Phase 2.5: Generate override config for target environment
596570
# -----------------------------------------------------------------------

0 commit comments

Comments
 (0)