| @@ 143-160 (lines=18) @@ | ||
| 140 | expect($http->getRequests())->toHaveCount(1); |
|
| 141 | } |
|
| 142 | ||
| 143 | public function it_processes_xml_error_responses() |
|
| 144 | { |
|
| 145 | $http = $this->let(); |
|
| 146 | ||
| 147 | $exception = SpecHelper::makeExceptionResponse( |
|
| 148 | SpecHelper::getDummyData('error_response.xml', false), |
|
| 149 | 400, |
|
| 150 | 'application/xml;charset=utf-8' |
|
| 151 | ); |
|
| 152 | $http->addException($exception); |
|
| 153 | ||
| 154 | $this->shouldThrow(new RequestFailed( |
|
| 155 | 'Mandatory field is missing: library', |
|
| 156 | '401664' |
|
| 157 | ))->during('getXML', ['/items/123']); |
|
| 158 | ||
| 159 | expect($http->getRequests())->toHaveCount(1); |
|
| 160 | } |
|
| 161 | ||
| 162 | public function it_can_throw_resource_not_found() |
|
| 163 | { |
|
| @@ 196-211 (lines=16) @@ | ||
| 193 | expect($http->getRequests())->toHaveCount(1); |
|
| 194 | } |
|
| 195 | ||
| 196 | public function it_can_throw_invalid_api_key() |
|
| 197 | { |
|
| 198 | $http = $this->let(); |
|
| 199 | ||
| 200 | $exception = SpecHelper::makeExceptionResponse( |
|
| 201 | 'Invalid API Key', |
|
| 202 | 400, |
|
| 203 | 'text/plain;charset=UTF-8' |
|
| 204 | ); |
|
| 205 | $http->addException($exception); |
|
| 206 | ||
| 207 | $this->shouldThrow(new InvalidApiKey('Invalid API Key', 0)) |
|
| 208 | ->during('getJSON', ['/items/123']); |
|
| 209 | ||
| 210 | expect($http->getRequests())->toHaveCount(1); |
|
| 211 | } |
|
| 212 | ||
| 213 | public function it_will_retry_when_reaching_rate_limit() |
|
| 214 | { |
|