@@ -187,6 +187,95 @@ function Test-subnetCRUD
187
187
}
188
188
}
189
189
190
+ <#
191
+ . SYNOPSIS
192
+ Tests creating new simple virtualNetwork and subnets.
193
+ . DESCRIPTION
194
+ SmokeTest
195
+ #>
196
+ function Test-multiPrefixSubnetCRUD
197
+ {
198
+ # Setup
199
+ $rgname = Get-ResourceGroupName
200
+ $vnetName = Get-ResourceName
201
+ $subnetName = Get-ResourceName
202
+ $subnet2Name = Get-ResourceName
203
+ $domainNameLabel = Get-ResourceName
204
+ $rglocation = Get-ProviderLocation ResourceManagement
205
+ $resourceTypeParent = " Microsoft.Network/virtualNetworks"
206
+ $location = Get-ProviderLocation $resourceTypeParent
207
+
208
+ try
209
+ {
210
+ # Create the resource group
211
+ $resourceGroup = New-AzureRmResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
212
+
213
+ # Create the Virtual Network
214
+ $subnet = New-AzureRmVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .1.0 / 28 , 10.0 .2.0 / 28
215
+ New-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
216
+ $vnet = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname
217
+
218
+ # Add a subnet
219
+ $vnet | Add-AzureRmVirtualNetworkSubnetConfig - Name $subnet2Name - AddressPrefix 10.0 .3.0 / 28 , 10.0 .4.0 / 28
220
+
221
+ # Set VirtualNetwork
222
+ $vnet | Set-AzureRmVirtualNetwork
223
+
224
+ # Get VirtualNetwork
225
+ $vnetExpected = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname
226
+
227
+ Assert-AreEqual 2 @ ($vnetExpected.Subnets ).Count
228
+ Assert-AreEqual $subnetName $vnetExpected.Subnets [0 ].Name
229
+ Assert-AreEqual $subnet2Name $vnetExpected.Subnets [1 ].Name
230
+ Assert-AreEqual " 10.0.1.0/28 10.0.2.0/28" $vnetExpected.Subnets [0 ].AddressPrefix
231
+ Assert-AreEqual " 10.0.3.0/28 10.0.4.0/28" $vnetExpected.Subnets [1 ].AddressPrefix
232
+
233
+ # Edit a subnet
234
+ $job = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname | Set-AzureRmVirtualNetworkSubnetConfig - Name $subnet2Name - AddressPrefix 10.0 .5.0 / 28 , 10.0 .6.0 / 28 | Set-AzureRmVirtualNetwork - AsJob
235
+ $job | Wait-Job
236
+
237
+ $vnetExpected = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname
238
+ Assert-AreEqual 2 @ ($vnetExpected.Subnets ).Count
239
+ Assert-AreEqual $subnetName $vnetExpected.Subnets [0 ].Name
240
+ Assert-AreEqual $subnet2Name $vnetExpected.Subnets [1 ].Name
241
+ Assert-AreEqual " 10.0.5.0/28 10.0.6.0/28" $vnetExpected.Subnets [1 ].AddressPrefix
242
+
243
+ # Get subnet
244
+ $subnet2 = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname | Get-AzureRmVirtualNetworkSubnetConfig - Name $subnet2Name
245
+ $subnetAll = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname | Get-AzureRmVirtualNetworkSubnetConfig
246
+
247
+ Assert-AreEqual 2 @ ($subnetAll ).Count
248
+ Assert-AreEqual $subnetName $subnetAll [0 ].Name
249
+ Assert-AreEqual $subnet2Name $subnetAll [1 ].Name
250
+ Assert-AreEqual $subnet2Name $subnet2.Name
251
+
252
+ # Get non-existing subnet
253
+ try
254
+ {
255
+ $subnetNotExists = $vnetExpected | Get-AzureRmVirtualNetworkSubnetConfig - Name " Subnet-DoesNotExist"
256
+ }
257
+ catch
258
+ {
259
+ if ($_.Exception.GetType () -ne [System.ArgumentException ])
260
+ {
261
+ throw ;
262
+ }
263
+ }
264
+
265
+ # Remove a subnet
266
+ Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname | Remove-AzureRmVirtualNetworkSubnetConfig - Name $subnet2Name | Set-AzureRmVirtualNetwork
267
+
268
+ $vnetExpected = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname
269
+ Assert-AreEqual 1 @ ($vnetExpected.Subnets ).Count
270
+ Assert-AreEqual $subnetName $vnetExpected.Subnets [0 ].Name
271
+ }
272
+ finally
273
+ {
274
+ # Cleanup
275
+ Clean - ResourceGroup $rgname
276
+ }
277
+ }
278
+
190
279
<#
191
280
. SYNOPSIS
192
281
Tests the creation of a new virtual network with DDoS protection parameters.
0 commit comments