Skip to content

Commit 94eb547

Browse files
committed
Merge pull request #1503 from DeepakRajendranMsft/ExpandParameter
Add Expand option for all top level resources
2 parents e5e44d3 + 79ac0c1 commit 94eb547

20 files changed

+2294
-53
lines changed

src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,9 @@
270270
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceEnableIPForwarding.json">
271271
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
272272
</None>
273+
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceExpandResource.json">
274+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
275+
</None>
273276
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceIDns.json">
274277
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
275278
</None>

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/NetworkInterfaceTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,12 @@ public void TestNetworkInterfaceEnableIPForwarding()
6767
{
6868
NetworkResourcesController.NewInstance.RunPsTest("Test-NetworkInterfaceEnableIPForwarding");
6969
}
70+
71+
[Fact]
72+
[Trait(Category.AcceptanceType, Category.CheckIn)]
73+
public void TestNetworkInterfaceExpandResource()
74+
{
75+
NetworkResourcesController.NewInstance.RunPsTest("Test-NetworkInterfaceExpandResource");
76+
}
7077
}
7178
}

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/NetworkInterfaceTests.ps1

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,87 @@
1212
# limitations under the License.
1313
# ----------------------------------------------------------------------------------
1414

15+
<#
16+
.SYNOPSIS
17+
Tests creating new simple public networkinterface and read using expandResource
18+
#>
19+
function Test-NetworkInterfaceExpandResource
20+
{
21+
# Setup
22+
$rgname = Get-ResourceGroupName
23+
$vnetName = Get-ResourceName
24+
$subnetName = Get-ResourceName
25+
$publicIpName = Get-ResourceName
26+
$nicName = Get-ResourceName
27+
$domainNameLabel = Get-ResourceName
28+
$rglocation = Get-ProviderLocation ResourceManagement
29+
$resourceTypeParent = "Microsoft.Network/networkInterfaces"
30+
$location = Get-ProviderLocation $resourceTypeParent
31+
32+
try
33+
{
34+
# Create the resource group
35+
$resourceGroup = New-AzureRmResourceGroup -Name $rgname -Location $rglocation -Tags @{Name = "testtag"; Value = "testval"}
36+
37+
# Create the Virtual Network
38+
$subnet = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.1.0/24
39+
$vnet = New-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet
40+
41+
# Create the publicip
42+
$publicip = New-AzureRmPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Dynamic -DomainNameLabel $domainNameLabel
43+
44+
# Create NetworkInterface
45+
$actualNic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgname -Location $location -Subnet $vnet.Subnets[0] -PublicIpAddress $publicip
46+
$expectedNic = Get-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgname
47+
48+
Assert-AreEqual $expectedNic.ResourceGroupName $actualNic.ResourceGroupName
49+
Assert-AreEqual $expectedNic.Name $actualNic.Name
50+
Assert-AreEqual $expectedNic.Location $actualNic.Location
51+
Assert-NotNull $expectedNic.ResourceGuid
52+
Assert-AreEqual "Succeeded" $expectedNic.ProvisioningState
53+
Assert-AreEqual $expectedNic.IpConfigurations[0].Name $actualNic.IpConfigurations[0].Name
54+
Assert-AreEqual $expectedNic.IpConfigurations[0].PublicIpAddress.Id $actualNic.IpConfigurations[0].PublicIpAddress.Id
55+
Assert-AreEqual $expectedNic.IpConfigurations[0].Subnet.Id $actualNic.IpConfigurations[0].Subnet.Id
56+
Assert-NotNull $expectedNic.IpConfigurations[0].PrivateIpAddress
57+
Assert-AreEqual "Dynamic" $expectedNic.IpConfigurations[0].PrivateIpAllocationMethod
58+
59+
Assert-Null $expectedNic.IpConfigurations[0].PublicIpAddress.Name
60+
Assert-Null $expectedNic.IpConfigurations[0].Subnet.Name
61+
62+
# Check publicIp address reference
63+
$publicip = Get-AzureRmPublicIpAddress -ResourceGroupName $rgname -name $publicIpName
64+
Assert-AreEqual $expectedNic.IpConfigurations[0].PublicIpAddress.Id $publicip.Id
65+
Assert-AreEqual $expectedNic.IpConfigurations[0].Id $publicip.IpConfiguration.Id
66+
67+
# Check Subnet address reference
68+
$vnet = Get-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname
69+
Assert-AreEqual $expectedNic.IpConfigurations[0].Subnet.Id $vnet.Subnets[0].Id
70+
Assert-AreEqual $expectedNic.IpConfigurations[0].Id $vnet.Subnets[0].IpConfigurations[0].Id
71+
72+
# Get Nic with expanded Subnet
73+
$nic = Get-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgname -ExpandResource "IpConfigurations/Subnet"
74+
Assert-Null $nic.IpConfigurations[0].PublicIpAddress.Name
75+
Assert-NotNull $nic.IpConfigurations[0].Subnet.Name
76+
77+
# Get Nic with expanded PublicIPAddress
78+
$nic = Get-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgname -ExpandResource "IpConfigurations/PublicIPAddress"
79+
Assert-NotNull $nic.IpConfigurations[0].PublicIpAddress.Name
80+
Assert-Null $nic.IpConfigurations[0].Subnet.Name
81+
82+
# Delete NetworkInterface
83+
$delete = Remove-AzureRmNetworkInterface -ResourceGroupName $rgname -name $nicName -PassThru -Force
84+
Assert-AreEqual true $delete
85+
86+
$list = Get-AzureRmNetworkInterface -ResourceGroupName $rgname
87+
Assert-AreEqual 0 @($list).Count
88+
}
89+
finally
90+
{
91+
# Cleanup
92+
Clean-ResourceGroup $rgname
93+
}
94+
}
95+
1596
<#
1697
.SYNOPSIS
1798
Tests creating new simple public networkinterface.

0 commit comments

Comments
 (0)