Skip to content

Fix error in Test-AzureRmVMAEMExtension and improve error message #3102

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 6 commits into from
Nov 18, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -304,15 +304,27 @@
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedLinux.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedLinuxWAD.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedWindows.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedWindowsWAD.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicLinux.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicLinuxWAD.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicWindows.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicWindowsWAD.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AvailabilitySetTests\TestAvailabilitySet.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,48 @@ public AEMExtensionTests(Xunit.Abstractions.ITestOutputHelper output)
ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output));
}

[Fact]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MSSedusch Is there a reason why these tests are not marked as check-in tests (Category.AcceptanceType, Category.CheckIn)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, see #2084
The test runtime is too long, hovsepm asked me to remove the checkin attribute

public void TestAEMExtensionBasicWindowsWAD()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicWindowsWAD");
}

[Fact]
public void TestAEMExtensionBasicWindows()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicWindows");
}

[Fact]
public void TestAEMExtensionBasicLinuxWAD()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicLinuxWAD");
}

[Fact]
public void TestAEMExtensionBasicLinux()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicLinux");
}

[Fact]
public void TestAEMExtensionAdvancedWindowsWAD()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedWindowsWAD");
}

[Fact]
public void TestAEMExtensionAdvancedWindows()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedWindows");
}

[Fact]
public void TestAEMExtensionAdvancedLinuxWAD()
{
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedLinuxWAD");
}

[Fact]
public void TestAEMExtensionAdvancedLinux()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,52 @@
Test the basic usage of the Set/Get/Test/Remove virtual machine Azure Enhanced Monitoring extension command
#>

function Test-AEMExtensionBasicWindowsWAD
{
$rgname = Get-ComputeTestResourceName
$loc = Get-ComputeVMLocation

try
{
# Setup
$vm = Create-AdvancedVM -rgname $rgname -loc $loc
$vmname = $vm.Name

# Get with not extension
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
# Test with not extension
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Assert-False { $testResult.Result }

# Set and Get command.
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorage -EnableWAD
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname

Assert-NotNull $extension
Assert-AreEqual $extension.Publisher 'Microsoft.AzureCAT.AzureEnhancedMonitoring'
Assert-AreEqual $extension.ExtensionType 'AzureCATExtensionHandler'
Assert-AreEqual $extension.Name 'AzureCATExtensionHandler'
$settings = $extension.PublicSettings | ConvertFrom-Json
Assert-NotNull $settings.cfg

# Test command.
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WaitTimeInMinutes 50 -SkipStorageCheck
Assert-True { $testResult.Result }
Assert-True { ($testResult.PartialResults.Count -gt 0) }

# Remove command.
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
}
finally
{
# Cleanup
Clean-ResourceGroup $rgname
}
}

function Test-AEMExtensionBasicWindows
{
$rgname = Get-ComputeTestResourceName
Expand Down Expand Up @@ -63,6 +109,73 @@ function Test-AEMExtensionBasicWindows
}
}

function Test-AEMExtensionAdvancedWindowsWAD
{
$rgname = Get-ComputeTestResourceName
$loc = Get-ComputeVMLocation

try
{
Write-Verbose "Start the test Test-AEMExtensionAdvancedWindows"
# Setup
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_DS2' -stotype 'Premium_LRS' -nicCount 2
$vmname = $vm.Name
Write-Verbose "Test-AEMExtensionAdvancedWindows: VM created"

# Get with not extension
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get with no extension"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension

# Test with not extension
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test with no extension"
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Assert-False { $res.Result }
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test done"

$stoname = 'sto' + $rgname + "2";
New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS';

# Set and Get command.
Write-Verbose "Test-AEMExtensionAdvancedWindows: Set with no extension"
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage -EnableWAD
Write-Verbose "Test-AEMExtensionAdvancedWindows: Set done"
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get with extension"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname


Assert-NotNull $extension
Assert-AreEqual $extension.Publisher 'Microsoft.AzureCAT.AzureEnhancedMonitoring'
Assert-AreEqual $extension.ExtensionType 'AzureCATExtensionHandler'
Assert-AreEqual $extension.Name 'AzureCATExtensionHandler'
$settings = $extension.PublicSettings | ConvertFrom-Json
Assert-NotNull $settings.cfg
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get done"

# Test command.
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test with extension"
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Assert-True { $res.Result }
Assert-True { ($res.PartialResults.Count -gt 0) }
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test done"

# Remove command.
Write-Verbose "Test-AEMExtensionAdvancedWindows: Remove with extension"
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Write-Verbose "Test-AEMExtensionAdvancedWindows: Remove done"

Write-Verbose "Test-AEMExtensionAdvancedWindows: Get after remove"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get after remove done"
}
finally
{
# Cleanup
Clean-ResourceGroup $rgname
}
}

