Skip to content
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

Bug 28957665: Fixed psObject List Enumeration #25781

Merged
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ public void TestMaintenanceUpdate()
TestRunner.RunTestScript("Test-AzMaintenanceUpdate");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestGetAzMaintenanceConfiguration()
{
TestRunner.RunTestScript("Test-GetAzMaintenanceConfiguration");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestPublicMaintenanceConfiguration()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,84 @@
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.SYNOPSIS
Test New-AzMaintenanceConfiguration, Get-AzMaintenanceConfiguration, Remove-AzMaintenanceConfiguration
#>
function Test-GetAzMaintenanceConfiguration
{
$resourceGroupName = Get-RandomResourceGroupName
$maintenanceConfigurationName = Get-RandomMaintenanceConfigurationName
$location = "eastus2euap"
$maintenanceScope = "Host"
$visibility = "Custom"
$startDateTime = "2024-08-05 12:30"
$timezone = "Pacific Standard Time"
$recurEvery = "Day"
$duration = "05:00"
$expirationDateTime = "9999-12-31 23:59"

try
{
# Create Resource Group
New-AzResourceGroup -Name $resourceGroupName -Location $location
Write-Host "Created Resource Group $resourceGroupName in $location"

# Create Maintenance Configuration
$maintenanceConfiguration = New-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -MaintenanceScope $maintenanceScope -Location $location -Visibility $visibility -StartDateTime $startDateTime -Timezone $timezone -RecurEvery $recurEvery -Duration $duration -ExpirationDateTime $expirationDateTime
notyashhh marked this conversation as resolved.
Show resolved Hide resolved
Write-Host "Created Maintenance Configuration $maintenanceConfigurationName"

# Validate Maintenance Configuration
Assert-AreEqual $maintenanceConfiguration.Name $maintenanceConfigurationName
Assert-AreEqual $maintenanceConfiguration.Location $location
Assert-AreEqual $maintenanceConfiguration.MaintenanceScope $maintenanceScope
Assert-AreEqual $maintenanceConfiguration.Visibility $visibility
Assert-AreEqual $maintenanceConfiguration.StartDateTime $startDateTime
Assert-AreEqual $maintenanceConfiguration.Timezone $timezone
Assert-AreEqual $maintenanceConfiguration.RecurEvery $recurEvery
Assert-AreEqual $maintenanceConfiguration.Duration $duration
Assert-AreEqual $maintenanceConfiguration.ExpirationDateTime $expirationDateTime

# Retrieve and Validate Maintenance Configuration with ResourceGroupName
$retrievedMaintenanceConfiguration = Get-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName

# Validate the type of the returned object
if ($retrievedMaintenanceConfiguration -isnot [System.Collections.IList]) {
Write-Host "The retrieved maintenance configuration with ResourceGroupName is not of type list."
} else {
throw "The retrieved maintenance configuration with ResourceGroupName is of type list."
}

Assert-AreEqual $retrievedMaintenanceConfiguration.Name $maintenanceConfigurationName
Assert-AreEqual $retrievedMaintenanceConfiguration.Location $location
Assert-AreEqual $retrievedMaintenanceConfiguration.MaintenanceScope $maintenanceScope
Assert-AreEqual $retrievedMaintenanceConfiguration.Visibility $visibility
Assert-AreEqual $retrievedMaintenanceConfiguration.StartDateTime $startDateTime
Assert-AreEqual $retrievedMaintenanceConfiguration.Timezone $timezone
Assert-AreEqual $retrievedMaintenanceConfiguration.RecurEvery $recurEvery
Assert-AreEqual $retrievedMaintenanceConfiguration.Duration $duration
Assert-AreEqual $retrievedMaintenanceConfiguration.ExpirationDateTime $expirationDateTime

# Retrieve Maintenance Configuration without ResourceGroupName and validate it returns a list
$maintenanceConfigurations = Get-AzMaintenanceConfiguration -Name $maintenanceConfigurationName

# Validate that the returned object is a list
if ($maintenanceConfigurations -isnot [System.Collections.IList]) {
Write-Host "The retrieved maintenance configuration without ResourceGroupName is of type list."
} else {
throw "The retrieved maintenance configuration without ResourceGroupName is not of type list."
}
}
finally
{
# Cleanup
Remove-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -Force
Remove-AzResourceGroup -Name $resourceGroupName -Force
Write-Host "Cleaned up Resource Group $resourceGroupName and Maintenance Configuration $maintenanceConfigurationName"
}
}


<#
.SYNOPSIS
Test New-AzMaintenanceConfiguration, Get-AzMaintenanceConfiguration, Remove-AzMaintenanceConfiguration
Expand Down
Loading