@@ -141,6 +141,123 @@ function Test-VirtualRouterPeerCRUD
141141 }
142142}
143143
144+ <#
145+ . SYNOPSIS
146+ Test route server CRUD
147+ #>
148+ function Test-RouteServerCRUD
149+ {
150+ # Setup
151+ $rgname = Get-ResourceGroupName
152+ $vnetName = Get-ResourceName
153+ $rglocation = Get-ProviderLocation ResourceManagement " centraluseuap"
154+ $routeServerName = Get-ResourceName
155+ $subnetName = Get-ResourceName
156+
157+ try
158+ {
159+ # Create the resource group
160+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
161+
162+ # Create the Virtual Network
163+ $subnet = New-AzVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .0.0 / 24
164+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $rglocation - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
165+ $vnet = Get-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname
166+ $hostedSubnet = Get-AzVirtualNetworkSubnetConfig - Name $subnetName - VirtualNetwork $vnet
167+
168+ # Create Virtual Router
169+ $actualvr = New-AzRouteServer - ResourceGroupName $rgname - location $rglocation - RouteServerName $routeServerName - HostedSubnet $hostedsubnet.Id
170+ $expectedvr = Get-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName
171+ Assert-AreEqual $expectedvr.ResourceGroupName $actualvr.ResourceGroupName
172+ Assert-AreEqual $expectedvr.Name $actualvr.Name
173+ Assert-AreEqual $expectedvr.Location $actualvr.Location
174+
175+ # Update virtual route with branch to branch traffic
176+ $actualvr = Update-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName - AllowBranchToBranchTraffic
177+ $expectedvr = Get-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName
178+ Assert-True { $expectedvr.AllowBranchToBranchTraffic }
179+
180+ # Block branch to branch traffic
181+ $actualvr = Update-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName
182+ $expectedvr = Get-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName
183+ Assert-False { $expectedvr.AllowBranchToBranchTraffic }
184+
185+ # List Virtual Routers
186+ $list = Get-AzRouteServer - ResourceGroupName $rgname
187+ Assert-AreEqual 1 @ ($list ).Count
188+ Assert-AreEqual $list [0 ].ResourceGroupName $actualvr.ResourceGroupName
189+ Assert-AreEqual $list [0 ].Name $actualvr.Name
190+ Assert-AreEqual $list [0 ].Location $actualvr.Location
191+
192+ # Delete VR
193+ $deletevr = Remove-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName - PassThru - Force
194+ Assert-AreEqual true $deletevr
195+
196+ $list = Get-AzRouteServer - ResourceGroupName $rgname
197+ Assert-AreEqual 0 @ ($list ).Count
198+ }
199+ finally
200+ {
201+ # Cleanup
202+ Clean - ResourceGroup $rgname
203+ }
204+ }
205+
206+ <#
207+ . SYNOPSIS
208+ Test route server peer CRUD
209+ #>
210+ function Test-RouteServerPeerCRUD
211+ {
212+ # Setup
213+ $rgname = Get-ResourceGroupName
214+ $vnetName = Get-ResourceName
215+ $rglocation = Get-ProviderLocation ResourceManagement " centraluseuap"
216+ $routeServerName = Get-ResourceName
217+ $virtualWanName = Get-ResourceName
218+ $subnetName = Get-ResourceName
219+ $peerName = Get-ResourceName
220+
221+ try
222+ {
223+ # Create resource group
224+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
225+
226+ # Create virtual network and subnet
227+ $subnet = New-AzVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .0.0 / 24
228+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $rglocation - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
229+ $vnet = Get-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname
230+ $hostedSubnet = Get-AzVirtualNetworkSubnetConfig - Name $subnetName - VirtualNetwork $vnet
231+
232+ # Create virtual router
233+ $routeServer = New-AzRouteServer - ResourceGroupName $rgname - location $rglocation - RouteServerName $routeServerName - HostedSubnet $hostedsubnet.Id
234+ $routeServer = Get-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName
235+
236+ # Create hub bgp connection
237+ $actualBgpConnection = Add-AzRouteServerPeer - ResourceGroupName $rgname - RouteServerName $routeServerName - PeerName $peerName - PeerIp " 192.168.1.5" - PeerAsn " 20000"
238+ $expectedBgpConnection = Get-AzRouteServerPeer - ResourceGroupName $rgname - RouteServerName $routeServerName - PeerName $peerName
239+ Assert-AreEqual $expectedBgpConnection.Peerings.PeerName $actualBgpConnection.PeerName
240+ Assert-AreEqual $expectedBgpConnection.PeerIp " 192.168.1.5"
241+ Assert-AreEqual $expectedBgpConnection.PeerAsn " 20000"
242+
243+ # delete hub bgp connection
244+ $deleteBgpConnection = Remove-AzRouteServerPeer - ResourceGroupName $rgname - RouteServerName $routeServerName - PeerName $peerName - Force
245+ Assert-AreEqual 0 @ ($deleteBgpConnection.Peerings ).Count
246+
247+ # Delete virtual router
248+ $deleteRouteServer = Remove-AzRouteServer - ResourceGroupName $rgname - RouteServerName $routeServerName - PassThru - Force
249+ Assert-AreEqual true $deleteRouteServer
250+
251+ $list = Get-AzRouteServer - ResourceGroupName $rgname
252+ Assert-AreEqual 0 @ ($list ).Count
253+ }
254+ finally
255+ {
256+ # Cleanup
257+ Clean - ResourceGroup $rgname
258+ }
259+ }
260+
144261<#
145262. SYNOPSIS
146263Test virtual router peer learned and advertiesd routes (bgp routes)
0 commit comments