3
namespace GuzzleHttp\Tests\Event;
5
use GuzzleHttp\Exception\RequestException;
6
use GuzzleHttp\Message\Request;
7
use GuzzleHttp\Message\Response;
10
* @covers GuzzleHttp\Exception\RequestException
12
class RequestExceptionTest extends \PHPUnit_Framework_TestCase
14
public function testHasRequestAndResponse()
16
$req = new Request('GET', '/');
17
$res = new Response(200);
18
$e = new RequestException('foo', $req, $res);
19
$this->assertSame($req, $e->getRequest());
20
$this->assertSame($res, $e->getResponse());
21
$this->assertTrue($e->hasResponse());
22
$this->assertEquals('foo', $e->getMessage());
25
public function testCreatesGenerateException()
27
$e = RequestException::create(new Request('GET', '/'));
28
$this->assertEquals('Error completing request', $e->getMessage());
29
$this->assertInstanceOf('GuzzleHttp\Exception\RequestException', $e);
32
public function testCreatesClientErrorResponseException()
34
$e = RequestException::create(new Request('GET', '/'), new Response(400));
36
'Client error response [url] / [status code] 400 [reason phrase] Bad Request',
39
$this->assertInstanceOf('GuzzleHttp\Exception\ClientException', $e);
42
public function testCreatesServerErrorResponseException()
44
$e = RequestException::create(new Request('GET', '/'), new Response(500));
46
'Server error response [url] / [status code] 500 [reason phrase] Internal Server Error',
49
$this->assertInstanceOf('GuzzleHttp\Exception\ServerException', $e);
52
public function testCreatesGenericErrorResponseException()
54
$e = RequestException::create(new Request('GET', '/'), new Response(600));
56
'Unsuccessful response [url] / [status code] 600 [reason phrase] ',
59
$this->assertInstanceOf('GuzzleHttp\Exception\RequestException', $e);
62
public function testCanSetAndRetrieveErrorEmitted()
64
$e = RequestException::create(new Request('GET', '/'), new Response(600));
65
$this->assertFalse($e->emittedError());
66
$e->emittedError(true);
67
$this->assertTrue($e->emittedError());
71
* @expectedException \InvalidArgumentException
73
public function testCannotSetEmittedErrorToFalse()
75
$e = RequestException::create(new Request('GET', '/'), new Response(600));
76
$e->emittedError(true);
77
$e->emittedError(false);
80
public function testHasStatusCodeAsExceptionCode()
82
$e = RequestException::create(new Request('GET', '/'), new Response(442));
83
$this->assertEquals(442, $e->getCode());
86
public function testHasThrowState()
88
$e = RequestException::create(
89
new Request('GET', '/'),
92
$this->assertFalse($e->getThrowImmediately());
93
$e->setThrowImmediately(true);
94
$this->assertTrue($e->getThrowImmediately());