@@ -176,6 +176,7 @@ function Test-VirtualMachine
176
176
$a = $vms | Out-String ;
177
177
Write-Verbose (" Get-AzureRmVM (List) output:" );
178
178
Write-Verbose ($a );
179
+ Assert-True {$a.Contains (" NIC" );}
179
180
Assert-AreNotEqual $vms $null ;
180
181
181
182
# Remove All VMs
@@ -2657,3 +2658,133 @@ function Test-VirtualMachineRedeploy
2657
2658
Clean - ResourceGroup $rgname
2658
2659
}
2659
2660
}
2661
+
2662
+ <#
2663
+ . SYNOPSIS
2664
+ Test Virtual Machines
2665
+ #>
2666
+ function Test-VirtualMachineGetStatus
2667
+ {
2668
+ param ($loc )
2669
+ # Setup
2670
+ $rgname = Get-ComputeTestResourceName
2671
+
2672
+ try
2673
+ {
2674
+ # Common
2675
+ if ($loc -eq $null )
2676
+ {
2677
+ $loc = Get-ComputeVMLocation ;
2678
+ }
2679
+ New-AzureRmResourceGroup - Name $rgname - Location $loc - Force;
2680
+
2681
+ # VM Profile & Hardware
2682
+ $vmsize = ' Standard_A4' ;
2683
+ $vmname = ' vm' + $rgname ;
2684
+ $p = New-AzureRmVMConfig - VMName $vmname - VMSize $vmsize ;
2685
+ Assert-AreEqual $p.HardwareProfile.VmSize $vmsize ;
2686
+
2687
+ # NRP
2688
+ $subnet = New-AzureRmVirtualNetworkSubnetConfig - Name (' subnet' + $rgname ) - AddressPrefix " 10.0.0.0/24" ;
2689
+ $vnet = New-AzureRmVirtualNetwork - Force - Name (' vnet' + $rgname ) - ResourceGroupName $rgname - Location $loc - AddressPrefix " 10.0.0.0/16" - Subnet $subnet ;
2690
+ $vnet = Get-AzureRmVirtualNetwork - Name (' vnet' + $rgname ) - ResourceGroupName $rgname ;
2691
+ $subnetId = $vnet.Subnets [0 ].Id;
2692
+ $pubip = New-AzureRmPublicIpAddress - Force - Name (' pubip' + $rgname ) - ResourceGroupName $rgname - Location $loc - AllocationMethod Dynamic - DomainNameLabel (' pubip' + $rgname );
2693
+ $pubip = Get-AzureRmPublicIpAddress - Name (' pubip' + $rgname ) - ResourceGroupName $rgname ;
2694
+ $pubipId = $pubip.Id ;
2695
+ $nic = New-AzureRmNetworkInterface - Force - Name (' nic' + $rgname ) - ResourceGroupName $rgname - Location $loc - SubnetId $subnetId - PublicIpAddressId $pubip.Id ;
2696
+ $nic = Get-AzureRmNetworkInterface - Name (' nic' + $rgname ) - ResourceGroupName $rgname ;
2697
+ $nicId = $nic.Id ;
2698
+
2699
+ $p = Add-AzureRmVMNetworkInterface - VM $p - Id $nicId ;
2700
+ Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1 ;
2701
+ Assert-AreEqual $p.NetworkProfile.NetworkInterfaces [0 ].Id $nicId ;
2702
+
2703
+ # Storage Account (SA)
2704
+ $stoname = ' sto' + $rgname ;
2705
+ $stotype = ' Standard_GRS' ;
2706
+ New-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype ;
2707
+ $stoaccount = Get-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname ;
2708
+
2709
+ $osDiskName = ' osDisk' ;
2710
+ $osDiskCaching = ' ReadWrite' ;
2711
+ $osDiskVhdUri = " https://$stoname .blob.core.windows.net/test/os.vhd" ;
2712
+
2713
+ $p = Set-AzureRmVMOSDisk - VM $p - Name $osDiskName - VhdUri $osDiskVhdUri - Caching $osDiskCaching - CreateOption FromImage;
2714
+
2715
+ Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching ;
2716
+ Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName ;
2717
+ Assert-AreEqual $p.StorageProfile.OSDisk.Vhd.Uri $osDiskVhdUri ;
2718
+
2719
+ # OS & Image
2720
+ $user = " Foo12" ;
2721
+ $password = $PLACEHOLDER ;
2722
+ $securePassword = ConvertTo-SecureString $password - AsPlainText - Force;
2723
+ $cred = New-Object System.Management.Automation.PSCredential ($user , $securePassword );
2724
+ $computerName = ' test' ;
2725
+ $vhdContainer = " https://$stoname .blob.core.windows.net/test" ;
2726
+
2727
+ # $p.StorageProfile.OSDisk = $null;
2728
+ $p = Set-AzureRmVMOperatingSystem - VM $p - Windows - ComputerName $computerName - Credential $cred ;
2729
+
2730
+ $imgRef = Get-DefaultCRPImage - loc $loc ;
2731
+ $p = ($imgRef | Set-AzureRmVMSourceImage - VM $p );
2732
+
2733
+ Assert-AreEqual $p.OSProfile.AdminUsername $user ;
2734
+ Assert-AreEqual $p.OSProfile.ComputerName $computerName ;
2735
+ Assert-AreEqual $p.OSProfile.AdminPassword $password ;
2736
+
2737
+ Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer ;
2738
+ Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName ;
2739
+ Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus ;
2740
+ Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version ;
2741
+
2742
+ # Virtual Machine
2743
+ New-AzureRmVM - ResourceGroupName $rgname - Location $loc - VM $p ;
2744
+
2745
+ # Get VM
2746
+ $vm1 = Get-AzureRmVM - Name $vmname - ResourceGroupName $rgname ;
2747
+ $a = $vm1 | Out-String ;
2748
+ Write-Verbose (" Get-AzureRmVM output:" );
2749
+ Write-Verbose ($a );
2750
+ $a = $vm1 | Format-Table | Out-String ;
2751
+ Write-Verbose (" Get-AzureRmVM | Format-Table output:" );
2752
+ Write-Verbose ($a );
2753
+
2754
+ Assert-AreEqual $vm1.Name $vmname ;
2755
+ Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces.Count 1 ;
2756
+ Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces [0 ].Id $nicId ;
2757
+
2758
+ Assert-AreEqual $vm1.StorageProfile.ImageReference.Offer $imgRef.Offer ;
2759
+ Assert-AreEqual $vm1.StorageProfile.ImageReference.Publisher $imgRef.PublisherName ;
2760
+ Assert-AreEqual $vm1.StorageProfile.ImageReference.Sku $imgRef.Skus ;
2761
+ Assert-AreEqual $vm1.StorageProfile.ImageReference.Version $imgRef.Version ;
2762
+
2763
+ Assert-AreEqual $vm1.OSProfile.AdminUsername $user ;
2764
+ Assert-AreEqual $vm1.OSProfile.ComputerName $computerName ;
2765
+ Assert-AreEqual $vm1.HardwareProfile.VmSize $vmsize ;
2766
+
2767
+ $vm = Get-AzureRmVM - Name $vmname - ResourceGroupName $rgname - Status;
2768
+ $a = $vm | Out-String ;
2769
+ Write-Verbose ($a );
2770
+ Assert-True {$a.Contains (" Statuses" );}
2771
+
2772
+ $vms = Get-AzureRmVM - ResourceGroupName $rgname - Status;
2773
+ $a = $vms | Out-String ;
2774
+ Write-Verbose ($a );
2775
+ Assert-True {$a.Contains (" PowerState" );}
2776
+
2777
+ $vms = Get-AzureRmVM - Status;
2778
+ $a = $vms | Out-String ;
2779
+ Write-Verbose ($a );
2780
+ Assert-True {$a.Contains (" PowerState" );}
2781
+
2782
+ # Remove
2783
+ Remove-AzureRmVM - Name $vmname - ResourceGroupName $rgname - Force;
2784
+ }
2785
+ finally
2786
+ {
2787
+ # Cleanup
2788
+ Clean - ResourceGroup $rgname
2789
+ }
2790
+ }
0 commit comments