|
4 | 4 |
|
5 | 5 | use Psr\Http\Message\ServerRequestInterface; |
6 | 6 | use React\Http\Middleware\RequestBodyBuffer; |
7 | | -use React\Http\Response; |
8 | 7 | use React\Http\ServerRequest; |
9 | 8 | use React\Tests\Http\TestCase; |
10 | 9 | use RingCentral\Psr7\BufferStream; |
@@ -36,47 +35,45 @@ function (ServerRequestInterface $request) use (&$exposedRequest) { |
36 | 35 | $this->assertSame($body, $exposedRequest->getBody()->getContents()); |
37 | 36 | } |
38 | 37 |
|
39 | | - public function testToLargeBody() |
| 38 | + public function test411Error() |
40 | 39 | { |
41 | | - $size = $this->iniMaxPostSize() + 1; |
42 | | - $stream = new BufferStream($size); |
43 | | - $stream->write(str_repeat('x', $size)); |
| 40 | + $body = $this->getMockBuilder('Psr\Http\Message\StreamInterface')->getMock(); |
| 41 | + $body->expects($this->once())->method('getSize')->willReturn(null); |
| 42 | + |
44 | 43 | $serverRequest = new ServerRequest( |
45 | 44 | 'GET', |
46 | 45 | 'https://example.com/', |
47 | 46 | array(), |
48 | | - $stream |
| 47 | + $body |
49 | 48 | ); |
50 | 49 |
|
51 | | - $shouldNotHaveBeenCalled = false; |
52 | 50 | $buffer = new RequestBodyBuffer(); |
53 | 51 | $response = $buffer( |
54 | 52 | $serverRequest, |
55 | | - function () use (&$shouldNotHaveBeenCalled) { |
56 | | - $shouldNotHaveBeenCalled = true; |
57 | | - } |
| 53 | + function () {} |
58 | 54 | ); |
59 | 55 |
|
60 | | - $this->assertFalse($shouldNotHaveBeenCalled); |
61 | | - $this->assertInstanceOf('React\Http\Response', $response); |
62 | | - $this->assertSame(413, $response->getStatusCode()); |
63 | | - $this->assertSame('Request body exceeds allowed limit', (string)$response->getBody()); |
| 56 | + $this->assertSame(411, $response->getStatusCode()); |
64 | 57 | } |
65 | 58 |
|
66 | | - private function iniMaxPostSize() |
| 59 | + public function test413Error() |
67 | 60 | { |
68 | | - $size = ini_get('post_max_size'); |
69 | | - $suffix = strtoupper(substr($size, -1)); |
70 | | - if ($suffix === 'K') { |
71 | | - return substr($size, 0, -1) * 1024; |
72 | | - } |
73 | | - if ($suffix === 'M') { |
74 | | - return substr($size, 0, -1) * 1024 * 1024; |
75 | | - } |
76 | | - if ($suffix === 'G') { |
77 | | - return substr($size, 0, -1) * 1024 * 1024 * 1024; |
78 | | - } |
| 61 | + $stream = new BufferStream(2); |
| 62 | + $stream->write('aa'); |
79 | 63 |
|
80 | | - return $size; |
| 64 | + $serverRequest = new ServerRequest( |
| 65 | + 'GET', |
| 66 | + 'https://example.com/', |
| 67 | + array(), |
| 68 | + $stream |
| 69 | + ); |
| 70 | + |
| 71 | + $buffer = new RequestBodyBuffer(1); |
| 72 | + $response = $buffer( |
| 73 | + $serverRequest, |
| 74 | + function () {} |
| 75 | + ); |
| 76 | + |
| 77 | + $this->assertSame(413, $response->getStatusCode()); |
81 | 78 | } |
82 | 79 | } |
0 commit comments