Skip to content

Commit 4a1f1e4

Browse files
[ServiceBus]: Adding MinTLS and SupportsScaling (#19025)
* Adding minTLS and SupportsScaling * Pushing Test Recording * ChangeLog updated * XML fixes * Help file fixes * Addressing comments * Addressing comments * Addressing comments
1 parent 2a974b6 commit 4a1f1e4

File tree

80 files changed

+13079
-14444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+13079
-14444
lines changed

src/EventHub/EventHub.Test/ScenarioTests/ClusterTest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,12 @@ public void ClusterTestCURD()
3030
{
3131
TestRunner.RunTestScript("ClusterTest");
3232
}
33+
34+
[Fact]
35+
[Trait(Category.AcceptanceType, Category.CheckIn)]
36+
public void SelfServeClusterTestCURD()
37+
{
38+
TestRunner.RunTestScript("SelfServeCluster");
39+
}
3340
}
3441
}

src/EventHub/EventHub.Test/ScenarioTests/ClusterTest.ps1

Lines changed: 65 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@
1717
Tests Eventhub Cluster operations.
1818
#>
1919

20+
function assertClusterProperties {
21+
22+
param([Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes]$expectedCluster,[Microsoft.Azure.Commands.EventHub.Models.PSEventHubClusterAttributes]$cluster)
23+
24+
Assert-AreEqual $expectedCluster.Name $cluster.Name
25+
Assert-AreEqual $expectedCluster.Tags.Count $cluster.Tags.Count
26+
Assert-AreEqual $expectedCluster.Location $cluster.Location
27+
Assert-AreEqual $expectedCluster.Capacity $cluster.Capacity
28+
Assert-AreEqual $expectedCluster.Sku.Capacity $cluster.Sku.Capacity
29+
}
30+
2031
function ClusterTest
2132
{
2233
# Setup
@@ -26,21 +37,64 @@ function ClusterTest
2637

2738
Write-Debug " Create resource group"
2839
Write-Debug " Resource Group Name : $resourceGroupName"
29-
$ResultResourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Force
40+
New-AzResourceGroup -Name $resourceGroupName -Location $location -Force
3041

3142
Write-Debug " Create a Cluster in South Central US"
3243
Write-Debug "Cluster Name : $clusterName"
33-
$result = New-AzEventHubCluster -ResourceGroup $resourceGroupName -Name $clusterName -Location $location -Capacity "1"
34-
Assert-AreEqual $result.Name $clusterName "Created Cluster Name matches"
35-
36-
# Get Cluster
44+
$expectedCluster = New-AzEventHubCluster -ResourceGroupName $resourceGroupName -Name $clusterName -Location $location
45+
Assert-AreEqual $expectedCluster.Name $clusterName
46+
Assert-AreEqual $expectedCluster.Location $location
47+
Assert-AreEqual $expectedCluster.Capacity 1
48+
Assert-AreEqual 0 $expectedCluster.Tags.Count
49+
3750
Write-Debug "Get the created cluster within the resource group"
38-
$getResponse = Get-AzEventHubCluster -ResourceGroup $resourceGroupName -Name $clusterName
39-
40-
Assert-AreEqual $getResponse.Name $clusterName "Cluster get : Cluster name matches"
41-
Assert-AreEqual $getResponse.Sku.Capacity "1" "Cluster get : Capacity matches"
51+
$cluster = Get-AzEventHubCluster -ResourceGroupName $resourceGroupName -Name $clusterName
52+
assertClusterProperties $expectedCluster $cluster
4253

4354
#Update Cluster
44-
$resultUpdate = Set-AzEventHubCluster -ResourceGroup $resourceGroupName -Name $clusterName -Location $location -Tag @{"ClusterTag1" = "Tag3"; "ClusterTag2" = "Tag4";}
45-
Assert-AreEqual $resultUpdate.Name $clusterName "Updated Cluster Name matches"
55+
$cluster = Set-AzEventHubCluster -ResourceGroupName $resourceGroupName -Name $clusterName -Location $location -Tag @{"ClusterTag1" = "Tag3"; "ClusterTag2" = "Tag4";}
56+
$expectedCluster.Tags = $cluster.Tags
57+
assertClusterProperties $expectedCluster $cluster
58+
}
59+
60+
function SelfServeCluster{
61+
# Setup
62+
$location = "southcentralus"
63+
$locationForAssert = "South Central US"
64+
$clusterName = getAssetName "Eventhub-Cluster-"
65+
$resourceGroupName = getAssetName "RSG-Cluster"
66+
$namespaceName = getAssetName "ClusterNamespace-"
67+
68+
New-AzResourceGroup -Name $resourceGroupName -Location $location -Force
69+
70+
$expectedCluster = New-AzEventHubCluster -ResourceGroup $resourceGroupName -Name $clusterName -Location $location -Capacity 2 -SupportsScaling
71+
Assert-AreEqual $expectedCluster.Name $clusterName
72+
Assert-True { $expectedCluster.SupportsScaling }
73+
Assert-AreEqual $expectedCluster.Capacity 2
74+
Assert-AreEqual $location $expectedCluster.Location
75+
76+
$cluster = Get-AzEventHubCluster -ResourceGroup $resourceGroupName -Name $clusterName
77+
assertClusterProperties $expectedCluster $cluster
78+
79+
$cluster.Capacity = 3
80+
$cluster = Set-AzEventHubCluster -InputObject $cluster
81+
Assert-AreEqual 3 $cluster.Capacity
82+
$expectedCluster.Capacity = $cluster.Capacity
83+
$expectedCluster.Sku.Capacity = $cluster.Capacity
84+
assertClusterProperties $expectedCluster $cluster
85+
86+
$cluster = Set-AzEventHubCluster -ResourceId $expectedCluster.Id -Tag @{k1='v1'; k2='v2'}
87+
$expectedCluster.Tags = $cluster.Tags
88+
assertClusterProperties $expectedCluster $cluster
89+
90+
$cluster = Set-AzEventHubCluster -ResourceGroupName $resourceGroupName -Name $clusterName -Capacity 1
91+
$expectedCluster.Capacity = 1
92+
$expectedCluster.Sku.Capacity = 1
93+
assertClusterProperties $expectedCluster $cluster
94+
95+
96+
$namespace = New-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -ClusterARMId $expectedCluster.Id -SkuName Standard -Location $location
97+
Assert-NotNull $namespace.ClusterArmId
98+
99+
46100
}

