17
17
. SYNOPSIS
18
18
Tests EventHub Namespace Create List Remove operations.
19
19
#>
20
+
20
21
function ServiceBusTests {
21
22
# Setup
22
23
$location = " East US 2"
@@ -237,4 +238,117 @@ function ServiceBusNameSpaceAuthTests {
237
238
Write-Debug " Delete namespaces"
238
239
Remove-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespaceName
239
240
241
+ }
242
+
243
+ function MSITest {
244
+ $resourceGroupName = " PS-Testing"
245
+ $msi1 = " PS-Testing-MSI1"
246
+ $msi2 = " PS-Testing-MSI2"
247
+ $msi3 = " PS-Testing-MSI3"
248
+ $namespace1 = getAssetName " Namespace1-"
249
+ $namespace2 = getAssetName " Namespace2-"
250
+ try {
251
+
252
+ $uad1 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi1
253
+ $uad2 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi2
254
+ $uad3 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi3
255
+
256
+ $namespace = New-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - SkuName Standard - Location northeurope
257
+ Assert-AreEqual $namespace.Name $namespace1
258
+ Assert-AreEqual $namespace.Sku.Name " Standard"
259
+
260
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - IdentityType " SystemAssigned"
261
+ Assert-AreEqual $namespace.Name $namespace1
262
+ Assert-AreEqual $namespace.Sku.Name " Standard"
263
+ Assert-AreEqual $namespace.IdentityType " SystemAssigned"
264
+
265
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - IdentityType " UserAssigned" - IdentityId $uad1.Id , $uad2.Id
266
+ Assert-AreEqual $namespace.Name $namespace1
267
+ Assert-AreEqual $namespace.Sku.Name " Standard"
268
+ Assert-AreEqual $namespace.IdentityType " UserAssigned"
269
+ Assert-True { $namespace.IdentityId.Count -eq 2 }
270
+
271
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - IdentityType " SystemAssigned, UserAssigned" - IdentityId $uad1.Id , $uad2.Id
272
+ Assert-AreEqual $namespace.Name $namespace1
273
+ Assert-AreEqual $namespace.Sku.Name " Standard"
274
+ Assert-AreEqual $namespace.IdentityType " SystemAssignedUserAssigned"
275
+ Assert-True { $namespace.IdentityId.Count -eq 2 }
276
+
277
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - IdentityType " None"
278
+ Assert-AreEqual $namespace.Name $namespace1
279
+ Assert-AreEqual $namespace.Sku.Name " Standard"
280
+ Assert-Null $namespace.Identity
281
+ }
282
+ finally {
283
+ Remove-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1
284
+ }
285
+ }
286
+
287
+ function EncryptionTest {
288
+ try {
289
+ $resourceGroupName = " PS-Testing"
290
+ $msi1 = " PS-Testing-MSI1"
291
+ $msi2 = " PS-Testing-MSI2"
292
+ $msi3 = " PS-Testing-MSI3"
293
+ $kv1 = " PS-Testing-kv1"
294
+ $kv2 = " PS-Testing-kv2"
295
+ $kv1uri = " https://ps-testing-kv1.vault.azure.net/"
296
+ $kv2uri = " https://ps-testing-kv2.vault.azure.net"
297
+ $namespace1 = getAssetName " Namespace1-"
298
+ $namespace2 = getAssetName " Namespace2-"
299
+
300
+ $uad1 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi1
301
+ $uad2 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi2
302
+ $uad3 = Get-AzUserAssignedIdentity - ResourceGroupName $resourceGroupName - Name $msi3
303
+
304
+ $namespace = New-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace2 - SkuName Premium - Location northeurope - IdentityType SystemAssigned
305
+ Assert-AreEqual $namespace.Name $namespace2
306
+ Assert-AreEqual $namespace.Sku.Name " Premium"
307
+ Assert-AreEqual $namespace.IdentityType " SystemAssigned"
308
+
309
+ Set-AzKeyVaultAccessPolicy - VaultName $kv1 - ObjectId $namespace.Identity.PrincipalId - PermissionsToKeys wrapkey, unwrapkey, get - BypassObjectIdValidation
310
+
311
+ $ec1 = New-AzServiceBusEncryptionConfig - KeyName key1 - KeyVaultUri $kv1uri
312
+ $ec2 = New-AzServiceBusEncryptionConfig - KeyName key2 - KeyVaultUri $kv1uri
313
+
314
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace2 - EncryptionConfig $ec1 , $ec2
315
+ Assert-AreEqual $namespace.Name $namespace2
316
+ Assert-AreEqual $namespace.Sku.Name " Premium"
317
+ Assert-AreEqual $namespace.IdentityType " SystemAssigned"
318
+ Assert-True { $namespace.EncryptionConfig.Count -eq 2 }
319
+
320
+
321
+ $ec1 = New-AzServiceBusEncryptionConfig - KeyName key1 - KeyVaultUri $kv1uri - UserAssignedIdentity $uad1.Id
322
+ $ec2 = New-AzServiceBusEncryptionConfig - KeyName key2 - KeyVaultUri $kv1uri - UserAssignedIdentity $uad1.Id
323
+
324
+ $namespace = New-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - SkuName Premium - Location northeurope - IdentityType UserAssigned - IdentityId $uad1.Id , $uad2.Id - EncryptionConfig $ec1 , $ec2
325
+ Assert-AreEqual $namespace.Name $namespace1
326
+ Assert-AreEqual $namespace.Sku.Name " Premium"
327
+ Assert-AreEqual $namespace.IdentityType " UserAssigned"
328
+ Assert-True { $namespace.IdentityId.Count -eq 2 }
329
+ Assert-True { $namespace.EncryptionConfig.Count -eq 2 }
330
+
331
+ $ec3 = New-AzServiceBusEncryptionConfig - KeyName key1 - KeyVaultUri $kv2uri - UserAssignedIdentity $uad1.id
332
+ $namespace.EncryptionConfig += $ec3
333
+
334
+ $namespace = Set-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1 - EncryptionConfig $namespace.EncryptionConfig - Location northeurope
335
+ Assert-AreEqual $namespace.Name $namespace1
336
+ Assert-AreEqual $namespace.Sku.Name " Premium"
337
+ Assert-AreEqual $namespace.IdentityType " UserAssigned"
338
+ Assert-True { $namespace.IdentityId.Count -eq 2 }
339
+ Assert-True { $namespace.EncryptionConfig.Count -eq 3 }
340
+
341
+ $namespace = Get-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1
342
+ Assert-AreEqual $namespace.Name $namespace1
343
+ Assert-AreEqual $namespace.Sku.Name " Premium"
344
+ Assert-AreEqual $namespace.IdentityType " UserAssigned"
345
+ Assert-True { $namespace.IdentityId.Count -eq 2 }
346
+ Assert-True { $namespace.EncryptionConfig.Count -eq 3 }
347
+
348
+ }
349
+
350
+ finally {
351
+ Remove-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace1
352
+ Remove-AzServiceBusNamespace - ResourceGroupName $resourceGroupName - Name $namespace2
353
+ }
240
354
}
0 commit comments