test(Connection): fix scoping of mocks
This commit is contained in:
parent
6b393c0f96
commit
08eb8de842
1 changed files with 58 additions and 41 deletions
|
|
@ -8,58 +8,75 @@ BeforeAll {
|
||||||
|
|
||||||
Describe 'Test-Connection' `
|
Describe 'Test-Connection' `
|
||||||
{
|
{
|
||||||
|
Context 'default' {
|
||||||
Context 'Parameterized' {
|
BeforeAll `
|
||||||
|
{
|
||||||
|
Mock -ModuleName 'Connection' Get-PersonalAccessToken {
|
||||||
|
'01234567890123456789'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
It 'throws no exception' {
|
It 'throws no exception' {
|
||||||
|
Mock -ModuleName 'Connection' Invoke-WebRequest {
|
||||||
InModuleScope Connection {
|
@{
|
||||||
|
'Content' = "{'type': 'known'}"
|
||||||
Mock Get-PersonalAccessToken {'01234567890123456789'}
|
'StatusCode' = 200
|
||||||
|
}
|
||||||
Mock Invoke-WebRequest {
|
|
||||||
return @{
|
|
||||||
'Content' = "{'type': 'known'}"
|
|
||||||
'StatusCode' = 200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Test-Connection -Host 'confluence.contoso.com'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Test-Connection -Host 'confluence.contoso.com'
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Get-PersonalAccessToken' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Invoke-WebRequest' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
}
|
}
|
||||||
|
|
||||||
It 'detects anonymous authentication' {
|
It 'detects anonymous authentication' {
|
||||||
|
Mock -ModuleName 'Connection' Invoke-WebRequest {
|
||||||
InModuleScope Connection {
|
@{
|
||||||
|
'Content' = "{'type': 'anonymous'}"
|
||||||
Mock Get-PersonalAccessToken {'01234567890123456789'}
|
'StatusCode' = 200
|
||||||
|
}
|
||||||
Mock Invoke-WebRequest {
|
|
||||||
return @{
|
|
||||||
'Content' = "{'type': 'anonymous'}"
|
|
||||||
'StatusCode' = 200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{Test-Connection -Host 'confluence.contoso.com'} | Should -Throw
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{Test-Connection -Host 'confluence.contoso.com'} | Should -Throw
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Get-PersonalAccessToken' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Invoke-WebRequest' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
}
|
}
|
||||||
|
|
||||||
It 'detects non 200 status codes' {
|
It 'detects non 200 status codes' {
|
||||||
|
Mock -ModuleName 'Connection' Invoke-WebRequest {
|
||||||
InModuleScope Connection {
|
@{
|
||||||
|
'Content' = "{'type': 'anonymous'}"
|
||||||
Mock Get-PersonalAccessToken {'01234567890123456789'}
|
'StatusCode' = 500
|
||||||
|
}
|
||||||
Mock Invoke-WebRequest {
|
|
||||||
return @{
|
|
||||||
'Content' = "{'type': 'anonymous'}"
|
|
||||||
'StatusCode' = 500
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{Test-Connection -Host 'confluence.contoso.com'} | Should -Throw
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{Test-Connection -Host 'confluence.contoso.com'} | Should -Throw
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Get-PersonalAccessToken' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
|
|
||||||
|
Should -Invoke -CommandName 'Invoke-WebRequest' `
|
||||||
|
-ModuleName 'Connection' ` `
|
||||||
|
-Exact `
|
||||||
|
-Times 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue