Skip to content

Add livetest for websites and remove list case in applicationinsights #20995

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions src/ApplicationInsights/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,6 @@ Invoke-LiveTestScenario -Name "Create ApplicationInsights" -Description "Test Ne
Assert-AreEqual $appKind $actual.Kind
}

Invoke-LiveTestScenario -Name "List ApplicationInsights" -Description "Test listing ApplicationInsights" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$appName = New-LiveTestResourceName
$appLocation = "westus"
$appKind = "java"

$null = New-AzApplicationInsights -Kind $appKind -ResourceGroupName $rgName -Name $appName -location $appLocation
$actual = Get-AzApplicationInsights -ResourceGroupName $rgName
Assert-AreEqual 1 $actual.Count
}

Invoke-LiveTestScenario -Name "Get ApplicationInsights" -Description "Test getting one ApplicationInsights" -ScenarioScript `
{
param ($rg)
Expand Down
150 changes: 150 additions & 0 deletions src/Websites/Websites.Test/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
Invoke-LiveTestScenario -Name "Create new webapp" -Description "Test creating a new webapp with all default values" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webName = New-LiveTestResourceName
$webLocation = "westus"

$actual = New-AzWebApp -ResourceGroupName $rgname -Name $webName -Location $webLocation
Assert-AreEqual $webName $actual.Name
Assert-AreEqual $rgName $actual.ResourceGroup
Assert-AreEqual "app" $actual.Kind

Assert-True { $actual.ClientAffinityEnabled } "By default ClientAffinityEnabled should be true"
Assert-True { $actual.Enabled } "By default Enabled should be true"
}

Invoke-LiveTestScenario -Name "Create new web with service plan" -Description "Test creating a new web app with service plan" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webName = New-LiveTestResourceName
$webLocation = "westus"
$whpName = New-LiveTestResourceName
$tier = "Shared"

$serverFarm = New-AzAppServicePlan -ResourceGroupName $rgname -Name $whpName -Location $weblocation -Tier $tier
$actual = New-AzWebApp -ResourceGroupName $rgname -Name $webName -Location $webLocation -AppServicePlan $whpName
Assert-AreEqual $webName $actual.Name
Assert-AreEqual $serverFarm.Id $actual.ServerFarmId
}

Invoke-LiveTestScenario -Name "Get a webapp" -Description "Test getting a new webapp" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webName = New-LiveTestResourceName
$webLocation = "westus"

$null = New-AzWebApp -ResourceGroupName $rgname -Name $webName -Location $webLocation
$webApp = Get-AzWebApp -ResourceGroupName $rgname -Name $webName
Assert-AreEqual $webName $webApp.Name
Assert-AreEqual $rgName $webApp.ResourceGroup
}

Invoke-LiveTestScenario -Name "Update web app" -Description "Test updating service plan & set site properties for existing web app" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webAppName = New-LiveTestResourceName
$webLocation = "westus"
$appServicePlanName1 = New-LiveTestResourceName
$appServicePlanName2 = New-LiveTestResourceName
$tier1 = "Shared"
$tier2 = "Standard"

$serverFarm1 = New-AzAppServicePlan -ResourceGroupName $rgname -Name $appServicePlanName1 -Location $webLocation -Tier $tier1
$serverFarm2 = New-AzAppServicePlan -ResourceGroupName $rgname -Name $appServicePlanName2 -Location $webLocation -Tier $tier2
$webApp = New-AzWebApp -ResourceGroupName $rgname -Name $webAppName -Location $webLocation -AppServicePlan $appServicePlanName1

Assert-AreEqual $webAppName $webApp.Name
Assert-AreEqual $serverFarm1.Id $webApp.ServerFarmId
Assert-Null $webApp.Identity
Assert-NotNull $webApp.SiteConfig.phpVersion
Assert-AreEqual $false $webApp.HttpsOnly
Assert-AreEqual "AllAllowed" $webApp.SiteConfig.FtpsState

# Update service plan & set site properties
$job = Set-AzWebApp -ResourceGroupName $rgname -Name $webAppName -AppServicePlan $appServicePlanName2 -HttpsOnly $true -AlwaysOn $false -AsJob
$job | Wait-Job
$webApp = $job | Receive-Job

# Assert
Assert-AreEqual $webAppName $webApp.Name
Assert-AreEqual $serverFarm2.Id $webApp.ServerFarmId
Assert-AreEqual $true $webApp.HttpsOnly
Assert-AreEqual $false $webapp.SiteConfig.AlwaysOn

# Set config properties
$webapp.SiteConfig.HttpLoggingEnabled = $true
$webapp.SiteConfig.RequestTracingEnabled = $true
$webapp.SiteConfig.FtpsState = "FtpsOnly"
$webApp.SiteConfig.MinTlsVersion = "1.0"
$webApp.SiteConfig.HealthCheckPath = "/api/path"

# Set site properties
$webApp = $webApp | Set-AzWebApp

# Assert
Assert-AreEqual $webAppName $webApp.Name
Assert-AreEqual $serverFarm2.Id $webApp.ServerFarmId
Assert-AreEqual $true $webApp.SiteConfig.HttpLoggingEnabled
Assert-AreEqual $true $webApp.SiteConfig.RequestTracingEnabled
Assert-AreEqual $false $webApp.SiteConfig.AlwaysOn
Assert-AreEqual "FtpsOnly" $webApp.SiteConfig.FtpsState
Assert-AreEqual "1.0" $webApp.SiteConfig.MinTlsVersion
Assert-AreEqual "/api/path" $webApp.SiteConfig.HealthCheckPath
}

Invoke-LiveTestScenario -Name "Delete web app" -Description "Test deleting web app" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webName = New-LiveTestResourceName
$webLocation = "westus"

$null = New-AzWebApp -ResourceGroupName $rgname -Name $webName -Location $webLocation
Remove-AzWebApp -ResourceGroupName $rgname -Name $webName -Force

$webappNames = (Get-AzWebApp -ResourceGroupName $rgname) | Select -Property Name
Assert-False { $webappNames -contains $webName }
}

Invoke-LiveTestScenario -Name "Start, Stop and Restart WebApp" -Description "Test Stop-AzWebApp, Start-AzWebApp, Restart-AzWebApp" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$webName = New-LiveTestResourceName
$webLocation = "westus"

$webApp = New-AzWebApp -ResourceGroupName $rgname -Name $webName -Location $webLocation
# Stop web app
$webApp = $webApp | Stop-AzWebApp
Assert-AreEqual "Stopped" $webApp.State

# Start web app
$webApp = $webApp | Start-AzWebApp
Assert-AreEqual "Running" $webApp.State

# Restart web app
$webApp = $webApp | Restart-AzWebApp
Assert-AreEqual "Running" $webApp.State

# Stop web app
$webApp = Stop-AzWebApp -ResourceGroupName $rgname -Name $webName
Assert-AreEqual "Stopped" $webApp.State

# Start web app
$webApp = Start-AzWebApp -ResourceGroupName $rgname -Name $webName
Assert-AreEqual "Running" $webApp.State

# Retart web app
$webApp = Restart-AzWebApp -ResourceGroupName $rgname -Name $webName
Assert-AreEqual "Running" $webApp.State
}