Skip to content

Commit 2908b5b

Browse files
add test for create NIC
1 parent ea80f02 commit 2908b5b

File tree

4 files changed

+1897
-0
lines changed

4 files changed

+1897
-0
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
@@ -291,6 +291,9 @@
291291
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceSet.json">
292292
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
293293
</None>
294+
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.NetworkInterfaceTests\TestNetworkInterfaceWithIpConfiguration.json">
295+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
296+
</None>
294297
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.PublicIpAddressTests\TestPublicIpAddressCRUD.json">
295298
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
296299
</None>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,12 @@ public void TestNetworkInterfaceIpv6()
8181
{
8282
NetworkResourcesController.NewInstance.RunPsTest("Test-NetworkInterfaceIpv6");
8383
}
84+
85+
[Fact]
86+
[Trait(Category.AcceptanceType, Category.CheckIn)]
87+
public void TestNetworkInterfaceWithIpConfiguration()
88+
{
89+
NetworkResourcesController.NewInstance.RunPsTest("Test-NetworkInterfaceWithIpConfiguration");
90+
}
8491
}
8592
}

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

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,4 +715,91 @@ function Test-NetworkInterfaceIpv6
715715
# Cleanup
716716
Clean-ResourceGroup $rgname
717717
}
718+
}
719+
720+
<#
721+
.SYNOPSIS
722+
Tests creating new networkinterface with multiple ipconfigurations.
723+
#>
724+
function Test-NetworkInterfaceWithIpConfiguration
725+
{
726+
# Setup
727+
$rgname = Get-ResourceGroupName
728+
$vnetName = Get-ResourceName
729+
$subnetName = Get-ResourceName
730+
$publicIpName = Get-ResourceName
731+
$nicName = Get-ResourceName
732+
$ipconfig1Name = Get-ResourceName
733+
$ipconfig2Name = Get-ResourceName
734+
$domainNameLabel = Get-ResourceName
735+
$rglocation = Get-ProviderLocation ResourceManagement
736+
$resourceTypeParent = "Microsoft.Network/networkInterfaces"
737+
$location = Get-ProviderLocation $resourceTypeParent
738+
739+
try
740+
{
741+
# Create the resource group
742+
$resourceGroup = New-AzureRmResourceGroup -Name $rgname -Location $rglocation -Tags @{Name = "testtag"; Value = "testval"}
743+
744+
# Create the Virtual Network
745+
$subnet = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.1.0/24
746+
$vnet = New-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet
747+
748+
# Create the publicip
749+
$publicip = New-AzureRmPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Dynamic -DomainNameLabel $domainNameLabel
750+
751+
# Create the ipconfiguration
752+
$ipconfig1 = New-AzureRmNetworkInterfaceIpConfig -Name $ipconfig1Name -Subnet $vnet.Subnets[0] -PublicIpAddress $publicip
753+
$ipconfig2 = New-AzureRmNetworkInterfaceIpConfig -Name $ipconfig2Name -PrivateIpAddressVersion IPv6
754+
755+
# Create NetworkInterface
756+
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgname -Location $location -IpConfiguration $ipconfig1,$ipconfig2 -Tag @{Name = "testtag"; Value = "testval"}
757+
758+
Assert-AreEqual $rgname $nic.ResourceGroupName
759+
Assert-AreEqual $nicName $nic.Name
760+
Assert-NotNull $nic.ResourceGuid
761+
Assert-AreEqual "Succeeded" $nic.ProvisioningState
762+
Assert-AreEqual $nic.IpConfigurations[0].Name $nic.IpConfigurations[0].Name
763+
Assert-AreEqual $nic.IpConfigurations[0].PublicIpAddress.Id $nic.IpConfigurations[0].PublicIpAddress.Id
764+
Assert-AreEqual $nic.IpConfigurations[0].Subnet.Id $nic.IpConfigurations[0].Subnet.Id
765+
Assert-NotNull $nic.IpConfigurations[0].PrivateIpAddress
766+
Assert-AreEqual "Dynamic" $nic.IpConfigurations[0].PrivateIpAllocationMethod
767+
768+
# Check publicIp address reference
769+
$publicip = Get-AzureRmPublicIpAddress -ResourceGroupName $rgname -name $publicIpName
770+
Assert-AreEqual $nic.IpConfigurations[0].PublicIpAddress.Id $publicip.Id
771+
Assert-AreEqual $nic.IpConfigurations[0].Id $publicip.IpConfiguration.Id
772+
773+
# Check Subnet address reference
774+
$vnet = Get-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname
775+
Assert-AreEqual $nic.IpConfigurations[0].Subnet.Id $vnet.Subnets[0].Id
776+
Assert-AreEqual $nic.IpConfigurations[0].Id $vnet.Subnets[0].IpConfigurations[0].Id
777+
778+
# Verify ipconfigs
779+
Assert-AreEqual 2 @($nic.IpConfigurations).Count
780+
781+
Assert-AreEqual $ipconfig1Name $nic.IpConfigurations[0].Name
782+
Assert-AreEqual $publicip.Id $nic.IpConfigurations[0].PublicIpAddress.Id
783+
Assert-AreEqual $vnet.Subnets[0].Id $nic.IpConfigurations[0].Subnet.Id
784+
Assert-NotNull $nic.IpConfigurations[0].PrivateIpAddress
785+
Assert-AreEqual "Dynamic" $nic.IpConfigurations[0].PrivateIpAllocationMethod
786+
Assert-AreEqual $nic.IpConfigurations[0].PrivateIpAddressVersion IPv4
787+
788+
Assert-AreEqual $ipconfig2Name $nic.IpConfigurations[1].Name
789+
Assert-Null $nic.IpConfigurations[1].PublicIpAddress
790+
Assert-Null $nic.IpConfigurations[1].Subnet
791+
Assert-AreEqual $nic.IpConfigurations[1].PrivateIpAddressVersion IPv6
792+
793+
# Delete NetworkInterface
794+
$delete = Remove-AzureRmNetworkInterface -ResourceGroupName $rgname -name $nicName -PassThru -Force
795+
Assert-AreEqual true $delete
796+
797+
$list = Get-AzureRmNetworkInterface -ResourceGroupName $rgname
798+
Assert-AreEqual 0 @($list).Count
799+
}
800+
finally
801+
{
802+
# Cleanup
803+
Clean-ResourceGroup $rgname
804+
}
718805
}

0 commit comments

Comments
 (0)