tests/HyperV.tests.ps1
Describe "[$($Lab.Name)] HyperV" -Tag HyperV { Context "Role deployment successful" { It "[HyperV] Should return the correct amount of machines" { (Get-LabVM -Role HyperV).Count | Should -Be $(Get-Lab).Machines.Where( { $_.Roles.Name -contains 'HyperV' }).Count } foreach ($vm in (Get-LabVM -Role HyperV | Where-Object SkipDeployment -eq $false)) { if ($Lab.DefaultVirtualizationEngine -eq 'HyperV' -and (Test-IsAdministrator)) { It "[$vm] should have exposed virtualization extension" -TestCases @{vm = $vm } { (Get-LWHypervVM -Name $vm.ResourceName | Get-VMProcessor).ExposeVirtualizationExtensions | Should -Be $true } } if ($Lab.DefaultVirtualizationEngine -eq 'Azure') { (Get-AzVm -ResourceGroupName (Get-LabAzureDefaultResourceGroup).Name -Name $vm.ResourceName).HardwareProfile.VmSize | Should -Match '_[DE]\d+(s?)_v3|_F\d+s_v2|_M\d+[mlts]*' } It "[$vm] should have Hyper-V feature installed" -TestCases @{vm = $vm } { (Get-LabWindowsFeature -ComputerName $vm -FeatureName Hyper-V -NoDisplay).Installed | Should -Be $true } } } } |