diff --git a/src/Compute/Compute.Test/LiveTests/TestLiveScenarios.ps1 b/src/Compute/Compute.Test/LiveTests/TestLiveScenarios.ps1 index 1caf51835c89..d0b356cdeb36 100644 --- a/src/Compute/Compute.Test/LiveTests/TestLiveScenarios.ps1 +++ b/src/Compute/Compute.Test/LiveTests/TestLiveScenarios.ps1 @@ -38,8 +38,76 @@ Invoke-LiveTestScenario -Name "Removes a virtual machine from Azure" -Descriptio $userData = [Convert]::ToBase64String($bytes); New-AzVM -ResourceGroupName $rgName -Name $name -Credential $Credential -DomainNameLabel $domainNameLabel -UserData $userData; - Remove-AzVM -ResourceGroupName $rgName -Name $name -Force + Remove-AzVM -ResourceGroupName $rgName -Name $name -Force $removedVM = Get-AzVM -ResourceGroupName $rgName -Name $name -ErrorAction SilentlyContinue Assert-Null $removedVM } + +Invoke-LiveTestScenario -Name "Create a managed disk" -Description "Test creating a managed disk" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $diskName = New-LiveTestResourceName + $diskLocation = "westus" + $diskSize = 10 + $diskSkuName = "Standard_LRS" + + $diskCfg = New-AzDiskConfig -Location $diskLocation -DiskSizeGB $diskSize -SkuName $diskSkuName -OsType Windows -CreateOption Empty + New-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Disk $diskCfg | Out-Null + $actual = Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName + Assert-NotNull $actual + Assert-AreEqual $rgName $actual.ResourceGroupName + Assert-AreEqual $diskName $actual.Name + Assert-AreEqual $diskLocation $actual.Location + Assert-AreEqual $diskSize $actual.DiskSizeGB + Assert-AreEqual $diskSkuName $actual.Sku.Name + Assert-AreEqual Windows $actual.OsType +} + +Invoke-LiveTestScenario -Name "Update a managed disk" -Description "Test updating an existing managed disk" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $diskName = New-LiveTestResourceName + $diskLocation = "westus" + $diskSize = 10 + $diskSizeUpdated = 20 + $diskSkuName = "Standard_LRS" + $diskSkuNameUpdated = "StandardSSD_LRS" + + $diskCfg = New-AzDiskConfig -Location $diskLocation -DiskSizeGB $diskSize -SkuName $diskSkuName -OsType Windows -CreateOption Empty + New-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Disk $diskCfg + + $disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName + $disk.DiskSizeGB = $diskSizeUpdated + Update-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Disk $disk + + $diskUpdateCfg = New-AzDiskUpdateConfig -SkuName $diskSkuNameUpdated + Update-AzDisk -ResourceGroupName $rgName -DiskName $diskName -DiskUpdate $diskUpdateCfg + + $actual = Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName + Assert-NotNull $actual + Assert-AreEqual $diskSizeUpdated $actual.DiskSizeGB + Assert-AreEqual $diskSkuNameUpdated $actual.Sku.Name +} + +Invoke-LiveTestScenario -Name "Remove a managed disk" -Description "Test removing an existing managed disk" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $diskName = New-LiveTestResourceName + $diskLocation = "westus" + $diskSize = 10 + $diskSkuName = "Standard_LRS" + + $diskCfg = New-AzDiskConfig -Location $diskLocation -DiskSizeGB $diskSize -SkuName $diskSkuName -OsType Windows -CreateOption Empty + New-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Disk $diskCfg + Remove-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Force + + $actual = Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName -ErrorAction SilentlyContinue + Assert-Null $actual +} diff --git a/src/KeyVault/KeyVault.Test/LiveTests/TestLiveScenarios.ps1 b/src/KeyVault/KeyVault.Test/LiveTests/TestLiveScenarios.ps1 index 70b498e789af..c1ca27a822ab 100644 --- a/src/KeyVault/KeyVault.Test/LiveTests/TestLiveScenarios.ps1 +++ b/src/KeyVault/KeyVault.Test/LiveTests/TestLiveScenarios.ps1 @@ -6,7 +6,8 @@ Invoke-LiveTestScenario -Name "Create new standard key vault" -Description "Test $vaultName = New-LiveTestResourceName $vaultLocation = "westus" - $actual = New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + $actual = Get-AzKeyVault -ResourceGroupName $rgName -VaultName $vaultName Assert-AreEqual $vaultName $actual.VaultName Assert-AreEqual $rgName $actual.ResourceGroupName Assert-AreEqual $vaultLocation $actual.Location @@ -26,7 +27,8 @@ Invoke-LiveTestScenario -Name "Create new premium key vault" -Description "Test $vaultName = New-LiveTestResourceName $vaultLocation = "eastus" - $actual = New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation -Sku premium -EnabledForDeployment + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation -Sku premium -EnabledForDeployment + $actual = Get-AzKeyVault -ResourceGroupName $rgName -VaultName $vaultName Assert-AreEqual $vaultName $actual.VaultName Assert-AreEqual $rgName $actual.ResourceGroupName Assert-AreEqual $vaultLocation $actual.Location @@ -76,3 +78,131 @@ Invoke-LiveTestScenario -Name "Delete key vault" -Description "Test deleting key # purge deleted vault Remove-AzKeyVault -VaultName $vaultName -Location $vaultLocation -InRemovedState -Force } + +Invoke-LiveTestScenario -Name "Create key vault secret" -Description "Test creating a key vault secret" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $vaultName = New-LiveTestResourceName + $vaultLocation = "eastus" + $secretName = New-LiveTestResourceName + + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + $sp = Get-AzADServicePrincipal -ApplicationId (Get-AzContext).Account.Id + $objectId = $sp.Id + Set-AzKeyVaultAccessPolicy -VaultName $vaultName -ObjectId $objectId -PermissionsToSecrets get, set, list + + $secretValue = ConvertTo-SecureString -String 'Password' -AsPlainText -Force + Set-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -SecretValue $secretValue + + $actual = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -ErrorAction SilentlyContinue + Assert-NotNull $actual + Assert-AreEqual $vaultName $actual.VaultName + Assert-AreEqual $secretName $actual.Name +} + +Invoke-LiveTestScenario -Name "Create key vault secret with multi-versions" -Description "Test creating a key vault secret with multiple versions" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $vaultName = New-LiveTestResourceName + $vaultLocation = "westus" + $secretName = New-LiveTestResourceName + + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + $sp = Get-AzADServicePrincipal -ApplicationId (Get-AzContext).Account.Id + $objectId = $sp.Id + Set-AzKeyVaultAccessPolicy -VaultName $vaultName -ObjectId $objectId -PermissionsToSecrets get, set, list + + $secretValue = ConvertTo-SecureString -String 'Password' -AsPlainText -Force + Set-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -SecretValue $secretValue + Set-AzKeyVaultSecret -VaultName $vaultName -name $secretName -SecretValue $secretValue + + $actual = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -IncludeVersions -ErrorAction SilentlyContinue + Assert-NotNull $actual + Assert-AreEqual 2 $actual.Count +} + +Invoke-LiveTestScenario -Name "Update key vault secret attributes" -Description "Test updating attributes of a key vault secret" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $vaultName = New-LiveTestResourceName + $vaultLocation = "westus" + $secretName = New-LiveTestResourceName + + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + $sp = Get-AzADServicePrincipal -ApplicationId (Get-AzContext).Account.Id + $objectId = $sp.Id + Set-AzKeyVaultAccessPolicy -VaultName $vaultName -ObjectId $objectId -PermissionsToSecrets get, set, list + + $secretValue = ConvertTo-SecureString -String 'Password' -AsPlainText -Force + Set-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -SecretValue $secretValue + + $exp = (Get-Date).AddYears(1).ToUniversalTime() + $nbf = (Get-Date).ToUniversalTime() + $ctp= "text" + $tags = @{ "Severity" = "low" } + Update-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -NotBefore $nbf -Expires $exp -ContentType $ctp -Tag $tags -Enable $true + + $actual = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -ErrorAction SilentlyContinue + Assert-NotNull $actual + Assert-AreEqual $true $actual.Enabled + Assert-AreEqual $ctp $actual.ContentType +} + +Invoke-LiveTestScenario -Name "Remove key vault secret" -Description "Test removing a key vault secret" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $vaultName = New-LiveTestResourceName + $vaultLocation = "eastus" + $secretName = New-LiveTestResourceName + + New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $vaultLocation + $sp = Get-AzADServicePrincipal -ApplicationId (Get-AzContext).Account.Id + $objectId = $sp.Id + Set-AzKeyVaultAccessPolicy -VaultName $vaultName -ObjectId $objectId -PermissionsToSecrets get, set, list, delete + + $secretValue = ConvertTo-SecureString -String 'Password' -AsPlainText -Force + Set-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -SecretValue $secretValue + + Remove-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -Force + + $actual = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -ErrorAction SilentlyContinue + Assert-Null $actual +} + +Invoke-LiveTestScenario -Name "Backup and restore key vault secret" -Description "Test backing up and restoring a key vault secret" -ScenarioScript ` +{ + param ($rg) + + $rgName = $rg.ResourceGroupName + $vaultName1 = New-LiveTestResourceName + $vaultName2 = New-LiveTestResourceName + $vaultLocation = "eastus" + $secretName = New-LiveTestResourceName + + New-AzKeyVault -VaultName $vaultName1 -ResourceGroupName $rgName -Location $vaultLocation + New-AzKeyVault -VaultName $vaultName2 -ResourceGroupName $rgName -Location $vaultLocation + $sp = Get-AzADServicePrincipal -ApplicationId (Get-AzContext).Account.Id + $objectId = $sp.Id + Set-AzKeyVaultAccessPolicy -VaultName $vaultName1 -ObjectId $objectId -PermissionsToSecrets get, set, list, backup + Set-AzKeyVaultAccessPolicy -VaultName $vaultName2 -ObjectId $objectId -PermissionsToSecrets get, set, list, restore + + $secretValue = ConvertTo-SecureString -String 'Password' -AsPlainText -Force + Set-AzKeyVaultSecret -VaultName $vaultName1 -Name $secretName -SecretValue $secretValue + + Backup-AzKeyVaultSecret -VaultName $vaultName1 -Name $secretName -OutputFile "SecretBackup.blob" -Force + + Restore-AzKeyVaultSecret -VaultName $vaultName2 -InputFile "SecretBackup.blob" + + $actual = Get-AzKeyVaultSecret -VaultName $vaultName2 -Name $secretName -ErrorAction SilentlyContinue + Assert-NotNull $actual + Assert-AreEqual $vaultName2 $actual.VaultName + Assert-AreEqual $secretName $actual.Name +}