Skip to content

Add tests for Compute cmdlets with -AsJob parameter #5208

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jan 5, 2018
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ function Test-AvailabilitySet
$nonDefaultUD = 2;
$nonDefaultFD = 3;

New-AzureRmAvailabilitySet -ResourceGroupName $rgname -Name $asetName -Location $loc -PlatformUpdateDomainCount $nonDefaultUD -PlatformFaultDomainCount $nonDefaultFD -Sku 'Classic';
$job = New-AzureRmAvailabilitySet -ResourceGroupName $rgname -Name $asetName -Location $loc -PlatformUpdateDomainCount $nonDefaultUD -PlatformFaultDomainCount $nonDefaultFD -Sku 'Classic' -AsJob
$job | Wait-Job

$asets = Get-AzureRmAvailabilitySet -ResourceGroupName $rgname;
Assert-NotNull $asets;
Expand All @@ -45,7 +46,8 @@ function Test-AvailabilitySet
Assert-False {$aset.Managed};
Assert-AreEqual 'Classic' $aset.Sku;

$aset | Update-AzureRmAvailabilitySet -Managed;
$job = $aset | Update-AzureRmAvailabilitySet -Managed -AsJob
$job | Wait-Job
$aset = Get-AzureRmAvailabilitySet -ResourceGroupName $rgname -Name $asetName;

Assert-NotNull $aset;
Expand All @@ -63,7 +65,8 @@ function Test-AvailabilitySet
Assert-AreEqual $nonDefaultFD $aset.PlatformFaultDomainCount;
Assert-AreEqual 'Aligned' $aset.Sku;

Remove-AzureRmAvailabilitySet -ResourceGroupName $rgname -Name $asetName -Force;
$job = Remove-AzureRmAvailabilitySet -ResourceGroupName $rgname -Name $asetName -Force -AsJob
$job | Wait-Job

$asets = Get-AzureRmAvailabilitySet -ResourceGroupName $rgname;
Assert-AreEqual $asets $null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,12 @@ function Test-ContainerService
"oe6IQTw7zJF7xuBIzTYwjOCM197GKW7xc4GU4JZIN+faZ7njl/fxfUNdlqvgZUUn" +
"kfdrzU3PZPl0w9NuncgEje/PZ+YtZvIsnH7MLSPeIGNQwW6V2kc8";

$container = New-AzureRmContainerServiceConfig -Location $loc -OrchestratorType $orchestratorType `
$job = New-AzureRmContainerServiceConfig -Location $loc -OrchestratorType $orchestratorType `
-MasterDnsPrefix $masterDnsPrefixName -AdminUsername $adminUserName -SshPublicKey $sshPublicKey `
| Add-AzureRmContainerServiceAgentPoolProfile -Name $agentPoolProfileName -VmSize $vmSize -DnsPrefix $agentPoolDnsPrefixName -Count 1 `
| New-AzureRmContainerService -ResourceGroupName $rgname -Name $csName;
| New-AzureRmContainerService -ResourceGroupName $rgname -Name $csName -AsJob
$job | Wait-Job
$container = $job | Receive-Job

$cs = Get-AzureRmContainerService -ResourceGroupName $rgname -Name $csName;
$output = $cs | Out-String;
Expand All @@ -70,7 +72,9 @@ function Test-ContainerService
$output = $cslist | Out-String;
Assert-False { $output.Contains("AgentPoolProfiles") };

