Skip to content

Commit f1df0b4

Browse files
committed
Merge pull request #5 from Azure/dev
..
2 parents b99edf4 + e3c5862 commit f1df0b4

35 files changed

+3002
-1457
lines changed

src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -167,70 +167,76 @@
167167
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
168168
</None>
169169
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestCreateDeleteVaultWithPiping.json">
170-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
170+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
171171
</None>
172172
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestCreateNewPremiumVaultEnabledForDeployment.json">
173-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
173+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
174174
</None>
175175
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestCreateNewVault.json">
176-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
176+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
177177
</None>
178178
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestCreateVaultInUnknownResGrpFails.json">
179-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
179+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
180180
</None>
181181
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestCreateVaultPositionalParams.json">
182-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
182+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
183183
</None>
184184
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestDeleteUnknownVaultFails.json">
185-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
185+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
186186
</None>
187187
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestDeleteVaultByName.json">
188-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
188+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
189189
</None>
190190
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestGetUnknownVaultFails.json">
191-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
191+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
192192
</None>
193193
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestGetVaultByName.json">
194-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
194+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
195195
</None>
196196
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestGetVaultByNameAndResourceGroup.json">
197-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
197+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
198198
</None>
199199
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestGetVaultByNameAndResourceGroupPositionalParams.json">
200-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
200+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
201201
</None>
202202
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestGetVaultFromUnknownResourceGroupFails.json">
203-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
203+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
204204
</None>
205205
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestListAllVaultsInSubscription.json">
206-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
206+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
207207
</None>
208208
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestListVaultsByResourceGroup.json">
209-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
209+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
210210
</None>
211211
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestListVaultsByTag.json">
212-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
212+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
213213
</None>
214214
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestListVaultsByUnknownResourceGroupFails.json">
215-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
215+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
216216
</None>
217217
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestModifyAccessPolicy.json">
218-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
218+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
219+
</None>
220+
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestModifyAccessPolicyEnabledForDeployment.json">
221+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
219222
</None>
220223
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestRecreateVaultFails.json">
221-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
224+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
222225
</None>
223226
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestRemoveNonExistentAccessPolicyDoesNotThrow.json">
224-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
227+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
225228
</None>
226-
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestSetAccessPolicyNegativeCases.json">
227-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
229+
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestModifyAccessPolicyNegativeCases.json">
230+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
231+
</None>
232+
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestSetRemoveAccessPolicyByObjectId.json">
233+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
228234
</None>
229235
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestSetRemoveAccessPolicyBySPN.json">
230-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
236+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
231237
</None>
232238
<None Include="SessionRecords\Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests.KeyVaultManagementTests\TestSetRemoveAccessPolicyByUPN.json">
233-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
239+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
234240
</None>
235241
</ItemGroup>
236242
<ItemGroup>

src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.cs

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,28 @@ public void TestDeleteUnknownVaultFails()
282282
#endregion
283283

284284
#region Set-AzureKeyVaultAccessPolicy & Remove-AzureKeyVaultAccessPolicy
285+
286+
[Fact]
287+
[Trait(Category.AcceptanceType, Category.CheckIn)]
288+
public void TestSetRemoveAccessPolicyByObjectId()
289+
{
290+
string upn = "";
291+
data.ResetPreCreatedVault();
292+
KeyVaultManagementController.NewInstance.RunPsTestWorkflow(
293+
() =>
294+
{
295+
return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyByObjectId", data.preCreatedVault, data.resourceGroupName, upn) };
296+
},
297+
(env) =>
298+
{
299+
Initialize();
300+
upn = GetUser(env.GetTestEnvironment());
301+
},
302+
null,
303+
TestUtilities.GetCallingClass(),
304+
TestUtilities.GetCurrentMethodName()
305+
);
306+
}
285307

286308
[Fact]
287309
[Trait(Category.AcceptanceType, Category.CheckIn)]
@@ -367,15 +389,39 @@ public void TestModifyAccessPolicy()
367389

