Test/MSFT_xExchMailboxServer.Integration.Tests.ps1
###NOTE: This test module requires use of credentials. The first run through of the tests will prompt for credentials from the logged on user. Import-Module $PSScriptRoot\..\DSCResources\MSFT_xExchMailboxServer\MSFT_xExchMailboxServer.psm1 Import-Module $PSScriptRoot\..\Misc\xExchangeCommon.psm1 -Verbose:0 Import-Module $PSScriptRoot\xExchange.Tests.Common.psm1 -Verbose:0 #Check if Exchange is installed on this machine. If not, we can't run tests [bool]$exchangeInstalled = IsSetupComplete if ($exchangeInstalled) { #Get required credentials to use for the test if ($null -eq $Global:ShellCredentials) { [PSCredential]$Global:ShellCredentials = Get-Credential -Message "Enter credentials for connecting a Remote PowerShell session to Exchange" } Describe "Test Setting Properties with xExchMailboxServer" { $serverVersion = GetExchangeVersion #Make sure DB activation is not blocked $testParams = @{ Identity = $env:COMPUTERNAME Credential = $Global:ShellCredentials DatabaseCopyActivationDisabledAndMoveNow = $false DatabaseCopyAutoActivationPolicy = "Unrestricted" MaximumActiveDatabases = "36" MaximumPreferredActiveDatabases = "24" } $expectedGetResults = @{ Identity = $env:COMPUTERNAME DatabaseCopyActivationDisabledAndMoveNow = $false DatabaseCopyAutoActivationPolicy = "Unrestricted" MaximumActiveDatabases = "36" MaximumPreferredActiveDatabases = "24" } if ($serverVersion -eq "2016") { $testParams.Add("WacDiscoveryEndpoint", "") $expectedGetResults.Add("WacDiscoveryEndpoint", "") } Test-TargetResourceFunctionality -Params $testParams -ContextLabel "Clear DB Activation Blockers and WacDiscoveryEndpoint 1 and set MaxDBValues" -ExpectedGetResults $expectedGetResults #Block DB activation $testParams.DatabaseCopyActivationDisabledAndMoveNow = $true $testParams.DatabaseCopyAutoActivationPolicy = "Blocked" $testParams.MaximumActiveDatabases = "24" $testParams.MaximumPreferredActiveDatabases = "12" $expectedGetResults.DatabaseCopyActivationDisabledAndMoveNow = $true $expectedGetResults.DatabaseCopyAutoActivationPolicy = "Blocked" $expectedGetResults.MaximumActiveDatabases = "24" $expectedGetResults.MaximumPreferredActiveDatabases = "12" if ($serverVersion -eq "2016") { $testParams["WacDiscoveryEndpoint"] = "https://localhost/hosting/discovery" $expectedGetResults["WacDiscoveryEndpoint"] = "https://localhost/hosting/discovery" } Test-TargetResourceFunctionality -Params $testParams -ContextLabel "Block DB Activation, Set WacDiscoveryEndpoint, and modify MaxDBValues" -ExpectedGetResults $expectedGetResults #Make sure DB activation is not blocked $testParams = @{ Identity = $env:COMPUTERNAME Credential = $Global:ShellCredentials DatabaseCopyActivationDisabledAndMoveNow = $false DatabaseCopyAutoActivationPolicy = "Unrestricted" MaximumActiveDatabases = '' MaximumPreferredActiveDatabases = '' } $expectedGetResults = @{ Identity = $env:COMPUTERNAME DatabaseCopyActivationDisabledAndMoveNow = $false DatabaseCopyAutoActivationPolicy = "Unrestricted" MaximumActiveDatabases = $null MaximumPreferredActiveDatabases = $null } if ($serverVersion -eq "2016") { $testParams["WacDiscoveryEndpoint"] = "" $expectedGetResults["WacDiscoveryEndpoint"] = "" } Test-TargetResourceFunctionality -Params $testParams -ContextLabel "Clear DB Activation Blockers and WacDiscoveryEndpoint 2 and clear MaxDBValues" -ExpectedGetResults $expectedGetResults } } else { Write-Verbose "Tests in this file require that Exchange is installed to be run." } |