Skip to content

Commit 528ebe1

Browse files
committed
Update Tests
1 parent 50c01e6 commit 528ebe1

File tree

6 files changed

+3120
-5159
lines changed

6 files changed

+3120
-5159
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VMDynamicTests.ps1

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function get_all_vm_locations
1616
{
1717
$st = Write-Verbose 'Getting all Azure location - Start';
1818

19-
$locations = Get-AzureLocation | where { $_.Name -like 'Microsoft.Compute/virtualMachines' } | select -ExpandProperty Locations;
19+
$locations = Get-AzureLocation | where { $_.Name -eq 'Microsoft.Compute/virtualMachines' } | select -ExpandProperty Locations;
2020

2121
$st = Write-Verbose 'Getting all Azure location - End';
2222

@@ -91,7 +91,7 @@ function get_vm_config_object
9191
9292
$st = Write-Verbose "Creating VM Config Object - Start";
9393
94-
$vmname = 'vm' + $rgname;
94+
$vmname = $rgname + 'vm';
9595
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
9696
9797
$st = Write-Verbose "Creating VM Config Object - End";
@@ -110,12 +110,13 @@ function get_created_storage_account_name
110110
111111
$st = Write-Verbose "Creating and getting storage account for '${loc}' and '${rgname}' - Start";
112112
113-
$stoname = 'sto' + $rgname;
113+
$stoname = $rgname + 'sto';
114114
$stotype = 'Standard_GRS';
115115
116116
$st = Write-Verbose "Creating and getting storage account for '${loc}' and '${rgname}' - '${stotype}' & '${stoname}'";
117117
118118
$st = New-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type $stotype;
119+
$st = Set-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Tags (Get-ComputeTestTag $global:ps_test_tag_name);
119120
$st = Get-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname;
120121
121122
$st = Write-Verbose "Creating and getting storage account for '${loc}' and '${rgname}' - End";
@@ -138,9 +139,9 @@ function create_and_setup_nic_ids
138139
139140
$st = Write-Verbose "Creating and getting NICs for '${loc}' and '${rgname}' - Start";
140141
141-
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
142-
$vnet = New-AzureVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
143-
$vnet = Get-AzureVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
142+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ($rgname + 'subnet') -AddressPrefix "10.0.0.0/24";
143+
$vnet = New-AzureVirtualNetwork -Force -Name ($rgname + 'vnet') -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet -Tag (Get-ComputeTestTag $global:ps_test_tag_name);
144+
$vnet = Get-AzureVirtualNetwork -Name ($rgname + 'vnet') -ResourceGroupName $rgname;
144145
$subnetId = $vnet.Subnets[0].Id;
145146
146147
'@;
@@ -159,7 +160,7 @@ function create_and_setup_nic_ids
159160
for ($i = 0; $i -lt $num_of_nic_ids; $i++)
160161
{
161162
$nic_var_name = '$nic' + $i;
162-
$nic_name_str = "('nic${i}'" + " + `$rgname)";
163+
$nic_name_str = "(`$rgname + 'nic${i}')";
163164
$primary_switch_text = '';
164165
if (($num_of_nic_ids -gt 1) -and ($i -eq $primary_id))
165166
{
@@ -174,7 +175,7 @@ function create_and_setup_nic_ids
174175
$fn_body +=
175176
@"
176177
177-
${nic_var_name} = New-AzureNetworkInterface -Force -Name ${nic_name_str} -ResourceGroupName `$rgname -Location `$loc -SubnetId `$subnetId;
178+
${nic_var_name} = New-AzureNetworkInterface -Force -Name ${nic_name_str} -ResourceGroupName `$rgname -Location `$loc -SubnetId `$subnetId -Tag (Get-ComputeTestTag `$global:ps_test_tag_name);
178179
`$nic_ids[$i] = ${nic_var_name}.Id;
179180
`$vmconfig = Add-AzureVMNetworkInterface -VM `$vmconfig -Id ${nic_var_name}.Id${primary_switch_text};
180181
@@ -206,10 +207,10 @@ function create_and_setup_vm_config_object
206207
$vmconfig = get_vm_config_object $rgname $vmsize
207208
208209
$user = "Foo12";
209-
$password = "BaR#123" + $rgname;
210+
$password = $rgname + "BaR#123";
210211
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
211212
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
212-
$computerName = "cn" + $rgname;
213+
$computerName = $rgname + "cn";
213214
$vmconfig = Set-AzureVMOperatingSystem -VM $vmconfig -Windows -ComputerName $computerName -Credential $cred;
214215
215216
$st = Write-Verbose "Creating and setting up the VM config object for '${loc}', '${rgname}' and '${vmsize}' - End";
@@ -256,7 +257,7 @@ Run Generated VM Dynamic Tests
256257
#>
257258
function Run-VMDynamicTests
258259
{
259-
param ([int] $num_total_generated_tests = 3, [string] $base_folder = '.\ScenarioTests\Generated')
260+
param ([int] $num_total_generated_tests = 3, [string] $base_folder = '.\ScenarioTests\Generated', [string] $test_tag_name = $null)
260261

261262
$target_location = Get-ComputeTestLocation;
262263

@@ -279,6 +280,11 @@ function Run-VMDynamicTests
279280
$random_seed = get_hash_int_value $random_sstr;
280281

281282
$random_vmsize_seeds = @($null) * $num_total_generated_tests;
283+
284+
if (($test_tag_name -eq $null) -or ($test_tag_name -eq ''))
285+
{
286+
$test_tag_name = $random_sstr;
287+
}
282288

283289
for ($i = 0; $i -lt $num_total_generated_tests; $i++)
284290
{
@@ -312,6 +318,7 @@ function Run-VMDynamicTests
312318
# Generate New Dynamic Test Files
313319
$st = New-Item -Path $generated_file_name -Type File -Value '' -Force;
314320
$st = $comment_header_str | Out-File -Encoding ASCII -Append -FilePath $generated_file_name -Force;
321+
$st = ("`n`$global:ps_test_tag_name = '" + $test_tag_name + "'`n") | Out-File -Encoding ASCII -Append -FilePath $generated_file_name -Force;
315322
$st = $func_get_vm_config_object | Out-File -Encoding ASCII -Append -FilePath $generated_file_name -Force;
316323
$st = $func_get_created_storage_account_name | Out-File -Encoding ASCII -Append -FilePath $generated_file_name -Force;
317324
$st = (func_create_and_setup_nic_ids $random_seed) | Out-File -Encoding ASCII -Append -FilePath $generated_file_name -Force;
@@ -347,7 +354,7 @@ function ${generated_func_name}
347354
`$st = Write-Verbose `"Running Test ${generated_func_name} - Start `${rgname}, `${loc} & `${vmsize}`";
348355
349356
`$st = Write-Verbose 'Running Test ${generated_func_name} - Creating Resource Group';
350-
`$st = New-AzureResourceGroup -Location `$loc -Name `$rgname -Force;
357+
`$st = New-AzureResourceGroup -Location `$loc -Name `$rgname -Tag (Get-ComputeTestTag `$global:ps_test_tag_name) -Force;
351358
352359
`$vmconfig = create_and_setup_vm_config_object `$loc `$rgname `$vmsize;
353360
@@ -363,8 +370,9 @@ function ${generated_func_name}
363370
# Virtual Machine
364371
`$st = Write-Verbose 'Running Test ${generated_func_name} - Creating VM';
365372
366-
`$vmname = 'vm' + `$rgname;
367-
`$st = New-AzureVM -ResourceGroupName `$rgname -Location `$loc -Name `$vmname -VM `$vmconfig;
373+
`$vmname = `$rgname + 'vm';
374+
375+
`$st = New-AzureVM -ResourceGroupName `$rgname -Location `$loc -Name `$vmname -VM `$vmconfig -Tags (Get-ComputeTestTag `$global:ps_test_tag_name);
368376
369377
# Get VM
370378
`$st = Write-Verbose 'Running Test ${generated_func_name} - Getting VM';

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineExtensionTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ public void TestVirtualMachineExtension()
2525
{
2626
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineExtension");
2727
}
28+
29+
[Fact(Skip = "Set-AzureVMExtension does not return (for a long period of time).")]
30+
[Trait(Category.AcceptanceType, Category.CheckIn)]
31+
public void TestVirtualMachineExtensionUsingHashTable()
32+
{
33+
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineExtensionUsingHashTable");
34+
}
2835

2936
[Fact]
3037
[Trait(Category.AcceptanceType, Category.CheckIn)]

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineExtensionTests.ps1

Lines changed: 126 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ Test Virtual Machine Extensions
1818
#>
1919
function Test-VirtualMachineExtension
2020
{
21-
Switch-AzureMode -Name AzureResourceManager;
2221
# Setup
2322
$rgname = Get-ComputeTestResourceName
2423

@@ -102,15 +101,12 @@ function Test-VirtualMachineExtension
102101
Assert-AreEqual $p.OSProfile.AdminPassword $password;
103102
Assert-AreEqual $p.OSProfile.WindowsConfiguration.ProvisionVMAgent $true;
104103

105-
# TODO : The test is outdated, need re-recording and re-enabling these fields for validation
106-
#
107-
# Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer;
108-
# Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
109-
# Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus;
110-
# Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version;
104+
Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer;
105+
Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
106+
Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus;
107+
Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version;
111108

112109
# Virtual Machine
113-
# TODO: Still need to do retry for New-AzureVM for SA, even it's returned in Get-.
114110
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p;
115111

116112
# Virtual Machine Extension
@@ -144,8 +140,122 @@ function Test-VirtualMachineExtension
144140
Assert-NotNull $ext.ProvisioningState;
145141
Assert-NotNull $ext.Statuses;
146142

143+
# Remove Extension
144+
Remove-AzureVMExtension -ResourceGroupName $rgname -VMName $vmname -Name $extname -Force;
145+
}
146+
finally
147+
{
148+
# Cleanup
149+
Clean-ResourceGroup $rgname
150+
}
151+
}
152+
153+
154+
<#
155+
.SYNOPSIS
156+
Test Virtual Machine Extensions
157+
#>
158+
function Test-VirtualMachineExtensionUsingHashTable
159+
{
160+
# Setup
161+
$rgname = Get-ComputeTestResourceName
162+
163+
try
164+
{
165+
# Common
166+
$loc = 'westus';
167+
New-AzureResourceGroup -Name $rgname -Location $loc -Force;
168+
169+
# VM Profile & Hardware
170+
$vmsize = 'Standard_A2';
171+
$vmname = 'vm' + $rgname;
172+
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
173+
Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize;
174+
175+
# NRP
176+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
177+
$vnet = New-AzureVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
178+
$vnet = Get-AzureVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
179+
$subnetId = $vnet.Subnets[0].Id;
180+
$pubip = New-AzurePublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Dynamic -DomainNameLabel ('pubip' + $rgname);
181+
$pubip = Get-AzurePublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
182+
$pubipId = $pubip.Id;
183+
$nic = New-AzureNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
184+
$nic = Get-AzureNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
185+
$nicId = $nic.Id;
186+
187+
$p = Add-AzureVMNetworkInterface -VM $p -Id $nicId;
188+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
189+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
190+
191+
# Storage Account (SA)
192+
$stoname = 'sto' + $rgname;
193+
$stotype = 'Standard_GRS';
194+
New-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type $stotype;
195+
Retry-IfException { $global:stoaccount = Get-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname; }
196+
$stokey = (Get-AzureStorageAccountKey -ResourceGroupName $rgname -Name $stoname).Key1;
197+
198+
$osDiskName = 'osDisk';
199+
$osDiskCaching = 'ReadWrite';
200+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
201+
$dataDiskVhdUri1 = "https://$stoname.blob.core.windows.net/test/data1.vhd";
202+
$dataDiskVhdUri2 = "https://$stoname.blob.core.windows.net/test/data2.vhd";
203+
$dataDiskVhdUri3 = "https://$stoname.blob.core.windows.net/test/data3.vhd";
204+
205+
$p = Set-AzureVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
206+
207+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 1 -VhdUri $dataDiskVhdUri1 -CreateOption Empty;
208+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 2 -VhdUri $dataDiskVhdUri2 -CreateOption Empty;
209+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 3 -VhdUri $dataDiskVhdUri3 -CreateOption Empty;
210+
$p = Remove-AzureVMDataDisk -VM $p -Name 'testDataDisk3';
211+
212+
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
213+
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
214+
Assert-AreEqual $p.StorageProfile.OSDisk.VirtualHardDisk.Uri $osDiskVhdUri;
215+
Assert-AreEqual $p.StorageProfile.DataDisks.Count 2;
216+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Caching 'ReadOnly';
217+
Assert-AreEqual $p.StorageProfile.DataDisks[0].DiskSizeGB 10;
218+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Lun 1;
219+
Assert-AreEqual $p.StorageProfile.DataDisks[0].VirtualHardDisk.Uri $dataDiskVhdUri1;
220+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Caching 'ReadOnly';
221+
Assert-AreEqual $p.StorageProfile.DataDisks[1].DiskSizeGB 11;
222+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Lun 2;
223+
Assert-AreEqual $p.StorageProfile.DataDisks[1].VirtualHardDisk.Uri $dataDiskVhdUri2;
224+
225+
# OS & Image
226+
$user = "Foo12";
227+
$password = 'BaR@123' + $rgname;
228+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
229+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
230+
$computerName = 'test';
231+
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
232+
233+
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent;
234+
235+
$imgRef = Get-DefaultCRPWindowsImageOffline;
236+
$p = ($imgRef | Set-AzureVMSourceImage -VM $p);
237+
238+
Assert-AreEqual $p.OSProfile.AdminUsername $user;
239+
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
240+
Assert-AreEqual $p.OSProfile.AdminPassword $password;
241+
Assert-AreEqual $p.OSProfile.WindowsConfiguration.ProvisionVMAgent $true;
242+
243+
Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer;
244+
Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
245+
Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus;
246+
Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version;
247+
248+
# Virtual Machine Create
249+
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p;
250+
251+
# Virtual Machine Extension
252+
$extname = $rgname + 'ext';
253+
$publisher = 'Microsoft.Compute';
254+
$exttype = 'CustomScriptExtension';
255+
$extver = '1.1';
256+
147257
# Set extension settings by hash table
148-
$settings = @{"fileUris" = "[]"; "commandToExecute" = ""};
258+
$settings = @{"fileUris" = ""; "commandToExecute" = ""};
149259
$protectedsettings = @{"storageAccountName" = $stoname; "storageAccountKey" = $stokey};
150260
Set-AzureVMExtension -ResourceGroupName $rgname -Location $loc -VMName $vmname -Name $extname -Publisher $publisher -ExtensionType $exttype -TypeHandlerVersion $extver -Settings $settings -ProtectedSettings $protectedsettings;
151261

@@ -175,12 +285,10 @@ function Test-VirtualMachineExtension
175285
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces.Count 1;
176286
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
177287

178-
# TODO : The test is outdated, need re-recording and re-enabling these fields for validation
179-
#
180-
# Assert-AreEqual $vm1.StorageProfile.ImageReference.Offer $imgRef.Offer;
181-
# Assert-AreEqual $vm1.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
182-
# Assert-AreEqual $vm1.StorageProfile.ImageReference.Sku $imgRef.Skus;
183-
# Assert-AreEqual $vm1.StorageProfile.ImageReference.Version $imgRef.Version;
288+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Offer $imgRef.Offer;
289+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
290+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Sku $imgRef.Skus;
291+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Version $imgRef.Version;
184292

185293
Assert-AreEqual $vm1.OSProfile.AdminUsername $user;
186294
Assert-AreEqual $vm1.OSProfile.ComputerName $computerName;
@@ -195,7 +303,8 @@ function Test-VirtualMachineExtension
195303
Assert-AreEqual $vm1.Extensions[0].TypeHandlerVersion $extver;
196304
Assert-NotNull $vm1.Extensions[0].Settings;
197305

198-
# *** TODO: The removal call did not return. 12/12/2014
306+
# Remove Extension
307+
Remove-AzureVMExtension -ResourceGroupName $rgname -VMName $vmname -Name $extname -Force;
199308
}
200309
finally
201310
{
@@ -302,7 +411,7 @@ function Test-VirtualMachineCustomScriptExtension
302411
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p;
303412

304413
# Virtual Machine Extension
305-
$extname = 'csetest';
414+
$extname = $rgname + 'ext';
306415
$extver = '1.1';
307416
$publisher = 'Microsoft.Compute';
308417
$exttype = 'CustomScriptExtension';

0 commit comments

Comments
 (0)