Tests/Server/BambooServer.tests.ps1
. (Join-Path $PSScriptRoot '../TestCommon.ps1') # Describe "Bamboo Server cmdlets" { $expectedUrl = 'http://this-is-my-expected-url.com:1234' Context "Get-BambooServer" { $defaultUrl = 'http://localhost:8085' it "should have '$defaultUrl' as the default url" { Get-BambooServer | Should Be $defaultUrl } } Context "Set-BambooServer" { it "should accept only valid urls" { { Set-BambooServer -Url '' } | Should Throw { Set-BambooServer -Url 'wrongurl' } | Should Throw { Set-BambooServer -Url 'ftp://localhost' } | Should Throw Set-BambooServer -Url 'http://localhost' | Should BeNullOrEmpty Set-BambooServer -Url 'https://localhost' | Should BeNullOrEmpty Set-BambooServer -Url 'http://localhost:8085' | Should BeNullOrEmpty Set-BambooServer -Url 'https://localhost:8085' | Should BeNullOrEmpty } it "should modify url for valid urls" { Set-BambooServer -Url $expectedUrl | Should BeNullOrEmpty Get-BambooServer | Should Be $expectedUrl } it "should not modify url for invalid urls" { Set-BambooServer -Url $expectedUrl { Set-BambooServer -Url 'wrongurl' } | Should Throw Get-BambooServer | Should Be $expectedUrl } } Context "Set-BambooCredential" { $expectedToken='VXNlck5hbWU6UGFzc3dvcmQ=' Set-BambooCredential -UserName 'UserName' -Password 'Password' it "should be passed to Invoke-RestMethod as a Header via Invoke-BambooRestMethod" { Mock Invoke-RestMethod { return $Headers } -ModuleName PsBamboo $dummy = Invoke-BambooRestMethod -Resource 'dummy' $dummy | Should Not BeNullOrEmpty $dummy.Authorization | Should Be "BASIC $expectedToken" } } } |