function Test-AEMExtensionAdvancedWindows
{
$rgname = Get-ComputeTestResourceName
Expand Down Expand Up @@ -130,6 +243,52 @@ function Test-AEMExtensionAdvancedWindows
}
}

function Test-AEMExtensionBasicLinuxWAD
{
$rgname = Get-ComputeTestResourceName
$loc = Get-ComputeVMLocation

try
{
# Setup
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -linux
$vmname = $vm.Name

# Get with not extension
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
# Test with not extension
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Assert-False { $testResult.Result }

# Set and Get command.
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorage -EnableWAD
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname

Assert-NotNull $extension
Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions'
Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux'
Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux'
$settings = $extension.PublicSettings | ConvertFrom-Json
Assert-NotNull $settings.cfg

# Test command.
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WaitTimeInMinutes 50 -SkipStorageCheck
Assert-True { $testResult.Result }
Assert-True { ($testResult.PartialResults.Count -gt 0) }

# Remove command.
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
}
finally
{
# Cleanup
Clean-ResourceGroup $rgname
}
}

function Test-AEMExtensionBasicLinux
{
$rgname = Get-ComputeTestResourceName
Expand Down Expand Up @@ -176,6 +335,74 @@ function Test-AEMExtensionBasicLinux
}
}

function Test-AEMExtensionAdvancedLinuxWAD
{
$rgname = Get-ComputeTestResourceName
$loc = Get-ComputeVMLocation

try
{
Write-Verbose "Start the test Test-AEMExtensionAdvancedLinux"
# Setup
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_DS2' -stotype 'Premium_LRS' -nicCount 2 -linux
$vmname = $vm.Name
Write-Verbose "Test-AEMExtensionAdvancedLinux: VM created"

# Get with not extension
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get with no extension"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension

# Test with not extension
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test with no extension"
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Write-Verbose ("Test-AEMExtensionAdvancedLinux: Test result " + $res.Result)
Assert-False { $res.Result }
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test done"

$stoname = 'sto' + $rgname + "2";
New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS';

# Set and Get command.
Write-Verbose "Test-AEMExtensionAdvancedLinux: Set with no extension"
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage -EnableWAD
Write-Verbose "Test-AEMExtensionAdvancedLinux: Set done"
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get with extension"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname


Assert-NotNull $extension
Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions'
Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux'
Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux'
$settings = $extension.PublicSettings | ConvertFrom-Json
Assert-NotNull $settings.cfg
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get done"

# Test command.
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test with extension"
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
Assert-True { $res.Result }
Assert-True { ($res.PartialResults.Count -gt 0) }
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test done"

# Remove command.
Write-Verbose "Test-AEMExtensionAdvancedLinux: Remove with extension"
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Write-Verbose "Test-AEMExtensionAdvancedLinux: Remove done"

Write-Verbose "Test-AEMExtensionAdvancedLinux: Get after remove"
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
Assert-Null $extension
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get after remove done"
}
finally
{
# Cleanup
Clean-ResourceGroup $rgname
}
}

function Test-AEMExtensionAdvancedLinux
{
$rgname = Get-ComputeTestResourceName
Expand Down Expand Up @@ -367,5 +594,5 @@ function Create-AdvancedVM($rgname, $vmname, $loc, $vmsize, $stotype, $nicCount,

function Get-LinuxImage
{
return Create-ComputeVMImageObject 'SUSE' 'SLES' '12' 'latest';
return Create-ComputeVMImageObject 'SUSE' 'SLES' '12-SP1' 'latest';
}
Loading