368390
[Fact]
369391
[Trait(Category.AcceptanceType, Category.CheckIn)]
370-
public void TestSetAccessPolicyNegativeCases()
392+
public void TestModifyAccessPolicyEnabledForDeployment()
393+
{
394+
string upn = "";
395+
396+
data.ResetPreCreatedVault();
397+
KeyVaultManagementController.NewInstance.RunPsTestWorkflow(
398+
() =>
399+
{
400+
return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyEnabledForDeployment", data.preCreatedVault, data.resourceGroupName, upn) };
401+
},
402+
(env) =>
403+
{
404+
Initialize();
405+
upn = GetUser(env.GetTestEnvironment());
406+
},
407+
null,
408+
TestUtilities.GetCallingClass(),
409+
TestUtilities.GetCurrentMethodName()
410+
);
411+
}
412+
413+
414+
[Fact]
415+
[Trait(Category.AcceptanceType, Category.CheckIn)]
416+
public void TestModifyAccessPolicyNegativeCases()
371417
{
372418
string upn = "";
373419

374420
data.ResetPreCreatedVault();
375421
KeyVaultManagementController.NewInstance.RunPsTestWorkflow(
376422
() =>
377423
{
378-
return new[] { string.Format("{0} {1} {2} {3}", "Test-SetAccessPolicyNegativeCases", data.preCreatedVault, data.resourceGroupName, upn) };
424+
return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyNegativeCases", data.preCreatedVault, data.resourceGroupName, upn) };
379425
},
380426
(env) =>
381427
{

src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.ps1

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,38 @@ function Test-ModifyAccessPolicy
330330
Assert-AreEqual 0 $vault.AccessPolicies.Count
331331
}
332332

333-
function Test-SetAccessPolicyNegativeCases
333+
function Test-ModifyAccessPolicyEnabledForDeployment
334+
{
335+
Param($existingVaultName, $rgName, $upn)
336+
$vault = Get-AzureKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName
337+
Assert-NotNull $vault
338+
Assert-AreEqual 0 $vault.AccessPolicies.Count
339+
Assert-AreEqual $false $vault.EnabledForDeployment
340+
341+
# Set and Remove EnabledForDeployment, without any other permissions
342+
$vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru
343+
Assert-NotNull $vault
344+
Assert-AreEqual 0 $vault.AccessPolicies.Count
345+
Assert-AreEqual $true $vault.EnabledForDeployment
346+
347+
$vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru
348+
Assert-NotNull $vault
349+
Assert-AreEqual 0 $vault.AccessPolicies.Count
350+
Assert-AreEqual $false $vault.EnabledForDeployment
351+
352+
# Set and Remove EnabledForDeployment, with other permissions
353+
$PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore")
354+
$PermToSecrets = @("get", "list", "set", "delete")
355+
$vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -UPN $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru
356+
CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets
357+
Assert-AreEqual $true $vault.EnabledForDeployment
358+
359+
$vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -ObjectId $vault.AccessPolicies[0].ObjectId -PassThru
360+
Assert-AreEqual 0 $vault.AccessPolicies.Count
361+
Assert-AreEqual $false $vault.EnabledForDeployment
362+
}
363+
364+
function Test-ModifyAccessPolicyNegativeCases
334365
{
335366
Param($existingVaultName, $rgName, $upn)
336367

@@ -340,6 +371,15 @@ function Test-SetAccessPolicyNegativeCases
340371

341372
# random string in perms
342373
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToSecrets blah, get }
374+
375+
# invalid set of params
376+
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName }
377+
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName }
378+
Assert-Throws { Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName }
379+
Assert-Throws { Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName }
380+
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn }
381+
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -SPN $upn }
382+
Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $upn }
343383
}
344384

345385
function Test-RemoveNonExistentAccessPolicyDoesNotThrow

src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultTestFixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ private VaultGetResponse CreateVault(KeyVaultManagementClient mgmtClient, string
8787
Tags = new Dictionary<string, string> { { tagName, tagValue } },
8888
Properties = new VaultProperties
8989
{
90-
EnabledForDeployment = true,
90+
EnabledForDeployment = false,
9191
Sku = new Sku { Family = "A", Name = "Premium" },
9292
TenantId = Guid.Parse(tenantId),
9393
VaultUri = "",
@@ -122,7 +122,7 @@ public void ResetPreCreatedVault()
122122
Tags = new Dictionary<string, string> { { tagName, tagValue } },
123123
Properties = new VaultProperties
124124
{
125-
EnabledForDeployment = true,
125+
EnabledForDeployment = false,
126126
Sku = new Sku { Family = "A", Name = "Premium" },
127127
TenantId = tenantId,
128128
VaultUri = "",

0 commit comments

Comments
 (0)