Skip to content

Commit af59e9f

Browse files
committed
Added live test for Network
1 parent c0ebc5f commit af59e9f

File tree

1 file changed

+189
-0
lines changed

1 file changed

+189
-0
lines changed

src/Network/Network.Test/LiveTests/TestLiveScenarios.ps1

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,3 +272,192 @@ Invoke-LiveTestScenario -Name "Network private link service" -Description "Test
272272
$actualPls = Get-AzPrivateLinkService -Name $plsName -ResourceGroupName $rgName -ErrorAction SilentlyContinue
273273
Assert-Null $actualPls
274274
}
275+
276+
Invoke-LiveTestScenario -Name "Create network load balancer" -Description "Test creating a network load balancer" -ScenarioScript `
277+
{
278+
param ($rg)
279+
280+
$rgName = $rg.ResourceGroupName
281+
$location = "westus"
282+
$publicIpName = New-LiveTestResourceName
283+
$feIpCfgName = New-LiveTestResourceName
284+
$bePoolCfgName = New-LiveTestResourceName
285+
$probeName = New-LiveTestResourceName
286+
$lbRuleName = New-LiveTestResourceName
287+
$lbName = New-LiveTestResourceName
288+
289+
$publicIp = New-AzPublicIpAddress -ResourceGroupName $rgName -Name $publicIpName -Location $location -AllocationMethod Dynamic
290+
$feIpCfg = New-AzLoadBalancerFrontendIpConfig -Name $feIpCfgName -PublicIpAddress $publicIp
291+
$bePoolCfg = New-AzLoadBalancerBackendAddressPoolConfig -Name $bePoolCfgName
292+
$probe = New-AzLoadBalancerProbeConfig -Name $probeName -Protocol "Http" -Port 80 -RequestPath "healthcheck.aspx" -IntervalInSeconds 15 -ProbeCount 5 -ProbeThreshold 5
293+
$lbRule = New-AzLoadBalancerRuleConfig -Name $lbRuleName -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Protocol "Tcp" -FrontendPort 80 -BackendPort 80 -IdleTimeoutInMinutes 5 -EnableFloatingIP -LoadDistribution "SourceIP"
294+
New-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $location -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Probe $probe -LoadBalancingRule $lbRule
295+
296+
$actual = Get-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName
297+
Assert-NotNull $actual
298+
Assert-AreEqual $rgName $actual.ResourceGroupName
299+
Assert-AreEqual $lbName $actual.Name
300+
Assert-AreEqual $location $actual.Location
301+
Assert-AreEqual "Succeeded" $actual.ProvisioningState
302+
303+
Assert-AreEqual 1 $actual.Probes.Count
304+
Assert-AreEqual "Http" $actual.Probes[0].Protocol
305+
Assert-AreEqual 80 $actual.Probes[0].Port
306+
307+
Assert-AreEqual 1 $actual.LoadBalancingRules.Count
308+
Assert-AreEqual "Tcp" $actual.LoadBalancingRules[0].Protocol
309+
Assert-AreEqual 80 $actual.LoadBalancingRules[0].FrontendPort
310+
Assert-AreEqual 80 $actual.LoadBalancingRules[0].BackendPort
311+
}
312+
313+
Invoke-LiveTestScenario -Name "Update network load balancer" -Description "Test updating an existing network load balancer" -ScenarioScript `
314+
{
315+
param ($rg)
316+
317+
$rgName = $rg.ResourceGroupName
318+
$location = "eastus"
319+
$publicIpName = New-LiveTestResourceName
320+
$feIpCfgName = New-LiveTestResourceName
321+
$bePoolCfgName = New-LiveTestResourceName
322+
$probeName1 = New-LiveTestResourceName
323+
$probeName2 = New-LiveTestResourceName
324+
$lbRuleName = New-LiveTestResourceName
325+
$lbName = New-LiveTestResourceName
326+
$natRuleName = New-LiveTestResourceName
327+
328+
$publicIp = New-AzPublicIpAddress -ResourceGroupName $rgName -Name $publicIpName -Location $location -AllocationMethod Dynamic
329+
$feIpCfg = New-AzLoadBalancerFrontendIpConfig -Name $feIpCfgName -PublicIpAddress $publicIp
330+
$bePoolCfg = New-AzLoadBalancerBackendAddressPoolConfig -Name $bePoolCfgName
331+
$probe = New-AzLoadBalancerProbeConfig -Name $probeName1 -Protocol "Http" -Port 80 -RequestPath "healthcheck80.aspx" -IntervalInSeconds 15 -ProbeCount 5 -ProbeThreshold 5
332+
$lbRule = New-AzLoadBalancerRuleConfig -Name $lbRuleName -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Protocol "Tcp" -FrontendPort 80 -BackendPort 80 -IdleTimeoutInMinutes 5 -EnableFloatingIP -LoadDistribution "SourceIP"
333+
New-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $location -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Probe $probe -LoadBalancingRule $lbRule
334+
$lb = Get-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName
335+
336+
$lb | Add-AzLoadBalancerProbeConfig -Name $probeName2 -Protocol "Http" -Port 443 -RequestPath "healthcheck443.aspx" -IntervalInSeconds 10 -ProbeCount 3 -ProbeThreshold 3
337+
$lb | Add-AzLoadBalancerInboundNatRuleConfig -Name $natRuleName -FrontendIPConfiguration $lb.FrontendIpConfigurations[0] -Protocol "Tcp" -FrontendPort 3350 -BackendPort 3350 -EnableFloatingIP
338+
$lb | Set-AzLoadBalancerRuleConfig -Name $lbRuleName -FrontendIPConfiguration $lb.FrontendIpConfigurations[0] -Protocol "Tcp" -FrontendPort 8080 -BackendPort 8080
339+
$lb | Set-AzLoadBalancer
340+
341+
$actual = Get-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName
342+
Assert-NotNull $actual
343+
Assert-AreEqual $rgName $actual.ResourceGroupName
344+
Assert-AreEqual $lbName $actual.Name
345+
Assert-AreEqual $location $actual.Location
346+
Assert-AreEqual "Succeeded" $actual.ProvisioningState
347+
348+
Assert-AreEqual 1 $actual.LoadBalancingRules.Count
349+
Assert-AreEqual "Tcp" $actual.LoadBalancingRules[0].Protocol
350+
Assert-AreEqual 8080 $actual.LoadBalancingRules[0].FrontendPort
351+
Assert-AreEqual 8080 $actual.LoadBalancingRules[0].BackendPort
352+
353+
Assert-AreEqual 1 $actual.InboundNatRules.Count
354+
Assert-AreEqual "Tcp" $actual.InboundNatRules[0].Protocol
355+
Assert-AreEqual 3350 $actual.InboundNatRules[0].FrontendPort
356+
Assert-AreEqual 3350 $actual.InboundNatRules[0].BackendPort
357+
358+
Assert-AreEqual 2 $actual.Probes.Count
359+
}
360+
361+
Invoke-LiveTestScenario -Name "Remove network load balancer" -Description "Test removing a network load balancer" -ScenarioScript `
362+
{
363+
param ($rg)
364+
365+
$rgName = $rg.ResourceGroupName
366+
$location = "centralus"
367+
$publicIpName = New-LiveTestResourceName
368+
$feIpCfgName = New-LiveTestResourceName
369+
$bePoolCfgName = New-LiveTestResourceName
370+
$probeName = New-LiveTestResourceName
371+
$lbRuleName = New-LiveTestResourceName
372+
$lbName = New-LiveTestResourceName
373+
374+
$publicIp = New-AzPublicIpAddress -ResourceGroupName $rgName -Name $publicIpName -Location $location -AllocationMethod Dynamic
375+
$feIpCfg = New-AzLoadBalancerFrontendIpConfig -Name $feIpCfgName -PublicIpAddress $publicIp
376+
$bePoolCfg = New-AzLoadBalancerBackendAddressPoolConfig -Name $bePoolCfgName
377+
$probe = New-AzLoadBalancerProbeConfig -Name $probeName -Protocol "Http" -Port 80 -RequestPath "healthcheck.aspx" -IntervalInSeconds 15 -ProbeCount 5 -ProbeThreshold 5
378+
$lbRule = New-AzLoadBalancerRuleConfig -Name $lbRuleName -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Protocol "Tcp" -FrontendPort 80 -BackendPort 80 -IdleTimeoutInMinutes 5 -EnableFloatingIP -LoadDistribution "SourceIP"
379+
New-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $location -FrontendIpConfiguration $feIpCfg -BackendAddressPool $bePoolCfg -Probe $probe -LoadBalancingRule $lbRule
380+
381+
Remove-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName -Force
382+
$actual = Get-AzLoadBalancer -ResourceGroupName $rgName -Name $lbName -ErrorAction SilentlyContinue
383+
Assert-Null $actual
384+
}
385+
386+
Invoke-LiveTestScenario -Name "Create virtual network" -Description "Test creating a virtual network" -ScenarioScript `
387+
{
388+
param ($rg)
389+
390+
$rgName = $rg.ResourceGroupName
391+
$location = "westus"
392+
$feSnetName = New-LiveTestResourceName
393+
$beSnetName = New-LiveTestResourceName
394+
$vnetName = New-LiveTestResourceName
395+
396+
$feSnet = New-AzVirtualNetworkSubnetConfig -Name $feSnetName -AddressPrefix "10.0.1.0/24"
397+
$beSnet = New-AzVirtualNetworkSubnetConfig -Name $beSnetName -AddressPrefix "10.0.2.0/24"
398+
New-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $feSnet, $beSnet -DnsServer 10.0.1.10, 10.0.1.11
399+
400+
$actual = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
401+
Assert-NotNull $actual
402+
Assert-AreEqual $rgName $actual.ResourceGroupName
403+
Assert-AreEqual $vnetName $actual.Name
404+
Assert-AreEqual $location $actual.Location
405+
Assert-AreEqual "Succeeded" $actual.ProvisioningState
406+
Assert-AreEqual 1 $actual.AddressSpace.AddressPrefixes.Count
407+
Assert-AreEqual "10.0.0.0/16" $actual.AddressSpace.AddressPrefixes[0]
408+
Assert-AreEqual 2 $actual.Subnets.Count
409+
}
410+
411+
Invoke-LiveTestScenario -Name "Update virtual network" -Description "Test updating an existing virtual network" -ScenarioScript `
412+
{
413+
param ($rg)
414+
415+
$rgName = $rg.ResourceGroupName
416+
$location = "eastus"
417+
$feSnetName = New-LiveTestResourceName
418+
$beSnetName = New-LiveTestResourceName
419+
$vnetName = New-LiveTestResourceName
420+
421+
$feSnet = New-AzVirtualNetworkSubnetConfig -Name $feSnetName -AddressPrefix "10.0.1.0/24"
422+
New-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $feSnet
423+
424+
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
425+
Assert-NotNull $vnet
426+
Assert-AreEqual $rgName $vnet.ResourceGroupName
427+
Assert-AreEqual $vnetName $vnet.Name
428+
Assert-AreEqual $location $vnet.Location
429+
Assert-AreEqual "Succeeded" $vnet.ProvisioningState
430+
Assert-AreEqual 1 $vnet.Subnets.Count
431+
432+
$vnet | Add-AzVirtualNetworkSubnetConfig -Name $beSnetName -AddressPrefix "10.0.2.0/24"
433+
$vnet | Remove-AzVirtualNetworkSubnetConfig -Name $feSnetName
434+
$vnet | Set-AzVirtualNetwork
435+
436+
$actual = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
437+
Assert-NotNull $actual
438+
Assert-AreEqual $rgName $actual.ResourceGroupName
439+
Assert-AreEqual $vnetName $actual.Name
440+
Assert-AreEqual $location $actual.Location
441+
Assert-AreEqual "Succeeded" $actual.ProvisioningState
442+
Assert-AreEqual 1 $actual.Subnets.Count
443+
Assert-AreEqual $beSnetName $actual.Subnets[0].Name
444+
}
445+
446+
Invoke-LiveTestScenario -Name "Remove virtual network" -Description "Test removing a virtual network" -ScenarioScript `
447+
{
448+
param ($rg)
449+
450+
$rgName = $rg.ResourceGroupName
451+
$location = "centralus"
452+
$feSnetName = New-LiveTestResourceName
453+
$beSnetName = New-LiveTestResourceName
454+
$vnetName = New-LiveTestResourceName
455+
456+
$feSnet = New-AzVirtualNetworkSubnetConfig -Name $feSnetName -AddressPrefix "10.0.1.0/24"
457+
$beSnet = New-AzVirtualNetworkSubnetConfig -Name $beSnetName -AddressPrefix "10.0.2.0/24"
458+
New-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $feSnet, $beSnet
459+
Remove-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -Force
460+
461+
$actual = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName -ErrorAction SilentlyContinue
462+
Assert-Null $actual
463+
}

0 commit comments

Comments
 (0)