/** * @Then response status code is :code */ public function assertStatusCode($code) { $exceptionMessage = ''; if ($code != $this->restDriver->getStatusCode() && $code >= 200 && $code < 400) { $errorMessage = $this->getResponseObject(); if ($errorMessage instanceof ErrorMessage) { $exceptionMessage = <<<EOF Exception ({$errorMessage->code}): {$errorMessage->description} {$errorMessage->trace} EOF; } } Assertion::assertEquals($code, $this->restDriver->getStatusCode(), "Expected status code '{$code}' found '{$this->restDriver->getStatusCode()}'{$exceptionMessage}"); }
/** * @Then response status code is :code */ public function assertStatusCode($code) { $exceptionMessage = ''; if ($code != $this->restDriver->getStatusCode() && $code >= 200 && $code < 400) { $errorMessage = $this->getResponseObject(); if ($errorMessage instanceof ErrorMessage) { $exceptionMessage = <<<EOF Server Error ({$errorMessage->code}): {$errorMessage->message} {$errorMessage->description} In {$errorMessage->file}:{$errorMessage->line} {$errorMessage->trace} EOF; } elseif ($errorMessage instanceof Exception) { $exceptionMessage = <<<EOF Client Exception ({$errorMessage->getCode()}): {$errorMessage->getMessage()} In {$errorMessage->getFile()}:{$errorMessage->getLine()} EOF; // If previous exception is available it is most likely carrying info on server exception. if ($previous = $errorMessage->getPrevious()) { $exceptionName = get_class($previous); $exceptionMessage .= <<<EOF Previous Exception {$exceptionName} ({$previous->getCode()}): {$previous->getMessage()} In {$previous->getFile()}:{$previous->getLine()} {$previous->getTraceAsString()} EOF; } } } Assertion::assertEquals($code, $this->restDriver->getStatusCode(), "Expected status code '{$code}' found '{$this->restDriver->getStatusCode()}'{$exceptionMessage}"); }
/** * @Then response status code is :code */ public function assertStatusCode($code) { Assertion::assertEquals($code, $this->restDriver->getStatusCode(), "Expected status code '{$code}' found '{$this->restDriver->getStatusCode()}'"); }