protected function _mockTheServiceClient($content, $path = '/test/path', $status = Response::STATUS_OK)
 {
     $mockAdapter = new MockAdapter();
     // Adds mock basic OK response
     $mockAdapter->addResponseBy($status, $path, $content);
     // Add mock adapter
     $service_client = $this->_service->getClient();
     $service_client->setAdapter($mockAdapter);
 }
 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());
 }