@@ -6,7 +6,8 @@ Invoke-LiveTestScenario -Name "Create new standard key vault" -Description "Test
6
6
$vaultName = New-LiveTestResourceName
7
7
$vaultLocation = " westus"
8
8
9
- $actual = New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
9
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
10
+ $actual = Get-AzKeyVault - ResourceGroupName $rgName - VaultName $vaultName
10
11
Assert-AreEqual $vaultName $actual.VaultName
11
12
Assert-AreEqual $rgName $actual.ResourceGroupName
12
13
Assert-AreEqual $vaultLocation $actual.Location
@@ -26,7 +27,8 @@ Invoke-LiveTestScenario -Name "Create new premium key vault" -Description "Test
26
27
$vaultName = New-LiveTestResourceName
27
28
$vaultLocation = " eastus"
28
29
29
- $actual = New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation - Sku premium - EnabledForDeployment
30
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation - Sku premium - EnabledForDeployment
31
+ $actual = Get-AzKeyVault - ResourceGroupName $rgName - VaultName $vaultName
30
32
Assert-AreEqual $vaultName $actual.VaultName
31
33
Assert-AreEqual $rgName $actual.ResourceGroupName
32
34
Assert-AreEqual $vaultLocation $actual.Location
@@ -76,3 +78,131 @@ Invoke-LiveTestScenario -Name "Delete key vault" -Description "Test deleting key
76
78
# purge deleted vault
77
79
Remove-AzKeyVault - VaultName $vaultName - Location $vaultLocation - InRemovedState - Force
78
80
}
81
+
82
+ Invoke-LiveTestScenario - Name " Create key vault secret" - Description " Test creating a key vault secret" - ScenarioScript `
83
+ {
84
+ param ($rg )
85
+
86
+ $rgName = $rg.ResourceGroupName
87
+ $vaultName = New-LiveTestResourceName
88
+ $vaultLocation = " eastus"
89
+ $secretName = New-LiveTestResourceName
90
+
91
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
92
+ $sp = Get-AzADServicePrincipal - ApplicationId (Get-AzContext ).Account.Id
93
+ $objectId = $sp.Id
94
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName - ObjectId $objectId - PermissionsToSecrets get, set, list
95
+
96
+ $secretValue = ConvertTo-SecureString - String ' Password' - AsPlainText - Force
97
+ Set-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - SecretValue $secretValue
98
+
99
+ $actual = Get-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - ErrorAction SilentlyContinue
100
+ Assert-NotNull $actual
101
+ Assert-AreEqual $vaultName $actual.VaultName
102
+ Assert-AreEqual $secretName $actual.Name
103
+ }
104
+
105
+ Invoke-LiveTestScenario - Name " Create key vault secret with multi-versions" - Description " Test creating a key vault secret with multiple versions" - ScenarioScript `
106
+ {
107
+ param ($rg )
108
+
109
+ $rgName = $rg.ResourceGroupName
110
+ $vaultName = New-LiveTestResourceName
111
+ $vaultLocation = " westus"
112
+ $secretName = New-LiveTestResourceName
113
+
114
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
115
+ $sp = Get-AzADServicePrincipal - ApplicationId (Get-AzContext ).Account.Id
116
+ $objectId = $sp.Id
117
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName - ObjectId $objectId - PermissionsToSecrets get, set, list
118
+
119
+ $secretValue = ConvertTo-SecureString - String ' Password' - AsPlainText - Force
120
+ Set-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - SecretValue $secretValue
121
+ Set-AzKeyVaultSecret - VaultName $vaultName - name $secretName - SecretValue $secretValue
122
+
123
+ $actual = Get-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - IncludeVersions - ErrorAction SilentlyContinue
124
+ Assert-NotNull $actual
125
+ Assert-AreEqual 2 $actual.Count
126
+ }
127
+
128
+ Invoke-LiveTestScenario - Name " Update key vault secret attributes" - Description " Test updating attributes of a key vault secret" - ScenarioScript `
129
+ {
130
+ param ($rg )
131
+
132
+ $rgName = $rg.ResourceGroupName
133
+ $vaultName = New-LiveTestResourceName
134
+ $vaultLocation = " westus"
135
+ $secretName = New-LiveTestResourceName
136
+
137
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
138
+ $sp = Get-AzADServicePrincipal - ApplicationId (Get-AzContext ).Account.Id
139
+ $objectId = $sp.Id
140
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName - ObjectId $objectId - PermissionsToSecrets get, set, list
141
+
142
+ $secretValue = ConvertTo-SecureString - String ' Password' - AsPlainText - Force
143
+ Set-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - SecretValue $secretValue
144
+
145
+ $exp = (Get-Date ).AddYears(1 ).ToUniversalTime()
146
+ $nbf = (Get-Date ).ToUniversalTime()
147
+ $ctp = " text"
148
+ $tags = @ { " Severity" = " low" }
149
+ Update-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - NotBefore $nbf - Expires $exp - ContentType $ctp - Tag $tags - Enable $true
150
+
151
+ $actual = Get-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - ErrorAction SilentlyContinue
152
+ Assert-NotNull $actual
153
+ Assert-AreEqual $true $actual.Enabled
154
+ Assert-AreEqual $ctp $actual.ContentType
155
+ }
156
+
157
+ Invoke-LiveTestScenario - Name " Remove key vault secret" - Description " Test removing a key vault secret" - ScenarioScript `
158
+ {
159
+ param ($rg )
160
+
161
+ $rgName = $rg.ResourceGroupName
162
+ $vaultName = New-LiveTestResourceName
163
+ $vaultLocation = " eastus"
164
+ $secretName = New-LiveTestResourceName
165
+
166
+ New-AzKeyVault - VaultName $vaultName - ResourceGroupName $rgName - Location $vaultLocation
167
+ $sp = Get-AzADServicePrincipal - ApplicationId (Get-AzContext ).Account.Id
168
+ $objectId = $sp.Id
169
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName - ObjectId $objectId - PermissionsToSecrets get, set, list, delete
170
+
171
+ $secretValue = ConvertTo-SecureString - String ' Password' - AsPlainText - Force
172
+ Set-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - SecretValue $secretValue
173
+
174
+ Remove-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - Force
175
+
176
+ $actual = Get-AzKeyVaultSecret - VaultName $vaultName - Name $secretName - ErrorAction SilentlyContinue
177
+ Assert-Null $actual
178
+ }
179
+
180
+ Invoke-LiveTestScenario - Name " Backup and restore key vault secret" - Description " Test backing up and restoring a key vault secret" - ScenarioScript `
181
+ {
182
+ param ($rg )
183
+
184
+ $rgName = $rg.ResourceGroupName
185
+ $vaultName1 = New-LiveTestResourceName
186
+ $vaultName2 = New-LiveTestResourceName
187
+ $vaultLocation = " eastus"
188
+ $secretName = New-LiveTestResourceName
189
+
190
+ New-AzKeyVault - VaultName $vaultName1 - ResourceGroupName $rgName - Location $vaultLocation
191
+ New-AzKeyVault - VaultName $vaultName2 - ResourceGroupName $rgName - Location $vaultLocation
192
+ $sp = Get-AzADServicePrincipal - ApplicationId (Get-AzContext ).Account.Id
193
+ $objectId = $sp.Id
194
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName1 - ObjectId $objectId - PermissionsToSecrets get, set, list, backup
195
+ Set-AzKeyVaultAccessPolicy - VaultName $vaultName2 - ObjectId $objectId - PermissionsToSecrets get, set, list, restore
196
+
197
+ $secretValue = ConvertTo-SecureString - String ' Password' - AsPlainText - Force
198
+ Set-AzKeyVaultSecret - VaultName $vaultName1 - Name $secretName - SecretValue $secretValue
199
+
200
+ Backup-AzKeyVaultSecret - VaultName $vaultName1 - Name $secretName - OutputFile " SecretBackup.blob" - Force
201
+
202
+ Restore-AzKeyVaultSecret - VaultName $vaultName2 - InputFile " SecretBackup.blob"
203
+
204
+ $actual = Get-AzKeyVaultSecret - VaultName $vaultName2 - Name $secretName - ErrorAction SilentlyContinue
205
+ Assert-NotNull $actual
206
+ Assert-AreEqual $vaultName2 $actual.VaultName
207
+ Assert-AreEqual $secretName $actual.Name
208
+ }
0 commit comments