|
| 1 | +Invoke-LiveTestScenario -Name "List ContainerApp" -Description "Test listing ContainerApp" -ScenarioScript ` |
| 2 | +{ |
| 3 | + param ($rg) |
| 4 | + $rgName = $rg.ResourceGroupName |
| 5 | + $appName = New-LiveTestResourceName |
| 6 | + $workspaceName = New-LiveTestResourceName |
| 7 | + $envName = New-LiveTestResourceName |
| 8 | + $headerName = New-LiveTestResourceName |
| 9 | + $secretName = New-LiveTestResourceName |
| 10 | + $appLocation = "westus" |
| 11 | + $null = New-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $workspaceName -Sku PerGB2018 -Location $appLocation -PublicNetworkAccessForIngestion "Enabled" -PublicNetworkAccessForQuery "Enabled" |
| 12 | + $CustomId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName $rgName -Name $workspaceName).CustomerId |
| 13 | + $SharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName $rgName -Name $workspaceName).PrimarySharedKey |
| 14 | + $null = New-AzContainerAppManagedEnv -EnvName $envName -ResourceGroupName $rgName -Location $appLocation -AppLogConfigurationDestination "log-analytics" -LogAnalyticConfigurationCustomerId $CustomId -LogAnalyticConfigurationSharedKey $SharedKey -VnetConfigurationInternal:$false |
| 15 | + $trafficWeight = New-AzContainerAppTrafficWeightObject -Label production -LatestRevision $True -Weight 100 |
| 16 | + $secretObject = New-AzContainerAppSecretObject -Name $secretName -Value "facebook-password" |
| 17 | + $containerAppHttpHeader = New-AzContainerAppProbeHeaderObject -Name $headerName -Value Awesome |
| 18 | + $probe = New-AzContainerAppProbeObject -HttpGetPath "/health" -HttpGetPort 8080 -InitialDelaySecond 3 -PeriodSecond 3 -Type Liveness -HttpGetHttpHeader $containerAppHttpHeader |
| 19 | + $image = New-AzContainerAppTemplateObject -Name $appName -Image mcr.microsoft.com/azuredocs/containerapps-helloworld:latest -Probe $probe -ResourceCpu 2.0 -ResourceMemory 4.0Gi |
| 20 | + $EnvId = (Get-AzContainerAppManagedEnv -ResourceGroupName $rgName -EnvName $envName).Id |
| 21 | + $scaleRule = @() |
| 22 | + # Test creating AzContainerApp |
| 23 | + $actual = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080 -ScaleRule $scaleRule |
| 24 | + Assert-AreEqual $appName $actual.Name |
| 25 | + Assert-AreEqual 8080 $actual.DaprAppPort |
| 26 | + # Test listing ContainerApp |
| 27 | + $null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080 -ScaleRule $scaleRule |
| 28 | + $actual = Get-AzContainerApp -ResourceGroupName $rgName |
| 29 | + Assert-True { $actual.Count -ge 1 } |
| 30 | + # Test getting one ContainerApp |
| 31 | + $null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080 -ScaleRule $scaleRule |
| 32 | + $actual = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName |
| 33 | + Assert-AreEqual $appName $actual.Name |
| 34 | + # Test Updating one specific ContainerApp |
| 35 | + $null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080 -ScaleRule $scaleRule |
| 36 | + $null = Update-AzContainerApp -Name $appName -ResourceGroupName $rgName -DaprAppPort 8888 -Location $appLocation |
| 37 | + $actual = Get-AzContainerApp -ResourceGroupName $rgName -Name $appName |
| 38 | + Assert-AreEqual $actual.DaprAppPort 8888 |
| 39 | + # Test Removing ContainerApp |
| 40 | + $null = New-AzContainerApp -Name $appName -ResourceGroupName $rgName -Location $appLocation -ConfigurationActiveRevisionsMode 'Single' -ManagedEnvironmentId $EnvId -IngressExternal -IngressTransport 'auto' -IngressTargetPort 80 -TemplateContainer $image -ConfigurationSecret $secretObject -IngressTraffic $trafficWeight -DaprEnabled -DaprAppProtocol 'http' -DaprAppId "container-app-1" -DaprAppPort 8080 -ScaleRule $scaleRule |
| 41 | + $null = Remove-AzContainerApp -ResourceGroupName $rgName -Name $appName |
| 42 | + $GetServiceList = Get-AzContainerApp -ResourceGroupName $rgName |
| 43 | + Assert-False { $GetServiceList.Name -contains $appName} |
| 44 | + |
| 45 | +} |
0 commit comments