scratch – Blame information for rev 87

Subversion Repositories:
Rev:
Rev Author Line No. Line
87 office 1 <?php
2  
3 namespace GuzzleHttp\Tests\Event;
4  
5 use GuzzleHttp\Exception\RequestException;
6 use GuzzleHttp\Message\Request;
7 use GuzzleHttp\Message\Response;
8  
9 /**
10 * @covers GuzzleHttp\Exception\RequestException
11 */
12 class RequestExceptionTest extends \PHPUnit_Framework_TestCase
13 {
14 public function testHasRequestAndResponse()
15 {
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());
23 }
24  
25 public function testCreatesGenerateException()
26 {
27 $e = RequestException::create(new Request('GET', '/'));
28 $this->assertEquals('Error completing request', $e->getMessage());
29 $this->assertInstanceOf('GuzzleHttp\Exception\RequestException', $e);
30 }
31  
32 public function testCreatesClientErrorResponseException()
33 {
34 $e = RequestException::create(new Request('GET', '/'), new Response(400));
35 $this->assertEquals(
36 'Client error response [url] / [status code] 400 [reason phrase] Bad Request',
37 $e->getMessage()
38 );
39 $this->assertInstanceOf('GuzzleHttp\Exception\ClientException', $e);
40 }
41  
42 public function testCreatesServerErrorResponseException()
43 {
44 $e = RequestException::create(new Request('GET', '/'), new Response(500));
45 $this->assertEquals(
46 'Server error response [url] / [status code] 500 [reason phrase] Internal Server Error',
47 $e->getMessage()
48 );
49 $this->assertInstanceOf('GuzzleHttp\Exception\ServerException', $e);
50 }
51  
52 public function testCreatesGenericErrorResponseException()
53 {
54 $e = RequestException::create(new Request('GET', '/'), new Response(600));
55 $this->assertEquals(
56 'Unsuccessful response [url] / [status code] 600 [reason phrase] ',
57 $e->getMessage()
58 );
59 $this->assertInstanceOf('GuzzleHttp\Exception\RequestException', $e);
60 }
61  
62 public function testCanSetAndRetrieveErrorEmitted()
63 {
64 $e = RequestException::create(new Request('GET', '/'), new Response(600));
65 $this->assertFalse($e->emittedError());
66 $e->emittedError(true);
67 $this->assertTrue($e->emittedError());
68 }
69  
70 /**
71 * @expectedException \InvalidArgumentException
72 */
73 public function testCannotSetEmittedErrorToFalse()
74 {
75 $e = RequestException::create(new Request('GET', '/'), new Response(600));
76 $e->emittedError(true);
77 $e->emittedError(false);
78 }
79  
80 public function testHasStatusCodeAsExceptionCode()
81 {
82 $e = RequestException::create(new Request('GET', '/'), new Response(442));
83 $this->assertEquals(442, $e->getCode());
84 }
85  
86 public function testHasThrowState()
87 {
88 $e = RequestException::create(
89 new Request('GET', '/'),
90 new Response(442)
91 );
92 $this->assertFalse($e->getThrowImmediately());
93 $e->setThrowImmediately(true);
94 $this->assertTrue($e->getThrowImmediately());
95 }
96 }