Skip to content
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
64 changes: 64 additions & 0 deletions src/Automation/Automation.Test/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
Invoke-LiveTestScenario -Name "Create automation account" -Description "Test creating automation account with different sku" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$autoAccParams = @(
@{
Name = New-LiveTestResourceName;
Location = "westus";
Plan = "Free"
},
@{
Name = New-LiveTestResourceName;
Location = "eastus";
Plan = "Basic"
}
)

$autoAccParams | ForEach-Object {
New-AzAutomationAccount -ResourceGroupName $rgName -Name $_.Name -Location $_.Location -Plan $_.Plan

$actual = Get-AzAutomationAccount -ResourceGroupName $rgName -Name $_.Name
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $_.Name $actual.AutomationAccountName
Assert-AreEqual $_.Location $actual.Location
#Assert-AreEqual $_.Plan $actual.Plan
Assert-AreEqual "Ok" $actual.State
}
}

Invoke-LiveTestScenario -Name "Update automation account" -Description "Test updating an existing automation account" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$accName = New-LiveTestResourceName
$accLocation = "centralus"

New-AzAutomationAccount -ResourceGroupName $rgName -Name $accName -Location $accLocation
Set-AzAutomationAccount -ResourceGroupName $rgName -Name $accName -AssignSystemIdentity -DisablePublicNetworkAccess -Tags @{ "key" = "val" }

$actual = Get-AzAutomationAccount -ResourceGroupName $rgName -Name $accName
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $accName $actual.AutomationAccountName
Assert-AreEqual $accLocation $actual.Location
Assert-AreEqual "Ok" $actual.State
}

Invoke-LiveTestScenario -Name "Remove automation account" -Description "Test removing an automation account" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$accName = New-LiveTestResourceName
$accLocation = "eastus"

New-AzAutomationAccount -ResourceGroupName $rgName -Name $accName -Location $accLocation
Remove-AzAutomationAccount -ResourceGroupName $rgName -Name $accName -Force

$actual = Get-AzAutomationAccount -ResourceGroupName $rgName -Name $accName -ErrorAction SilentlyContinue
Assert-Null $actual
}
52 changes: 52 additions & 0 deletions src/Databricks/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
Invoke-LiveTestScenario -Name "Create access connector for databricks" -Description "Test creating access connector for data bricks" -ResourceGroupLocation "eastus" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$connName = New-LiveTestResourceName
$location = "eastus"

New-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName -Location $location

$actual = Get-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $connName $actual.Name
Assert-AreEqual $location $actual.Location
Assert-AreEqual "Succeeded" $actual.ProvisioningState
}

Invoke-LiveTestScenario -Name "Update access connector for databricks" -Description "Test updating an existing access connector for data bricks" -ResourceGroupLocation "eastus" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$connName = New-LiveTestResourceName
$location = "eastus"

$connector = New-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName -Location $location
$connector | Update-AzDatabricksAccessConnector -Tag @{ "key" = "value" }

$actual = Get-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $connName $actual.Name
Assert-AreEqual $location $actual.Location
Assert-AreEqual "Succeeded" $actual.ProvisioningState
Assert-AreEqual 1 $actual.Tag.Count
}

Invoke-LiveTestScenario -Name "Remove access connector for data bricks" -Description "Test removing access connector for data bricks" -ResourceGroupLocation "eastus" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$connName = New-LiveTestResourceName
$location = "eastus"

New-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName -Location $location
Remove-AzDatabricksAccessConnector -ResourceGroupName $rgName -name $connName

$actual = Get-AzDatabricksAccessConnector -ResourceGroupName $rgName -Name $connName -ErrorAction SilentlyContinue
Assert-Null $actual
}
88 changes: 88 additions & 0 deletions src/Functions/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
Invoke-LiveTestScenario -Name "Create function app" -Description "Test creating function app" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$saName = New-LiveTestStorageAccountName
$funcAppName = New-LiveTestResourceName
$location = "westus"

New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2

$actual = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $funcAppName $actual.Name
Assert-AreEqual "Running" $actual.State
Assert-AreEqual "Windows" $actual.OSType
Assert-AreEqual "PowerShell" $actual.Runtime
}

Invoke-LiveTestScenario -Name "Update function app" -Description "Test updating an existing function app" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$saName = New-LiveTestStorageAccountName
$funcAppName = New-LiveTestResourceName
$location = "eastus"

New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
$funcApp = New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
$funcApp | Update-AzFunctionApp -Tag @{ "key" = "value" } -Force
Update-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -IdentityType SystemAssigned -Force

$actual = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
Assert-NotNull $actual
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $funcAppName $actual.Name
Assert-AreEqual "Running" $actual.State
Assert-AreEqual "SystemAssigned" $actual.IdentityType
Assert-AreEqual 1 $actual.Tag.Count
}

Invoke-LiveTestScenario -Name "Remove function app" -Description "Test removing function app" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$saName = New-LiveTestStorageAccountName
$funcAppName = New-LiveTestResourceName
$location = "centralus"

New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2
Remove-AzFunctionApp -ResourceGroupName $rgName -name $funcAppName -Force

$actual = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -ErrorAction SilentlyContinue
Assert-Null $actual
}

Invoke-LiveTestScenario -Name "Operate function app" -Description "Test operating function app by starting, stopping and restarting it" -ResourceGroupLocation "eastus" -ScenarioScript `
{
param ($rg)

$rgName = $rg.ResourceGroupName
$saName = New-LiveTestStorageAccountName
$funcAppName = New-LiveTestResourceName
$location = "eastus"

New-AzStorageAccount -ResourceGroupName $rgName -Name $saName -Location $location -SkuName Standard_LRS
New-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Location $location -FunctionsVersion 4 -StorageAccountName $saName -OSType Windows -Runtime PowerShell -RuntimeVersion 7.2

Stop-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Force
$app = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
Assert-NotNull $app
Assert-AreEqual "Stopped" $app.State

$app | Start-AzFunctionApp
$app = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
Assert-NotNull $app
Assert-AreEqual "Running" $app.State

Restart-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName -Force
$app = Get-AzFunctionApp -ResourceGroupName $rgName -Name $funcAppName
Assert-NotNull $app
Assert-AreEqual "Running" $app.State
}
21 changes: 20 additions & 1 deletion tools/TestFx/Live/LiveTestUtility.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,13 @@ function Invoke-LiveTestScenario {

do {
try {
$ScenarioScript.InvokeWithContext($null, @([psvariable]::new("ErrorActionPreference", "Stop"), [psvariable]::new("ConfirmPreference", "None")), $snrResourceGroup)
if ($snrRetryCount -eq $script:ScenarioMaxRetryCount) {
$ScenarioScript.InvokeWithContext($null, @([psvariable]::new("ErrorActionPreference", "Stop"), [psvariable]::new("ConfirmPreference", "None"), [psvariable]::new("DebugPreference", "Continue")), $snrResourceGroup)
}
else {
$ScenarioScript.InvokeWithContext($null, @([psvariable]::new("ErrorActionPreference", "Stop"), [psvariable]::new("ConfirmPreference", "None")), $snrResourceGroup)
}

Write-Host "##[section]Successfully executed the live scenario `"$Name`"." -ForegroundColor Green
break
}
Expand All @@ -285,6 +291,19 @@ function Invoke-LiveTestScenario {
$snrErrorDetails = $snrErrorMessage

$snrInvocationInfo = $snrErrorRecord.InvocationInfo

Write-Host "##[error]Error Object:" -ForegroundColor Red
$_ | Format-List * -Force

Write-Host "##[error]Exception Object:" -ForegroundColor Red
$_.Exception.InnerException | Format-List * -Force

Write-Host "##[error]Error Record:" -ForegroundColor Red
$snrErrorRecord | Format-List * -Force

Write-Host "##[error]Invocation Info:" -ForegroundColor Red
$snrInvocationInfo | Format-List * -Force

if ($null -ne $snrInvocationInfo) {
$snrScriptName = Split-Path -Path $snrInvocationInfo.ScriptName -Leaf -ErrorAction SilentlyContinue
if ($snrScriptName -eq "Assert.ps1") {
Expand Down