/** * Tests the setter and getter of this model * @test */ public function setGet() { $errorMessage = "This is a error"; $httpStatusCode = 200; $responseCode = 20000; $errorModel = new Error(); $errorModel->setErrorMessage($errorMessage); $errorModel->setHttpStatusCode($httpStatusCode); $errorModel->setResponseCode($responseCode); $this->assertEquals($errorMessage, $errorModel->getErrorMessage()); $this->assertEquals($httpStatusCode, $errorModel->getHttpStatusCode()); $this->assertEquals($responseCode, $errorModel->getResponseCode()); }
/** * Generates an error model based on the provided response array * @param array $response * @return Error */ private function _convertErrorToModel($response) { $errorModel = new Error(); $httpStatusCode = isset($response['header']['status']) ? $response['header']['status'] : null; $errorModel->setHttpStatusCode($httpStatusCode); $responseCode = isset($response['body']['data']['response_code']) ? $response['body']['data']['response_code'] : null; $errorModel->setResponseCode($responseCode); $errorCode = 'Undefined Error. This should not happen!'; if (isset($this->_errorCodes[$responseCode])) { $errorCode = $this->_errorCodes[$responseCode]; } if (isset($response['body'])) { if (is_array($response['body'])) { if (isset($response['body']['error'])) { if (is_array($response['body']['error'])) { $errorCode = $this->getErrorMessageFromArray($response['body']['error']); } elseif (is_string($response['body']['error'])) { $errorCode = $response['body']['error']; } } } elseif (is_string($response['body'])) { $json = json_decode($response['body']); $errorCode = $json->error; } } $errorModel->setErrorMessage($errorCode); return $errorModel; }
/** * Generates an error model based on the provided response array * @param array $response * @param string $resourceName * @return Error */ public function convertErrorToModel($response, $resourceName = null) { $errorModel = new Error(); $httpStatusCode = isset($response['header']['status']) ? $response['header']['status'] : null; $errorModel->setHttpStatusCode($httpStatusCode); $responseCode = isset($response['body']['data']['response_code']) ? $response['body']['data']['response_code'] : null; $errorModel->setResponseCode($responseCode); $errorCode = 'Undefined Error. This should not happen!'; if (isset($this->_errorCodes[$responseCode])) { $errorCode = $this->_errorCodes[$responseCode]; } if (isset($resourceName) && isset($response['body']['data'])) { try { $errorModel->setRawObject($this->convertResponse($response['body']['data'], $resourceName)); } catch (\Exception $e) { } } if (isset($response['body'])) { if (is_array($response['body'])) { if (isset($response['body']['error'])) { if (is_array($response['body']['error'])) { $errorCode = $this->getErrorMessageFromArray($response['body']['error']); } elseif (is_string($response['body']['error'])) { $errorCode = $response['body']['error']; } } } elseif (is_string($response['body'])) { $json = json_decode($response['body']); $errorCode = $json->error; } } $errorModel->setErrorMessage($errorCode); return $errorModel; }