|
@@ 45-64 (lines=20) @@
|
| 42 |
|
$this->isAuthenticated()->shouldReturn(true); |
| 43 |
|
} |
| 44 |
|
|
| 45 |
|
public function it_should_throw_authentication_exception_if_api_key_is_invalid( |
| 46 |
|
HttpClient $httpClient, |
| 47 |
|
MessageFactory $messageFactory, |
| 48 |
|
RequestInterface $tokenRequest, |
| 49 |
|
ResponseInterface $tokenResponse, |
| 50 |
|
StreamInterface $tokenStream |
| 51 |
|
) { |
| 52 |
|
$headers = ['Content-Type' => 'application/x-www-form-urlencoded']; |
| 53 |
|
$body = http_build_query(['api_key' => '<api key>']); |
| 54 |
|
|
| 55 |
|
$messageFactory->createRequest('POST', self::LOGIN_ENDPOINT, $headers, $body)->willReturn($tokenRequest); |
| 56 |
|
$httpClient->sendRequest($tokenRequest)->willReturn($tokenResponse); |
| 57 |
|
$tokenResponse->getStatusCode()->willReturn(401); |
| 58 |
|
$tokenResponse->getBody()->willReturn($tokenStream); |
| 59 |
|
$tokenStream->__toString()->willReturn('{"message": "Invalid Credentials", "code": 401}'); |
| 60 |
|
|
| 61 |
|
$this->shouldThrow(AuthenticationException::class)->during('auth'); |
| 62 |
|
$this->getApiToken()->shouldBeNull(); |
| 63 |
|
$this->isAuthenticated()->shouldReturn(false); |
| 64 |
|
} |
| 65 |
|
|
| 66 |
|
public function it_should_throw_invalid_response_exception_if_invalid_json( |
| 67 |
|
HttpClient $httpClient, |
|
@@ 66-85 (lines=20) @@
|
| 63 |
|
$this->isAuthenticated()->shouldReturn(false); |
| 64 |
|
} |
| 65 |
|
|
| 66 |
|
public function it_should_throw_invalid_response_exception_if_invalid_json( |
| 67 |
|
HttpClient $httpClient, |
| 68 |
|
MessageFactory $messageFactory, |
| 69 |
|
RequestInterface $tokenRequest, |
| 70 |
|
ResponseInterface $tokenResponse, |
| 71 |
|
StreamInterface $tokenStream |
| 72 |
|
) { |
| 73 |
|
$headers = ['Content-Type' => 'application/x-www-form-urlencoded']; |
| 74 |
|
$body = http_build_query(['api_key' => '<api key>']); |
| 75 |
|
|
| 76 |
|
$messageFactory->createRequest('POST', self::LOGIN_ENDPOINT, $headers, $body)->willReturn($tokenRequest); |
| 77 |
|
$httpClient->sendRequest($tokenRequest)->willReturn($tokenResponse); |
| 78 |
|
$tokenResponse->getStatusCode()->willReturn(200); |
| 79 |
|
$tokenResponse->getBody()->willReturn($tokenStream); |
| 80 |
|
$tokenStream->__toString()->willReturn('{"invalid JSON",}'); |
| 81 |
|
|
| 82 |
|
$this->shouldThrow(InvalidResponseException::class)->during('auth'); |
| 83 |
|
$this->getApiToken()->shouldBeNull(); |
| 84 |
|
$this->isAuthenticated()->shouldReturn(false); |
| 85 |
|
} |
| 86 |
|
} |
| 87 |
|
|