Add Pester tests for Windows Features (#1225)

* Add Windows Features Pester tests

* Move win feature tests to separate file

* Remove validation script for disc space

* Remove Windows updates test
This commit is contained in:
Vladimir Safonkin
2020-07-20 07:48:50 +00:00
committed by GitHub
parent 6bc236a514
commit 956b8a0093
6 changed files with 43 additions and 46 deletions

View File

@@ -792,12 +792,6 @@
"{{ template_dir }}/scripts/Installers/Validate-VSWhere.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
]
},
{
"type": "powershell",
"scripts":[

View File

@@ -256,12 +256,6 @@
"{{ template_dir }}/scripts/Installers/Validate-Wix.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-WSL.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -797,12 +791,6 @@
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
]
},
{
"type": "powershell",
"scripts":[

View File

@@ -15,3 +15,5 @@ if ($cpu.VirtualizationFirmwareEnabled -and $cpu.SecondLevelAddressTranslationEx
} else {
Write-Host "Skipping installation of Hyper-V feature"
}
Invoke-PesterTests -TestFile "WindowsFeatures" -TestName "ContainersFeature"

View File

@@ -1,14 +0,0 @@
################################################################################
## File: Validate-DiskSpace.ps1
## Desc: Validate free disk space
################################################################################
$availableSpaceMB = [math]::Round((Get-PSDrive -Name C).Free / 1MB)
$minimumFreeSpaceMB = 15 * 1024
Write-Host "Available disk space: $availableSpaceMB MB"
if ($availableSpaceMB -le $minimumFreeSpaceMB)
{
Write-Host "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
exit 1
}

View File

@@ -1,14 +0,0 @@
################################################################################
## File: Validate-WSL.ps1
## Desc: Validate WSL CLI existst
################################################################################
if (Get-Command -Name 'wsl')
{
Write-Host 'wsl is on path'
}
else
{
Write-Host 'wsl not on path'
exit 1
}

View File

@@ -0,0 +1,41 @@
Describe "WindowsFeatures" {
$testCases = @(
@{ FeatureName = "NET-Framework-Features" }
@{ FeatureName = "NET-Framework-45-Features" }
@{ FeatureName = "FS-iSCSITarget-Server" }
)
if (Test-isWin16) {
$testCases += @{ FeatureName = "BITS" }
$testCases += @{ FeatureName = "DSC-Service" }
}
if (Test-isWin19) {
$testCases += @{ FeatureName = "Microsoft-Windows-Subsystem-Linux" }
}
It "Windows Feature <FeatureName> is installed" -TestCases $testCases {
(Get-WindowsFeature -Name $FeatureName).InstallState | Should -Be "Installed"
}
if (Test-isWin19) {
it "Check WSL is on path" {
(Get-Command -Name 'wsl') | Should -BeTrue
}
}
}
Describe "ContainersFeature" {
It "Windows containers feature is installed" {
(Get-WindowsFeature -Name "Containers").InstallState | Should -Be "Installed"
}
}
Describe "DiskSpace" {
it "The image has enough disk space"{
$availableSpaceMB = [math]::Round((Get-PSDrive -Name C).Free / 1MB)
$minimumFreeSpaceMB = 18 * 1024
$availableSpaceMB | Should -BeGreaterThan $minimumFreeSpaceMB
}
}