src/EventHub/EventHub.Test/ScenarioTests/NamespaceTests.ps1

Lines changed: 119 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -188,119 +188,143 @@ function NamespaceAuthTests
188188
Tests New Parameter for EventHub Namespace Create List Remove operations.
189189
#>
190190

191+
function assertNamespaceUpdates{
192+
param([Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes]$expectedNamespace,[Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes]$namespace)
193+
194+
Assert-AreEqual $expectedNamespace.Sku.Name $namespace.Sku.Name
195+
Assert-AreEqual $expectedNamespace.Sku.Tier $namespace.Sku.Tier
196+
Assert-AreEqual $expectedNamespace.Sku.Capacity $namespace.Sku.Capacity
197+
Assert-AreEqual $expectedNamespace.Name $namespace.Name
198+
Assert-AreEqual $expectedNamespace.MaximumThroughputUnits $namespace.MaximumThroughputUnits
199+
Assert-AreEqual $expectedNamespace.MinimumTlsVersion $namespace.MinimumTlsVersion
200+
Assert-AreEqual $expectedNamespace.Location $namespace.Location
201+
Assert-AreEqual $expectedNamespace.IsAutoInflateEnabled $namespace.IsAutoInflateEnabled
202+
Assert-AreEqual $expectedNamespace.KafkaEnabled $namespace.KafkaEnabled
203+
Assert-AreEqual $expectedNamespace.ZoneRedundant $namespace.ZoneRedundant
204+
Assert-AreEqual $expectedNamespace.DisableLocalAuth $namespace.DisableLocalAuth
205+
Assert-AreEqual $expectedNamespace.Tags.Count $namespace.Tags.Count
206+
}
207+
208+
function assertStandardNamespace{
209+
param([Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes]$namespace)
210+
211+
Assert-AreEqual 1 $namespace.Sku.Capacity
212+
Assert-AreEqual 'Standard' $namespace.Sku.Name
213+
Assert-AreEqual 0 $namespace.MaximumThroughputUnits
214+
Assert-AreEqual '1.2' $namespace.MinimumTlsVersion
215+
Assert-AreEqual 'East US' $namespace.Location
216+
Assert-False { $namespace.IsAutoInflateEnabled }
217+
Assert-False { $namespace.ZoneRedundant }
218+
Assert-False { $namespace.DisableLocalAuth }
219+
Assert-True { $namespace.KafkaEnabled }
220+
}
221+
222+
function assertPremiumNamespace{
223+
param([Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes]$namespace)
224+
225+
Assert-AreEqual 1 $namespace.Sku.Capacity
226+
Assert-AreEqual 'Premium' $namespace.Sku.Name
227+
Assert-AreEqual 0 $namespace.MaximumThroughputUnits
228+
Assert-AreEqual '1.2' $namespace.MinimumTlsVersion
229+
Assert-AreEqual 'East US' $namespace.Location
230+
Assert-False { $namespace.IsAutoInflateEnabled }
231+
Assert-True { $namespace.ZoneRedundant }
232+
Assert-False { $namespace.DisableLocalAuth }
233+
Assert-True { $namespace.KafkaEnabled }
234+
}
235+
191236
function NamespaceTests
192237
{
193-
# Setup
194-
$location = "eastus"
195-
$locationKafka = "eastus"
196-
$namespaceName = getAssetName "Eventhub-Namespace1-"
197-
$namespaceName2 = getAssetName "Eventhub-Namespace2-"
198-
$namespaceName3 = getAssetName "Eventhub-Namespace3-"
199-
$namespace4 = getAssetName "Eventhub-Namespace4-"
200-
$resourceGroupName = getAssetName "RGName1-"
201-
$secondResourceGroup = getAssetName "RGName2-"
202-
$namespaceNameKafka = getAssetName "Eh-NamespaceKafka-"
238+
try{
239+
240+
# Setup
241+
$location = "eastus"
242+
$namespaceName = getAssetName "Eventhub-Namespace1-"
243+
$namespaceName2 = getAssetName "Eventhub-Namespace2-"
244+
$namespaceName3 = getAssetName "Eventhub-Namespace3-"
245+
$resourceGroupName = getAssetName "RGName1-"
203246

204247

205-
Write-Debug "Create resource group"
206-
Write-Debug "ResourceGroup name : $resourceGroupName"
207-
New-AzResourceGroup -Name $resourceGroupName -Location $location -Force
248+
Write-Debug "Create resource group"
249+
Write-Debug "ResourceGroup name : $resourceGroupName"
250+
New-AzResourceGroup -Name $resourceGroupName -Location $location -Force
208251

209-
Write-Debug "Create resource group"
210-
Write-Debug "ResourceGroup name : $secondResourceGroup"
211-
New-AzResourceGroup -Name $secondResourceGroup -Location $location -Force
252+
# Check Namespace Name Availability
212253

213-
# Check Namespace Name Availability
254+
$checkNameResult = Test-AzEventHubName -Namespace $namespaceName
255+
Assert-True {$checkNameResult.NameAvailable}
214256

215-
$checkNameResult = Test-AzEventHubName -Namespace $namespaceName
216-
Assert-True {$checkNameResult.NameAvailable}
257+
$namespace = New-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -SkuCapacity 10 -MaximumThroughputUnits 18 -SkuName Standard -Location $location -ZoneRedundant -Tag @{k1='v1'; k2='v2'} -EnableAutoInflate -DisableLocalAuth -EnableKafka -MinimumTlsVersion 1.1
258+
259+
Assert-AreEqual 10 $namespace.Sku.Capacity
260+
Assert-AreEqual 'Standard' $namespace.Sku.Name
261+
Assert-AreEqual 18 $namespace.MaximumThroughputUnits
262+
Assert-AreEqual '1.1' $namespace.MinimumTlsVersion
263+
Assert-AreEqual 'East US' $namespace.Location
264+
Assert-True { $namespace.IsAutoInflateEnabled }
265+
Assert-True { $namespace.ZoneRedundant }
266+
Assert-True { $namespace.DisableLocalAuth }
267+
Assert-True { $namespace.KafkaEnabled }
217268

218-
$result1 = New-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespace4 -Location northeurope -SkuName Standard
219-
Assert-AreEqual $result1.Name $namespace4
220-
Assert-AreEqual $result1.Location "North Europe"
269+
$expectedNamespace = $namespace
221270

222-
$result1 = Set-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespace4 -EnableAutoInflate -MaximumThroughputUnits 12
223-
Assert-AreEqual $result1.Name $namespace4
224-
Assert-AreEqual $result1.Location "North Europe"
225-
Assert-True {$result1.IsAutoInflateEnabled}
226-
Assert-True {$result1.KafkaEnabled}
227-
Assert-AreEqual $result1.MaximumThroughputUnits 12
271+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -EnableAutoInflate:$false -MaximumThroughputUnits 0
272+
$expectedNamespace.IsAutoInflateEnabled = $false
273+
$expectedNamespace.MaximumThroughputUnits = 0
274+
assertNamespaceUpdates $expectedNamespace $namespace
228275

229-
$result1 = Set-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespace4 -EnableKafka
230-
Assert-AreEqual $result1.Name $namespace4
231-
Assert-AreEqual $result1.Location "North Europe"
232-
Assert-True {$result1.IsAutoInflateEnabled}
233-
Assert-True {$result1.KafkaEnabled}
234-
Assert-AreEqual $result1.MaximumThroughputUnits 12
276+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -EnableAutoInflate:$true -MaximumThroughputUnits 18
277+
$expectedNamespace.IsAutoInflateEnabled = $true
278+
$expectedNamespace.MaximumThroughputUnits = 18
279+
assertNamespaceUpdates $expectedNamespace $namespace
235280

281+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -SkuCapacity 12
282+
$expectedNamespace.Sku.Capacity = 12
283+
assertNamespaceUpdates $expectedNamespace $namespace
236284

237-
Write-Debug " Create new Eventhub Kafka namespace"
238-
Write-Debug "Kafka Namespace name : $namespaceNameKafka"
239-
$resultkafka = New-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceNameKafka -Location $locationKafka -EnableKafka -DisableLocalAuth
240-
Assert-AreEqual $resultkafka.Name $namespaceNameKafka "Namespace created earlier is not found."
241-
Assert-True {$resultkafka.KafkaEnabled}
242-
Assert-True {$resultkafka.DisableLocalAuth}
243-
244-
Write-Debug " Create new eventHub namespace"
245-
Write-Debug "NamespaceName : $namespaceName"
246-
$result = New-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName -Location $location -SkuName "Standard" -SkuCapacity "1" -EnableAutoInflate -MaximumThroughputUnits 10
247-
Assert-AreEqual $result.ResourceGroup $resourceGroupName "Namespace create : ResourceGroup name matches"
248-
Assert-AreEqual $result.ResourceGroupName $resourceGroupName "Namespace create : ResourceGroupName name matches"
285+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -MaximumThroughputUnits 25
286+
$expectedNamespace.MaximumThroughputUnits = 25
287+
assertNamespaceUpdates $expectedNamespace $namespace
249288

250-
Write-Debug " Create new eventHub premium namespace"
251-
Write-Debug "NamespaceName : $namespaceName3"
252-
$result = New-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName3 -Location $location -SkuName "Premium" -DisableLocalAuth
253-
Assert-AreEqual $result.ResourceGroup $resourceGroupName "Namespace create : ResourceGroup name matches"
254-
Assert-AreEqual $result.ResourceGroupName $resourceGroupName "Namespace create : ResourceGroupName name matches"
255-
Assert-True { $result.DisableLocalAuth }
256-
Assert-AreEqual $result.Sku.Name "Premium" "Namespace Premium"
289+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -MinimumTlsVersion 1.0
290+
$expectedNamespace.MinimumTlsVersion = '1.0'
291+
assertNamespaceUpdates $expectedNamespace $namespace
257292

293+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -MinimumTlsVersion 1.2
294+
$expectedNamespace.MinimumTlsVersion = '1.2'
295+
assertNamespaceUpdates $expectedNamespace $namespace
258296

259-
$result = Set-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName3 -IdentityType "SystemAssigned" -Location $location
260-
Assert-AreEqual $result.ResourceGroup $resourceGroupName "Namespace create : ResourceGroup name matches"
261-
Assert-AreEqual $result.ResourceGroupName $resourceGroupName "Namespace create : ResourceGroupName name matches"
262-
Assert-True { $result.DisableLocalAuth }
263-
Assert-True { $result.Identity }
264-
Assert-AreEqual $result.Sku.Name "Premium" "Namespace Premium"
265-
266-
# Assert
267-
Assert-AreEqual $result.ProvisioningState "Succeeded"
297+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -DisableLocalAuth:$false
298+
$expectedNamespace.DisableLocalAuth = $false
299+
assertNamespaceUpdates $expectedNamespace $namespace
268300

269-
Write-Debug "Get the created namespace within the resource group"
270-
$createdNamespace = Get-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName
271-
Assert-AreEqual $createdNamespace.ResourceGroup $resourceGroupName "Namespace get : ResourceGroup name matches"
272-
Assert-AreEqual $createdNamespace.ResourceGroupName $resourceGroupName "Namespace get: ResourceGroupName name matches"
301+
$namespace = Set-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName -DisableLocalAuth
302+
$expectedNamespace.DisableLocalAuth = $true
303+
assertNamespaceUpdates $expectedNamespace $namespace
273304

274-
Assert-AreEqual $createdNamespace.Name $namespaceName "Namespace created earlier is not found."
275-
276-
Write-Debug "Namespace name : $namespaceName2"
277-
$result = New-AzEventHubNamespace -ResourceGroup $secondResourceGroup -Name $namespaceName2 -Location $location
278-
279-
### change the Namespace SKU to Basic
280-
Write-Debug "Namespace name : $namespaceName2"
281-
$result = Set-AzEventHubNamespace -ResourceGroup $secondResourceGroup -Name $namespaceName2 -Location $location -SkuName "Basic"
282-
Assert-AreEqual $result.Sku.Name "Basic" "Namespace SKU not changed."
283-
284-
Write-Debug "Get all the namespaces created in the resourceGroup"
285-
$allCreatedNamespace = Get-AzEventHubNamespace -ResourceGroup $secondResourceGroup
286-
287-
#Assert
288-
Assert-True {$allCreatedNamespace.Count -ge 0 } "Namespace created earlier is not found. in list"
289-
290-
Write-Debug "Get all the namespaces created in the subscription"
291-
$allCreatedNamespace = Get-AzEventHubNamespace
292-
293-
Assert-True {$allCreatedNamespace.Count -ge 0} "Namespaces created earlier is not found."
305+
$namespace = New-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName2 -SkuName Standard -Location $location
306+
assertStandardNamespace $namespace
294307

295-
$listByResourceGroup = Get-AzEventHubNamespace -ResourceGroup $resourceGroupName
296-
Assert-AreEqual 4 $listByResourceGroup.Count
308+
$namespace = New-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespaceName3 -SkuName Premium -Location $location
309+
assertPremiumNamespace $namespace
297310

298-
Write-Debug " Delete namespaces"
299-
Remove-AzEventHubNamespace -ResourceGroup $secondResourceGroup -Name $namespaceName2
300-
Remove-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName
311+
$listOfNamespaces = Get-AzEventHubNamespace -ResourceGroupName $resourceGroupName
312+
Assert-AreEqual 3 $listOfNamespaces.Count
301313

302-
Write-Debug " Delete resourcegroup"
303-
Remove-AzResourceGroup -Name $resourceGroupName -Force
314+
$listOfNamespaces = Get-AzEventHubNamespace
315+
Assert-True { $listOfNamespaces.Count -gt 0 }
316+
317+
}
318+
finally{
319+
320+
Write-Debug " Delete namespaces"
321+
Remove-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName3
322+
Remove-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName2
323+
Remove-AzEventHubNamespace -ResourceGroup $resourceGroupName -Name $namespaceName
324+
325+
Write-Debug " Delete resourcegroup"
326+
Remove-AzResourceGroup -Name $resourceGroupName -Force
327+
}
304328
}
305329

306330

@@ -442,6 +466,7 @@ function MSITest{
442466
}
443467
finally{
444468
Remove-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespace1
469+
Remove-AzResourceGroup -Name $resourceGroupName -Force
445470
}
446471
}
447472

@@ -510,6 +535,7 @@ function EncryptionTest{
510535

511536
finally{
512537
Remove-AzEventHubNamespace -ResourceGroupName $resourceGroupName -Name $namespace1
538+
Remove-AzResourceGroup -Name $resourceGroupName -Force
513539
}
514540
}
515541

0 commit comments

Comments
 (0)