52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
* Copyright (C) 2013 Mailgun
|
|
*
|
|
* This software may be modified and distributed under the terms
|
|
* of the MIT license. See the LICENSE file for details.
|
|
*/
|
|
|
|
namespace Mailjet;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @runTestsInSeparateProcesses
|
|
* @preserveGlobalState disabled
|
|
*/
|
|
final class ResponseTest extends TestCase
|
|
{
|
|
public function testResponse()
|
|
{
|
|
$request = new Request(['test', 'test2'], 'GET', 'test.com', [], [], 'test', []);
|
|
|
|
$response = new Response(
|
|
$request,
|
|
new \GuzzleHttp\Psr7\Response(200, ['X-Foo' => 'Bar'], '{"Data": {"test": true}, "Count": 100, "Total": 200}')
|
|
);
|
|
|
|
$this->assertEquals(200, $response->getStatus());
|
|
$this->assertEquals(['Data' => ['test' => true], 'Count' => 100, 'Total' => 200], $response->getBody());
|
|
$this->assertEquals(['test' => true], $response->getData());
|
|
$this->assertEquals('OK', $response->getReasonPhrase());
|
|
$this->assertEquals(200, $response->getTotal());
|
|
}
|
|
|
|
public function testNullResponse()
|
|
{
|
|
$request = new Request(['test', 'test2'], 'GET', 'test.com', [], [], 'test', []);
|
|
|
|
// Response without a response interface as second parameter
|
|
$response = new Response($request, null);
|
|
|
|
$this->assertNull($response->getStatus());
|
|
$this->assertEquals([], $response->getBody());
|
|
$this->assertEquals([], $response->getData());
|
|
$this->assertNull($response->getReasonPhrase());
|
|
$this->assertNull($response->getTotal());
|
|
}
|
|
}
|