Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save maddieclayton/c287217923e0e77a472b85e20a4526d0 to your computer and use it in GitHub Desktop.

Select an option

Save maddieclayton/c287217923e0e77a472b85e20a4526d0 to your computer and use it in GitHub Desktop.
<#
.SYNOPSIS
Tests creating a new vault.
#>
function Test-CreateNewVault
{
$rgName = getAssetName
$unknownRGName = getAssetName
$vault1Name = getAssetName
$vault2Name = getAssetName
$vault3Name = getAssetName
$vault4Name = getAssetName
$vault5Name = getAssetName
$rgLocation = Get-Location "Microsoft.Resources" "resourceGroups" "West US"
$vaultLocation = Get-Location "Microsoft.KeyVault" "vault" "West US"
$tagKey = "asdf"
$tagValue = "qwerty"
New-AzureRmResourceGroup -Name $rgName -Location $rgLocation
try
{
$actual = New-AzureRmKeyVault -VaultName $vault1Name -ResourceGroupName $rgName -Location $vaultLocation -Tag @{$tagKey = $tagValue}
Assert-AreEqual $vault1Name $actual.VaultName
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $vaultLocation $actual.Location
Assert-AreEqual $actual.Tags.Count 1
Assert-AreEqual $actual.Tags.ContainsKey($tagKey) $true
Assert-AreEqual $actual.Tags.ContainsValue($tagValue) $true
Assert-AreEqual "Standard" $actual.Sku
Assert-AreEqual $false $actual.EnabledForDeployment
# Default Access Policy is not set by Service Principal
Assert-AreEqual 0 @($actual.AccessPolicies).Count
# Test premium vault
$actual = New-AzureRmKeyVault -VaultName $vault2Name -ResourceGroupName $rgName -Location $vaultLocation -Sku premium -EnabledForDeployment
Assert-AreEqual $vault2Name $actual.VaultName
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $vaultLocation $actual.Location
Assert-AreEqual "Premium" $actual.Sku
Assert-AreEqual $true $actual.EnabledForDeployment
Assert-AreEqual 0 @($actual.AccessPolicies).Count
# Test soft delete
$actual = New-AzureRmKeyVault -VaultName $vault3Name -ResourceGroupName $rgName -Location $vaultLocation -Sku standard -EnableSoftDelete
Assert-AreEqual $vault3Name $actual.VaultName
Assert-AreEqual $rgName $actual.ResourceGroupName
Assert-AreEqual $vaultLocation $actual.Location
Assert-AreEqual "Standard" $actual.Sku
Assert-AreEqual $true $actual.EnableSoftDelete
Assert-AreEqual 0 @($actual.AccessPolicies).Count
# Test positional parameters
$actual = New-AzureRmKeyVault $vault4Name $rgName $vaultLocation
Assert-NotNull $actual
# Test throws for existing vault
Assert-Throws { New-AzureRmKeyVault -VaultName $vault1Name -ResourceGroupName $rgname -Location $vaultLocation }
# Test throws for resourcegroup nonexistent
Assert-Throws { New-AzureRmKeyVault -VaultName $vault5Name -ResourceGroupName $unknownRGName -Location $vaultLocation }
}
finally
{
Remove-AzureRmResourceGroup -Name $rgName -Force
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment