Skip to content

Commit 06ce282

Browse files
committed
Merge pull request #25 from huangpf/dev
AzureRT PR S50
2 parents 00fbf44 + 49458ea commit 06ce282

File tree

11 files changed

+1272
-24
lines changed

11 files changed

+1272
-24
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,9 @@
289289
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineWithVMAgentAutoUpdate.json">
290290
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
291291
</None>
292+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVMImageCmdletOutputFormat.json">
293+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
294+
</None>
292295
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VMDynamicTests\RunVMDynamicTests.json">
293296
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
294297
</None>

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

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,25 @@ function Get-ComputeTestMode
8888
return $testMode;
8989
}
9090

91-
92-
<#
93-
.SYNOPSIS
94-
Get Compute Test Location
95-
#>
96-
function Get-ComputTestLocation
91+
# Get Compute Test Location
92+
function Get-ComputeTestLocation
9793
{
9894
return $env:AZURE_COMPUTE_TEST_LOCATION;
9995
}
10096

97+
# Cleans the created resource group
98+
function Clean-ResourceGroup($rgname)
99+
{
100+
Remove-AzureResourceGroup -Name $rgname -Force;
101+
}
102+
103+
# Get Compute Test Tag
104+
function Get-ComputeTestTag
105+
{
106+
param ([string] $tagname)
107+
108+
return @{ Name = $tagname; Value = (Get-Date).ToUniversalTime().ToString("u") };
109+
}
101110

102111
######################
103112
#
@@ -156,11 +165,11 @@ Gets random resource name
156165
#>
157166
function Get-RandomItemName
158167
{
159-
param([string] $prefix = "pslibtest")
168+
param([string] $prefix = "crptestps")
160169

161170
if ($prefix -eq $null -or $prefix -eq '')
162171
{
163-
$prefix = "pslibtest";
172+
$prefix = "crptestps";
164173
}
165174

166175
$str = $prefix + ((Get-Random) % 10000);
@@ -284,9 +293,37 @@ function Get-DefaultVMConfig
284293

285294
# VM Profile & Hardware
286295
$vmsize = Get-DefaultVMSize $location;
287-
$vmname = Get-RandomItemName 'pstestvm';
296+
$vmname = Get-RandomItemName 'crptestps';
288297

289298
$vm = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
290299

291300
return $vm;
292-
}
301+
}
302+
303+
# Assert Output Contains
304+
function Assert-OutputContains
305+
{
306+
param([string] $cmd, [string[]] $sstr)
307+
308+
$st = Write-Verbose ('Running Command : ' + $cmd);
309+
$output = Invoke-Expression $cmd | Out-String;
310+
311+
$max_output_len = 1500;
312+
if ($output.Length -gt $max_output_len)
313+
{
314+
# Truncate Long Output in Logs
315+
$st = Write-Verbose ('Output String : ' + $output.Substring(0, $max_output_len) + '...');
316+
}
317+
else
318+
{
319+
$st = Write-Verbose ('Output String : ' + $output);
320+
}
321+
322+
$index = 1;
323+
foreach ($str in $sstr)
324+
{
325+
$st = Write-Verbose ('Search String ' + $index++ + " : `'" + $str + "`'");
326+
Assert-True { $output.Contains($str) }
327+
$st = Write-Verbose "Found.";
328+
}
329+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ function Run-VMDynamicTests
259259
{
260260
param ([int] $num_total_generated_tests = 3, [string] $base_folder = '.\ScenarioTests\Generated')
261261

262-
$target_location = Get-ComputTestLocation;
262+
$target_location = Get-ComputeTestLocation;
263263

264264
$st = Write-Verbose 'Running VM Dynamic Tests - Start';
265265

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,12 @@ public void TestVirtualMachineTags()
102102
{
103103
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineTags");
104104
}
105+
106+
[Fact]
107+
[Trait(Category.AcceptanceType, Category.CheckIn)]
108+
public void TestVMImageCmdletOutputFormat()
109+
{
110+
ComputeTestController.NewInstance.RunPsTest("Test-VMImageCmdletOutputFormat");
111+
}
105112
}
106113
}

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,3 +1281,27 @@ function Test-LinuxVirtualMachine
12811281
Clean-ResourceGroup $rgname
12821282
}
12831283
}
1284+
1285+
# Test Image Cmdlet Output Format
1286+
function Test-VMImageCmdletOutputFormat
1287+
{
1288+
$locStr = 'westus';
1289+
$publisher = 'MicrosoftWindowsServer';
1290+
$offer = 'WindowsServer';
1291+
$sku = '2008-R2-SP1';
1292+
$ver = '2.0.201503';
1293+
1294+
Assert-OutputContains " Get-AzureVMImagePublisher -Location $locStr" @('Id', 'Location', 'PublisherName');
1295+
1296+
Assert-OutputContains " Get-AzureVMImagePublisher -Location $locStr | ? { `$_.PublisherName -eq `'$publisher`' } " @('Id', 'Location', 'PublisherName');
1297+
1298+
Assert-OutputContains " Get-AzureVMImagePublisher -Location $locStr | ? { `$_.PublisherName -eq `'$publisher`' } | Get-AzureVMImageOffer " @('Id', 'Location', 'PublisherName', 'Offer');
1299+
1300+
Assert-OutputContains " Get-AzureVMImagePublisher -Location $locStr | ? { `$_.PublisherName -eq `'$publisher`' } | Get-AzureVMImageOffer | Get-AzureVMImageSku " @('Id', 'Location', 'PublisherName', 'Offer', 'Sku');
1301+
1302+
Assert-OutputContains " Get-AzureVMImagePublisher -Location $locStr | ? { `$_.PublisherName -eq `'$publisher`' } | Get-AzureVMImageOffer | Get-AzureVMImageSku | Get-AzureVMImage " @('Id', 'Location', 'PublisherName', 'Offer', 'Sku', 'Version', 'FilterExpression');
1303+
1304+
Assert-OutputContains " Get-AzureVMImage -Location $locStr -PublisherName $publisher -Offer $offer -Skus $sku -Version $ver " @('Id', 'Location', 'PublisherName', 'Offer', 'Sku', 'Version', 'FilterExpression', 'Name', 'DataDiskImages', 'OSDiskImage', 'PurchasePlan');
1305+
1306+
Assert-OutputContains " Get-AzureVMImageDetail -Location $locStr -PublisherName $publisher -Offer $offer -Skus $sku -Version $ver " @('Id', 'Location', 'PublisherName', 'Offer', 'Sku', 'Version', 'FilterExpression', 'Name', 'DataDiskImages', 'OSDiskImage', 'PurchasePlan');
1307+
}

src/ResourceManager/Compute/Commands.Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests/TestVMImageCmdletOutputFormat.json

Lines changed: 842 additions & 0 deletions
Large diffs are not rendered by default.

src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
namespace Microsoft.Azure.Commands.Compute
2323
{
24-
[Cmdlet(VerbsCommon.Get,
25-
ProfileNouns.VirtualMachineExtensionImage)]
24+
[Cmdlet(VerbsCommon.Get, ProfileNouns.VirtualMachineExtensionImage)]
25+
[OutputType(typeof(PSVirtualMachineExtensionImage))]
2626
[OutputType(typeof(PSVirtualMachineExtensionImageDetails))]
2727
public class GetAzureVMExtensionImageCommand : VirtualMachineExtensionImageBaseCmdlet
2828
{
@@ -92,15 +92,15 @@ public override void ExecuteCmdlet()
9292
StatusCode = result.StatusCode,
9393
Id = result.VirtualMachineExtensionImage.Id,
9494
Location = result.VirtualMachineExtensionImage.Location,
95-
Name = result.VirtualMachineExtensionImage.Name,
9695
HandlerSchema = result.VirtualMachineExtensionImage.HandlerSchema,
9796
OperatingSystem = result.VirtualMachineExtensionImage.OperatingSystem,
9897
ComputeRole = result.VirtualMachineExtensionImage.ComputeRole,
9998
SupportsMultipleExtensions = result.VirtualMachineExtensionImage.SupportsMultipleExtensions,
10099
VMScaleSetEnabled = result.VirtualMachineExtensionImage.VMScaleSetEnabled,
100+
Version = result.VirtualMachineExtensionImage.Name,
101101
PublisherName = this.PublisherName,
102102
Type = this.Type,
103-
Version = this.Version
103+
FilterExpression = this.FilterExpression
104104
};
105105

106106
WriteObject(image);

src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageTypeCommand.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
namespace Microsoft.Azure.Commands.Compute
2323
{
2424
[Cmdlet(VerbsCommon.Get, ProfileNouns.VirtualMachineExtensionImageType)]
25-
[OutputType(typeof(PSVirtualMachineExtensionImage))]
25+
[OutputType(typeof(PSVirtualMachineExtensionImageType))]
2626
public class GetAzureVMExtensionImageTypeCommand : VirtualMachineExtensionImageBaseCmdlet
2727
{
2828
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
@@ -44,7 +44,7 @@ public override void ExecuteCmdlet()
4444
VirtualMachineImageResourceList result = this.VirtualMachineExtensionImageClient.ListTypes(parameters);
4545

4646
var images = from r in result.Resources
47-
select new PSVirtualMachineExtensionImage
47+
select new PSVirtualMachineExtensionImageType
4848
{
4949
RequestId = result.RequestId,
5050
StatusCode = result.StatusCode,

0 commit comments

Comments
 (0)