$st = Remove-AzureRmContainerService -ResourceGroupName $rgname -Name $csName -Force;
$job = Remove-AzureRmContainerService -ResourceGroupName $rgname -Name $csName -Force -AsJob
$job | Wait-Job
$st = $job | Receive-Job
}
finally
{
Expand Down Expand Up @@ -142,7 +146,7 @@ function Test-ContainerServiceUpdate
-VmSize $vmSize `
-DnsPrefix $agentPoolDnsPrefixName `
-Count 2 `
| Update-AzureRmContainerService;
| Update-AzureRmContainerService

$st = Get-AzureRmContainerService -ResourceGroupName $rgname -Name $csName | Remove-AzureRmContainerService -Force;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ function Test-Disk
Assert-AreEqual "1" $diskconfig.Zones
$diskconfig.Zones = $null

New-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskconfig;
$job = New-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskconfig -AsJob
$job | Wait-Job

# Get disk test
$disk = Get-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname;
Expand All @@ -73,10 +74,12 @@ function Test-Disk

# Config update test
$updateconfig = New-AzureRmDiskUpdateConfig -DiskSizeGB 10 -AccountType PremiumLRS -OsType Windows;
Update-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -DiskUpdate $updateconfig;
$job = Update-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -DiskUpdate $updateconfig -AsJob
$job | Wait-Job

# Remove test
Remove-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -Force;
$job = Remove-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname -Force -AsJob
$job | Wait-Job
}
finally
{
Expand Down Expand Up @@ -122,7 +125,8 @@ function Test-Snapshot
$snapshotconfig.EncryptionSettings.DiskEncryptionKey = $null;
$snapshotconfig.EncryptionSettings.KeyEncryptionKey = $null;
$snapshotconfig.CreationData.ImageReference = $null;
New-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Snapshot $snapshotconfig;
$job = New-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Snapshot $snapshotconfig -AsJob
$job | Wait-Job

# Get snapshot test
$snapshot = Get-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname;
Expand All @@ -138,10 +142,12 @@ function Test-Snapshot

# Config update test
$updateconfig = New-AzureRmSnapshotUpdateConfig -DiskSizeGB 10 -AccountType PremiumLRS -OsType Windows;
Update-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -SnapshotUpdate $updateconfig;
$job = Update-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -SnapshotUpdate $updateconfig -AsJob
$job | Wait-Job

# Remove test
Remove-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Force;
$job = Remove-AzureRmSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Force -AsJob
$job | Wait-Job
}
finally
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ function Test-Image
$imageConfig = Remove-AzureRmImageDataDisk -Image $imageConfig -Lun 3;
Assert-AreEqual 2 $imageConfig.StorageProfile.DataDisks.Count;

$createdImage = New-AzureRmImage -Image $imageConfig -ImageName $imageName -ResourceGroupName $rgname;
$job = New-AzureRmImage -Image $imageConfig -ImageName $imageName -ResourceGroupName $rgname -AsJob
$job | Wait-Job
$createdImage = $job | Receive-Job

# Verify Image properties
Assert-NotNull $createdImage.Id;
Expand All @@ -119,7 +121,8 @@ function Test-Image
$images = Get-AzureRmImage -ResourceGroupName $rgname;
Assert-AreEqual 1 $images.Count;

Remove-AzureRmImage -ResourceGroupName $rgname -ImageName $imageName -Force;
$job = Remove-AzureRmImage -ResourceGroupName $rgname -ImageName $imageName -Force -AsJob
$job | Wait-Job
$images = Get-AzureRmImage -ResourceGroupName $rgname;
Assert-AreEqual 0 $images.Count;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ function Test-VirtualMachineExtension
# Set extension settings by raw strings
$settingstr = '{"fileUris":[],"commandToExecute":"powershell Get-Process"}';
$protectedsettingstr = '{"storageAccountName":"' + $stoname + '","storageAccountKey":"' + $stokey + '"}';
Set-AzureRmVMExtension -ResourceGroupName $rgname -Location $loc -VMName $vmname -Name $extname -Publisher $publisher -ExtensionType $exttype -TypeHandlerVersion $extver -SettingString $settingstr -ProtectedSettingString $protectedsettingstr;
$job = Set-AzureRmVMExtension -ResourceGroupName $rgname -Location $loc -VMName $vmname -Name $extname -Publisher $publisher -ExtensionType $exttype -TypeHandlerVersion $extver -SettingString $settingstr -ProtectedSettingString $protectedsettingstr -AsJob
$job | Wait-Job

# Get VM Extension
$ext = Get-AzureRmVMExtension -ResourceGroupName $rgname -VMName $vmname -Name $extname;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ function Test-VirtualMachineSetRunCommand

$path = 'ScenarioTests\test.ps1';

$result = Invoke-AzureRmVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId $commandId -ScriptPath $path -Parameter $param;
$result_output = $result | Out-String;
$job = Invoke-AzureRmVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId $commandId -ScriptPath $path -Parameter $param -AsJob
$job | Wait-Job

# Remove All VMs
Get-AzureRmVM -ResourceGroupName $rgname | Remove-AzureRmVM -Force;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ function Test-VirtualMachineScaleSetDiskEncryptionExtension
Set-AzureRmVmssDiskEncryptionExtension -ResourceGroupName $rgname -VMScaleSetName $vmssName `
-AadClientID $aadClientID -AadClientSecret $aadClientSecret `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $keyVaultResourceId -Force;
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $keyVaultResourceId -Force

$result = Get-AzureRmVmssDiskEncryption -ResourceGroupName $rgname -VMScaleSetName $vmssName;
$result_string = $result | Out-String;
Expand Down Expand Up @@ -306,7 +306,8 @@ function Test-GetVirtualMachineScaleSetDiskEncryptionDataDisk
Assert-AreEqual "Encrypted" $result.DataVolumesEncrypted;
$output = $result | Out-String;

Disable-AzureRmVmssDiskEncryption -ResourceGroupName $rgname -VMScaleSetName $vmssName -Force;
$job = Disable-AzureRmVmssDiskEncryption -ResourceGroupName $rgname -VMScaleSetName $vmssName -Force -AsJob
$job | Wait-Job

$result = Get-AzureRmVmssDiskEncryption -ResourceGroupName $rgname;
$output = $result | Out-String;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,9 @@ function Test-VirtualMachineScaleSet-Common($IsManaged)
Assert-AreEqual "1" $vmss.Zones
$vmss.Zones = $null

$vmss = New-AzureRmVmss -ResourceGroupName $rgname -Name $vmssName -VirtualMachineScaleSet $vmss;
$job = New-AzureRmVmss -ResourceGroupName $rgname -Name $vmssName -VirtualMachineScaleSet $vmss -AsJob
$job | Wait-Job
$vmss = $job | Receive-Job

Assert-AreEqual $loc $vmss.Location;
Assert-AreEqual 2 $vmss.Sku.Capacity;
Expand Down Expand Up @@ -235,13 +237,20 @@ function Test-VirtualMachineScaleSet-Common($IsManaged)
}

$st = $vmssResult | Stop-AzureRmVmss -StayProvision -Force;
$st = $vmssResult | Stop-AzureRmVmss -Force;
$st = $vmssResult | Start-AzureRmVmss;
$st = $vmssResult | Restart-AzureRmVmss;
$job = $vmssResult | Stop-AzureRmVmss -Force -AsJob
$job | Wait-Job
$st = $job | Receive-Job
$job = $vmssResult | Start-AzureRmVmss -AsJob
$job | Wait-Job
$st = $job | Receive-Job
$job = $vmssResult | Restart-AzureRmVmss -AsJob
$job | Wait-Job
$st = $job | Receive-Job

if ($IsManaged -eq $true)
{
$st = $vmssResult | Set-AzureRmVmss -ReimageAll;
$job = $vmssResult | Set-AzureRmVmss -ReimageAll -AsJob
$job | Wait-Job
}
$instanceListParam = @();
for ($i = 0; $i -lt 2; $i++)
Expand All @@ -257,13 +266,16 @@ function Test-VirtualMachineScaleSet-Common($IsManaged)
{
for ($j = 0; $j -lt 2; $j++)
{
$st = Set-AzureRmVmssVM -ReimageAll -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceId $j
$job = Set-AzureRmVmssVM -ReimageAll -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceId $j -AsJob
$job | Wait-Job
$st = $job | Receive-Job
}
}

# Remove
$st = Remove-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceId 1 -Force;
$st = $vmssResult | Remove-AzureRmVmss -Force;
$job = $vmssResult | Remove-AzureRmVmss -Force -AsJob
$job | Wait-Job
}
finally
{
Expand Down Expand Up @@ -368,7 +380,8 @@ function Test-VirtualMachineScaleSetUpdate
"Cannot specify both Windows and Linux configurations.";

$tags = @{test1 = "testval1"; test2 = "testval2" };
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssName -Tag $tags -SkuCapacity 3;
$job = Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssName -Tag $tags -SkuCapacity 3 -AsJob
$job | Wait-Job

$vmss = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName;
$returned_tags = $vmss.Tags;
Expand Down Expand Up @@ -502,7 +515,8 @@ function Test-VirtualMachineScaleSetReimageUpdate
$vmssVMs = Get-AzureRmVmssVM -ResourceGroupName $rgname -VMScaleSetName $vmssName
$id = $vmssVMs[0].InstanceId

Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceId $id;
$job = Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceId $id -AsJob
$job | Wait-Job
$vmssResult = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName;
$vmssInstanceViewResult = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName -InstanceView;
Assert-AreEqual "ProvisioningState/succeeded" $vmssInstanceViewResult.VirtualMachine.StatusesSummary[0].Code;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,12 @@ function Test-VirtualMachine
Assert-AreEqual "BGInfo" $vm1.Extensions[0].VirtualMachineExtensionType
Assert-AreEqual "Microsoft.Compute" $vm1.Extensions[0].Publisher

Start-AzureRmVM -Name $vmname -ResourceGroupName $rgname;
Restart-AzureRmVM -Name $vmname -ResourceGroupName $rgname;
Stop-AzureRmVM -Name $vmname -ResourceGroupName $rgname -Force -StayProvisioned;
$job = Start-AzureRmVM -Name $vmname -ResourceGroupName $rgname -AsJob
$job | Wait-Job
$job = Restart-AzureRmVM -Name $vmname -ResourceGroupName $rgname -AsJob
$job | Wait-Job
$job = Stop-AzureRmVM -Name $vmname -ResourceGroupName $rgname -Force -StayProvisioned -AsJob
$job | Wait-Job

# Update
$p.Location = $vm1.Location;
Expand Down Expand Up @@ -204,8 +207,9 @@ function Test-VirtualMachine
Assert-True {$a.Contains("Sku");}

# Remove All VMs
Get-AzureRmVM -ResourceGroupName $rgname | Remove-AzureRmVM -ResourceGroupName $rgname -Force;
$vms = Get-AzureRmVM -ResourceGroupName $rgname;
$job = Get-AzureRmVM -ResourceGroupName $rgname | Remove-AzureRmVM -ResourceGroupName $rgname -Force -AsJob
$job | Wait-Job
$vms = Get-AzureRmVM -ResourceGroupName $rgname;
Assert-AreEqual $vms $null;

# Availability Set
Expand Down Expand Up @@ -380,7 +384,8 @@ function Test-VirtualMachinePiping

$dest = Get-ComputeTestResourceName;
$templatePath = "$TestOutputRoot\template.txt";
Get-AzureRmVM -ResourceGroupName $rgname | Save-AzureRmVMImage -DestinationContainerName $dest -VHDNamePrefix 'pslib' -Overwrite -Path $templatePath;
$job = Get-AzureRmVM -ResourceGroupName $rgname | Save-AzureRmVMImage -DestinationContainerName $dest -VHDNamePrefix 'pslib' -Overwrite -Path $templatePath -AsJob
$job | Wait-Job

$template = Get-Content $templatePath;
Assert-True { $template[1].Contains("$schema"); }
Expand Down Expand Up @@ -456,7 +461,8 @@ function Test-VirtualMachineUpdateWithoutNic
| Set-AzureRmVMOperatingSystem -Windows -ComputerName $computerName -Credential $cred;

$imgRef = Get-DefaultCRPImage -loc $loc;
$imgRef | Set-AzureRmVMSourceImage -VM $p | New-AzureRmVM -ResourceGroupName $rgname -Location $loc;
$job = $imgRef | Set-AzureRmVMSourceImage -VM $p | New-AzureRmVM -ResourceGroupName $rgname -Location $loc -AsJob
$job | Wait-Job

# Get VM
$vm1 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;
Expand Down Expand Up @@ -1314,7 +1320,8 @@ function Test-VirtualMachineDataDisk
$vm1 = Add-AzureRmVMDataDisk -VM $vm1 -Name $dataDiskName3 -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 3 -VhdUri $dataDiskVhdUri3 -CreateOption Empty;

# Update
Update-AzureRmVM -ResourceGroupName $rgname -VM $vm1;
$job = Update-AzureRmVM -ResourceGroupName $rgname -VM $vm1 -AsJob
$job | Wait-Job

$vm2 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;
Assert-AreEqual $vm2.NetworkProfile.NetworkInterfaces.Count 1;
Expand Down Expand Up @@ -2693,7 +2700,8 @@ function Test-VirtualMachineRedeploy
Assert-NotNull $vm2.Location;

# Redeploy the VM
Set-AzureRmVM -ResourceGroupName $rgname -Name $vmname -Redeploy;
$job = Set-AzureRmVM -ResourceGroupName $rgname -Name $vmname -Redeploy -AsJob
$job | Wait-Job

$vm2 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;

Expand Down Expand Up @@ -2979,7 +2987,8 @@ function Test-VirtualMachineManagedDiskConversion
Stop-AzureRmVM -ResourceGroupName $rgname -Name $vmname -Force

# Convert VM to managed disks
ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $rgname -VMName $vmname
$job = ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $rgname -VMName $vmname -AsJob
$job | Wait-Job

$vm2 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ public class SetAzureVMExtensionCommand : SetAzureVMExtensionBaseCmdlet
[ValidateNotNullOrEmpty]
public string ProtectedSettingString { get; set; }

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }

public override void ExecuteCmdlet()
{
base.ExecuteCmdlet();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ public class RemoveAzureVmssDiskEncryptionCommand : VirtualMachineScaleSetExtens
[ValidateNotNullOrEmpty]
public SwitchParameter Force { get; set; }

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }

public override void ExecuteCmdlet()
{
base.ExecuteCmdlet();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,6 @@ public override void ExecuteCmdlet()
});
}

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }

[Parameter(
ParameterSetName = "DefaultParameter",
Position = 1,
Expand Down Expand Up @@ -164,6 +161,9 @@ public override void ExecuteCmdlet()
ValueFromPipeline = true)]
[AllowNull]
public PSContainerService ContainerService { get; set; }

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }
}

[Cmdlet(VerbsData.Update, "AzureRmContainerService", DefaultParameterSetName = "DefaultParameter", SupportsShouldProcess = true)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,6 @@ public override void ExecuteCmdlet()
});
}

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }

[Parameter(
ParameterSetName = "DefaultParameter",
Position = 1,
Expand All @@ -145,5 +142,8 @@ public override void ExecuteCmdlet()
Mandatory = false)]
[AllowNull]
public SwitchParameter Force { get; set; }

[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }
}
}
Loading