Skip to content

Commit 13eab56

Browse files
Add HubIpConfiguration and HubBgpConnections (#12565)
* Add HubIpConfiguration and HubBgpConnections * Fix bug in test record and static analysis * Modify info in breaking changes * Change format of csv file * Change output type of AzVirtualRouterPeer cmdlets * Add back AllowActivaFTP * Add back RemoteBgpCommunitiesText * Update Network.format.ps1xml * Update Network.format.ps1xml * Update HubBgpConnectionTests.ps1 * Update VirtualRouterTests.ps1 * Modify output types * Update BreakingChangeIssues.csv * Update ChangeLog.md * Update New-AzVirtualWan.md * Update New-AzVirtualRouter.md * Update New-AzVirtualRouter.md * Update New-AzVirtualRouter.md Co-authored-by: Yabo Hu <[email protected]>
1 parent 3aa7d78 commit 13eab56

32 files changed

+5879
-17295
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Microsoft.Azure.Commands.Network.Test.ScenarioTests;
2+
using Microsoft.WindowsAzure.Commands.ScenarioTest;
3+
using Xunit;
4+
5+
namespace Commands.Network.Test.ScenarioTests
6+
{
7+
public class HubBgpConnectionTests : NetworkTestRunner
8+
{
9+
public HubBgpConnectionTests(Xunit.Abstractions.ITestOutputHelper output)
10+
: base(output)
11+
{
12+
}
13+
14+
[Fact]
15+
[Trait(Category.AcceptanceType, Category.CheckIn)]
16+
[Trait(Category.Owner, NrpTeamAlias.pgtm)]
17+
public void TestHubBgpConnectionCRUDMinimalParameters()
18+
{
19+
TestRunner.RunTestScript(string.Format("Test-HubBgpConnectionCRUD"));
20+
}
21+
}
22+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# ----------------------------------------------------------------------------------
2+
#
3+
# Copyright Microsoft Corporation
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
# ----------------------------------------------------------------------------------
14+
15+
function Check-CmdletReturnType
16+
{
17+
param($cmdletName, $cmdletReturn)
18+
19+
$cmdletData = Get-Command $cmdletName
20+
Assert-NotNull $cmdletData
21+
[array]$cmdletReturnTypes = $cmdletData.OutputType.Name | Foreach-Object { return ($_ -replace "Microsoft.Azure.Commands.Network.Models.","") }
22+
[array]$cmdletReturnTypes = $cmdletReturnTypes | Foreach-Object { return ($_ -replace "System.","") }
23+
$realReturnType = $cmdletReturn.GetType().Name -replace "Microsoft.Azure.Commands.Network.Models.",""
24+
return $cmdletReturnTypes -contains $realReturnType
25+
}
26+
27+
<#
28+
.SYNOPSIS
29+
Test creating new HubBgpConnection
30+
#>
31+
function Test-HubBgpConnectionCRUD
32+
{
33+
# Setup
34+
$rgname = Get-ResourceGroupName
35+
$vnetName = Get-ResourceName
36+
$rglocation = Get-ProviderLocation ResourceManagement "centraluseuap"
37+
$virtualRouterName = Get-ResourceName
38+
$virtualWanName = Get-ResourceName
39+
$subnetName = Get-ResourceName
40+
$peerName = Get-ResourceName
41+
42+
try
43+
{
44+
# Create resource group
45+
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $rglocation -Tags @{ testtag = "testval" }
46+
47+
# Create virtual network and subnet
48+
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
49+
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $rglocation -AddressPrefix 10.0.0.0/16 -Subnet $subnet
50+
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
51+
$hostedSubnet = Get-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet
52+
53+
# Create virtual router
54+
$virtualRouter = New-AzVirtualRouter -ResourceGroupName $rgname -location $rglocation -Name $virtualRouterName -HostedSubnet $hostedsubnet.Id
55+
$virtualRouter = Get-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName
56+
57+
# Create hub bgp connection
58+
$actualBgpConnection = Add-AzVirtualRouterPeer -ResourceGroupName $rgname -VirtualRouterName $virtualRouterName -PeerName $peerName -PeerIp "192.168.1.5" -PeerAsn "20000"
59+
$expectedBgpConnection = Get-AzVirtualRouterPeer -ResourceGroupName $rgname -VirtualRouterName $virtualRouterName -PeerName $peerName
60+
Assert-AreEqual $expectedBgpConnection.Peerings.PeerName $actualBgpConnection.PeerName
61+
Assert-AreEqual $expectedBgpConnection.PeerIp "192.168.1.5"
62+
Assert-AreEqual $expectedBgpConnection.PeerAsn "20000"
63+
64+
#delete hub bgp connection
65+
$deleteBgpConnection = Remove-AzVirtualRouterPeer -ResourceGroupName $rgname -VirtualRouterName $virtualRouterName -PeerName $peerName -Force
66+
Assert-AreEqual 0 @($deleteBgpConnection.Peerings).Count
67+
68+
# Delete virtual router
69+
$deleteVirtualRouter = Remove-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName -PassThru -Force
70+
Assert-AreEqual true $deleteVirtualRouter
71+
72+
$list = Get-AzVirtualRouter -ResourceGroupName $rgname
73+
Assert-AreEqual 0 @($list).Count
74+
}
75+
finally
76+
{
77+
# Cleanup
78+
Clean-ResourceGroup $rgname
79+
}
80+
}

src/Network/Network.Test/ScenarioTests/VirtualRouterTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public VirtualRouterTests(Xunit.Abstractions.ITestOutputHelper output)
2525
{
2626
}
2727

28-
[Fact(Skip = "Fails with Internal Server Error")]
28+
[Fact]
2929
[Trait(Category.AcceptanceType, Category.CheckIn)]
3030
[Trait(Category.Owner, NrpTeamAlias.pgtm)]
3131
public void TestVirtualRouterCRUDMinimalParameters()

src/Network/Network.Test/ScenarioTests/VirtualRouterTests.ps1

Lines changed: 23 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -32,69 +32,46 @@ function Test-VirtualRouterCRUD
3232
{
3333
# Setup
3434
$rgname = Get-ResourceGroupName
35-
$rname = Get-ResourceName
36-
$domainNameLabel = Get-ResourceName
3735
$vnetName = Get-ResourceName
38-
$publicIpName = Get-ResourceName
39-
$vnetGatewayConfigName = Get-ResourceName
40-
$rglocation = Get-ProviderLocation ResourceManagement "southcentralus"
41-
$resourceTypeParent = "Microsoft.Network/virtualNetworkGateways"
42-
$location = Get-ProviderLocation $resourceTypeParent "southcentralus"
43-
$virtualRouterName = Get-ResourceName
36+
$rglocation = Get-ProviderLocation ResourceManagement "centraluseuap"
37+
$virtualRouterName = Get-ResourceName
38+
$subnetName = Get-ResourceName
4439

4540
try
4641
{
4742
# Create the resource group
4843
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $rglocation -Tags @{ testtag = "testval" }
49-
50-
44+
5145
# Create the Virtual Network
52-
$subnet = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix 10.0.0.0/24
53-
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet
46+
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
47+
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $rglocation -AddressPrefix 10.0.0.0/16 -Subnet $subnet
5448
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
55-
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
56-
57-
# Create the publicip
58-
$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Dynamic -DomainNameLabel $domainNameLabel
59-
60-
# Create & Get virtualnetworkgateway
61-
$vnetIpConfig = New-AzVirtualNetworkGatewayIpConfig -Name $vnetGatewayConfigName -PublicIpAddress $publicip -Subnet $subnet
62-
63-
$actual = New-AzVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -location $location -IpConfigurations $vnetIpConfig -GatewayType ExpressRoute -GatewaySku HighPerformance -VpnType RouteBased -VpnGatewayGeneration None -Force
64-
$expected = Get-AzVirtualNetworkGateway -ResourceGroupName $rgname -name $rname
65-
Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName
66-
Assert-AreEqual $expected.Name $actual.Name
67-
Assert-AreEqual "ExpressRoute" $expected.GatewayType
68-
Assert-AreEqual "None" $expected.VpnGatewayGeneration
69-
70-
# Create Virtual Router
71-
$actualvr = New-AzVirtualRouter -ResourceGroupName $rgname -location $location -Name $virtualRouterName -HostedGateway $expected
72-
$expectedvr = Get-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName
73-
Assert-AreEqual $expectedvr.ResourceGroupName $actualvr.ResourceGroupName
49+
$hostedSubnet = Get-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet
50+
51+
# Create Virtual Router
52+
$actualvr = New-AzVirtualRouter -ResourceGroupName $rgname -location $rglocation -Name $virtualRouterName -HostedSubnet $hostedsubnet.Id
53+
$expectedvr = Get-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName
54+
Assert-AreEqual $expectedvr.ResourceGroupName $actualvr.ResourceGroupName
7455
Assert-AreEqual $expectedvr.Name $actualvr.Name
75-
76-
# List Virtual Routers
77-
$list = Get-AzVirtualRouter -ResourceGroupName $rgname
56+
Assert-AreEqual $expectedvr.Location $actualvr.Location
57+
58+
# List Virtual Routers
59+
$list = Get-AzVirtualRouter -ResourceGroupName $rgname
7860
Assert-AreEqual 1 @($list).Count
7961
Assert-AreEqual $list[0].ResourceGroupName $actualvr.ResourceGroupName
8062
Assert-AreEqual $list[0].Name $actualvr.Name
8163
Assert-AreEqual $list[0].Location $actualvr.Location
82-
83-
# Delete VR
84-
$deletevR = Remove-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName -PassThru -Force
85-
Assert-AreEqual true $deletevR
86-
87-
# Delete virtualNetworkGateway
88-
$delete = Remove-AzVirtualNetworkGateway -ResourceGroupName $actual.ResourceGroupName -name $rname -PassThru -Force
89-
Assert-AreEqual true $delete
90-
91-
$list = Get-AzVirtualRouter -ResourceGroupName $rgname
92-
Assert-AreEqual 0 @($list).Count
64+
65+
# Delete VR
66+
$deletevr = Remove-AzVirtualRouter -ResourceGroupName $rgname -RouterName $virtualRouterName -PassThru -Force
67+
Assert-AreEqual true $deletevr
68+
69+
$list = Get-AzVirtualRouter -ResourceGroupName $rgname
70+
Assert-AreEqual 0 @($list).Count
9371
}
9472
finally
9573
{
9674
# Cleanup
9775
Clean-ResourceGroup $rgname
9876
}
9977
}
100-

0 commit comments

Comments
 (0)