assertJson() public static method

Asserts that a string is a valid JSON string.
public static assertJson ( string $actualJson, string $message = '' )
$actualJson string
$message string
Example #1
0
 private function assertEqualJsons($expected, $actual, $error_message = '')
 {
     PHPUnit::assertJson($expected, $error_message);
     PHPUnit::assertJson($actual, $error_message);
     $expected = json_decode($expected);
     $actual = json_decode($actual);
     PHPUnit::assertEquals($expected, $actual, $error_message);
 }
Example #2
0
 public function toBeJson()
 {
     if ($this->negate) {
         a::assertThat($this->actual, a::logicalAnd(a::isType('string'), a::logicalNot(a::isJson())));
     } else {
         a::assertJson($this->actual);
     }
 }
Example #3
0
 public function isJson()
 {
     Assert::assertJson($this->actual, $this->description);
     return $this;
 }
Example #4
0
 /**
  * Expect that a string is a valid JSON string.
  *
  * @param string $message
  *
  * @return Expect
  */
 public function toBeJson($message = '')
 {
     Assert::assertJson($this->value, $message);
     return $this;
 }
Example #5
0
 public static function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
 {
     Assertions::assertJson($expectedJson, $message);
     Assertions::assertJson($actualJson, $message);
     $expected = json_decode($expectedJson);
     $actual = json_decode($actualJson);
     Assertions::assertThat($actual, new ConstraintIsSimilar($expected), $message);
 }
 /**
  * @return \stdClass[]
  */
 public function fetchExpenseListsForMyAccount()
 {
     $this->client->request('GET', '/expense_list/');
     $response = $this->client->getResponse();
     PHPUnit_Framework_Assert::assertEquals(Response::HTTP_OK, $response->getStatusCode());
     PHPUnit_Framework_Assert::assertJson($response->getContent());
     $responseData = json_decode($response->getContent());
     PHPUnit_Framework_Assert::assertInternalType('array', $responseData);
     return $responseData;
 }
 /**
  * @Then the response should be json/JSON
  * @Then the response is json/JSON
  */
 public function theResponseIsJson()
 {
     Assert::assertThat(static::$response->headers->get('Content-Type'), Assert::logicalOr(Assert::stringStartsWith('application/json'), Assert::stringStartsWith('text/javascript')));
     Assert::assertJson($this->getResponseContent());
 }
 public function testJsonDataResponse()
 {
     $path = '/test/path';
     $headers = array('h1' => 'a', 'h2' => 'b');
     $parameters = array('p1' => 'c', 'p2' => 'd');
     $method = AbstractClient::METHOD_GET;
     $responseData = array('status' => 'ok', 'data' => 123, 'message' => 'This is a test');
     $responseContent = json_encode($responseData);
     $mockAdapter = new MockAdapter();
     // Adds mock basic OK response
     $mockAdapter->addResponseBy(Response::STATUS_OK, '', $responseContent);
     // Add mock adapter
     $this->_client->setAdapter($mockAdapter);
     // Send request
     $data = $this->_client->get($path, $parameters, $headers);
     // Gets response object
     $response = $this->_client->getResponse();
     // Content is being returned correctly
     \PHPUnit_Framework_Assert::assertJson($response->getRawContent());
     \PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString($responseContent, $response->getRawContent());
     // Content is being parsed correctly (json)
     \PHPUnit_Framework_Assert::assertInternalType(\PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $data);
     // Check data parsed
     foreach ($responseData as $key => $value) {
         \PHPUnit_Framework_Assert::assertObjectHasAttribute($key, $data);
         \PHPUnit_Framework_Assert::assertEquals($value, $data->{$key});
     }
     \PHPUnit_Framework_Assert::assertTrue($response->isOK());
 }