Tests/Admin/Set-RsDatabaseCredentials.Tests.ps1
function Get-CredentialType() { $wmiObject = New-RsConfigurationSettingObject -SqlServerInstance MSSQLSERVER switch ($wmiObject.DatabaseLogonType) { 0 { return 'Windows' } 1 { return 'SQL' } 2 { return 'ServiceAccount' } default { throw 'Invalid Credential Type!' } } } function Get-SaCredentials() { if (-not $env:SqlSaPwd) { throw 'Environment variable SqlSaPwd is not defined!' } $password = ConvertTo-SecureString -AsPlainText -Force $env:SqlSaPwd return New-Object System.Management.Automation.PSCredential('sa', $password) } Describe "Set-RsDatabaseCredentials" { Context "Changing database credential type to ServiceAccount credentials" { $credentialType = 'SQL' $credential = Get-SaCredentials Set-RsDatabaseCredentials -DatabaseCredentialType $credentialType -DatabaseCredential $credential -Confirm:$false -Verbose It "Should update credentials" { Get-CredentialType | Should be $credentialType } } Context "Changing database credential type to SQL credentials" { $credentialType = 'ServiceAccount' Set-RsDatabaseCredentials -DatabaseCredentialType $credentialType -Confirm:$false -Verbose It "Should update credentials" { Get-CredentialType | Should be $credentialType } } } |