'Mock']; /** @var int */ private $status = 200; /** @var string */ private $body = 'Totally awesome response body'; public function setUp() { $mock = new MockHandler([ $this->createResponse(), ]); $client = new Client(['handler' => $mock]); $this->adapter = new GuzzleAdapter($client); } /** * @test */ public function adapter_returns_psr_response() { $response = $this->sendRequest(); $this->assertInstanceOf(ResponseInterface::class, $response); } /** * @test */ public function response_contains_body() { $response = $this->sendRequest(); $this->assertEquals($this->body, $response->getBody()); } /** * @test */ public function response_contains_statuscode() { $response = $this->sendRequest(); $this->assertEquals($this->status, $response->getStatusCode()); } /** * @test */ public function response_contains_header() { $response = $this->sendRequest(); $this->assertEquals('Mock', $response->getHeader('Server')[0]); } /** * @test */ public function adapter_sends_request() { $request = new Request('http://localhost', 'GET'); $clientMock = $this->getMockBuilder(Client::class) ->disableOriginalConstructor() ->getMock(); $clientMock->expects($this->once()) ->method('send') ->with($request) ->willReturn($this->createResponse()); $adapter = new GuzzleAdapter($clientMock); $adapter->send($request); } /** * @return ResponseInterface */ private function sendRequest() { $request = new Request('http://localhost', 'GET'); return $this->adapter->send($request); } /** * @return ResponseInterface */ private function createResponse() { return new GuzzleResponse($this->status, $this->headers, $this->body); } } __halt_compiler();----SIGNATURE:----PT6XfytAxt7+UDxxwuDBkyox4LNqyL7b6Spl6WUvyhtq7RLmGOwdsNigqQGc53pA7ExO66WiRBj198EKefPUJDiQ/26BPu8Y04sTYfFsLFYYyHtLHSCXd+xvgN9+uTEL2LecXZOniHhhuwc9S6sqJstVzNQG1Qj4g6o3Q8tFUWDJEaYDccamfIiEidxkfndkarPmUuEFNDdOWTNAkN/XC0/7zir6UyoEqblqwBh7rQAoA79yXyj7AfY8GygqWSHrOi2gxqOsveJ0e2w0TGzQ0YZZMhp4tLlaG0DyNFYIDgV5ZusxJVkMbm/6XjkRuRKM8SmoNyoIn+l2k9kChxfEMBWonD0RSHzWgPT5ZvIkSMU6xRjyKkB1BagxycR4R9PkZWj1iqqHChj4EeMfzvkglSrrfI0jLWgEgBtRlD2yxD+qEgqp31FbcgyjOJbnojBkjxg7AY/7hkLyutZgwEBnMuRD/op8DCRhAvvV2YwPFRF3n/yRjCAwuTQi7liehX5lA8kpp8lJdNb39HDr9/hF27EjIDS4rxmjD1SzIoKjh77OCb1PJ2uuV1vA0/nCfRkhGeAgzv4Pb8Lf+rqfxUoe7e7pXYyNn/zWqnhoCCho/jR7/RrIrQqlp7vfsFfa1yvkjGJIIkEYRe/Go0BBovvVNkuDD82rX5Yv6CDVVsdjMi0=----ATTACHMENT:----OTA4NDM2MzE3MDY2ODE1OSA4NDY5NzkwNjk3NTA0MTA1IDgzODM0ODU5NjA2MDQzNw==