mailgun-php/tests/Exception/HttpClientExceptionTest.php
Paul R Rogers 02e3191bc9 Change exception message of HttpClientException when badRequest to us… (#466)
* Change exception message of HttpClientException when badRequest to use server content's message to aid resolving problems with user input.

* style(HttpClientException): Removed space to comply with styleCI.

* Fix missing assoc flag.

* Refactor to reuse constructor parsing when passing along server error.
Add tests covering passing along of server message.

* Updated tests

* cs

* bugfix
2019-01-05 12:52:40 +01:00

36 lines
1.3 KiB
PHP

<?php
/*
* 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 Mailgun\Tests\Exception;
use GuzzleHttp\Psr7\Response;
use Mailgun\Exception\HttpClientException;
use Mailgun\Tests\MailgunTestCase;
class HttpClientExceptionTest extends MailgunTestCase
{
public function testBadRequestGetMessageJson()
{
$response = new Response(400, ['Content-Type' => 'application/json'], '{"message":"Server Message"}');
$exception = HttpClientException::badRequest($response);
$this->assertStringEndsWith('Server Message', $exception->getMessage());
$response = new Response(400, ['Content-Type' => 'application/json'], '{"Foo":"Server Message"}');
$exception = HttpClientException::badRequest($response);
$this->assertStringEndsWith('{"Foo":"Server Message"}', $exception->getMessage());
}
public function testBadRequestGetMessage()
{
$response = new Response(400, ['Content-Type' => 'text/html'], '<html><body>Server HTML</body></html>');
$exception = HttpClientException::badRequest($response);
$this->assertStringEndsWith('<html><body>Server HTML</body></html>', $exception->getMessage());
}
}