11
11
12
12
namespace Http \Adapter \Tests ;
13
13
14
- use Http \Adapter \ HttpAdapter ;
15
- use Http \Adapter \ HttpAdapterException ;
16
- use Http \Adapter \Exception \MultiHttpAdapterException ;
14
+ use Http \Client \ HttpClient ;
15
+ use Http \Client \ Exception \ RequestException ;
16
+ use Http \Client \Exception \BatchException ;
17
17
use Http \Message \MessageFactory ;
18
18
use Http \Discovery \MessageFactoryDiscovery ;
19
19
use Nerd \CartesianProduct \CartesianProduct ;
@@ -36,7 +36,7 @@ abstract class HttpAdapterTest extends \PHPUnit_Framework_TestCase
36
36
protected static $ messageFactory ;
37
37
38
38
/**
39
- * @var HttpAdapter
39
+ * @var HttpClient
40
40
*/
41
41
protected $ httpAdapter ;
42
42
@@ -57,6 +57,7 @@ abstract class HttpAdapterTest extends \PHPUnit_Framework_TestCase
57
57
protected $ defaultHeaders = [
58
58
'Connection ' => 'close ' ,
59
59
'User-Agent ' => 'PHP HTTP Adapter ' ,
60
+ 'Content-Length ' => '0 '
60
61
];
61
62
62
63
/**
@@ -94,10 +95,8 @@ protected function tearDown()
94
95
unset($ this ->httpAdapter );
95
96
}
96
97
97
- abstract public function testGetName ();
98
-
99
98
/**
100
- * @return HttpAdapter
99
+ * @return HttpClient
101
100
*/
102
101
abstract protected function createHttpAdapter ();
103
102
@@ -107,6 +106,10 @@ abstract protected function createHttpAdapter();
107
106
*/
108
107
public function testSendRequest ($ method , $ uri , array $ headers , $ body )
109
108
{
109
+ if ($ body != null ) {
110
+ $ headers ['Content-Length ' ] = (string )strlen ($ body );
111
+ }
112
+
110
113
$ request = self ::$ messageFactory ->createRequest (
111
114
$ method ,
112
115
$ uri ,
@@ -136,6 +139,10 @@ public function testSendRequestWithOutcome($uriAndOutcome, $protocolVersion, arr
136
139
$ body = null ;
137
140
}
138
141
142
+ if ($ body != null ) {
143
+ $ headers ['Content-Length ' ] = (string )strlen ($ body );
144
+ }
145
+
139
146
$ request = self ::$ messageFactory ->createRequest (
140
147
$ method = 'GET ' ,
141
148
$ uriAndOutcome [0 ],
@@ -157,7 +164,7 @@ public function testSendRequestWithOutcome($uriAndOutcome, $protocolVersion, arr
157
164
}
158
165
159
166
/**
160
- * @expectedException \Http\Adapter \Exception\HttpAdapterException
167
+ * @expectedException \Http\Client \Exception
161
168
* @group integration
162
169
*/
163
170
public function testSendWithInvalidUri ()
@@ -178,9 +185,9 @@ public function testSendWithInvalidUri()
178
185
*/
179
186
public function testSendRequests (array $ requests )
180
187
{
181
- $ responses = $ this ->httpAdapter ->sendRequests ($ requests );
188
+ $ batchResult = $ this ->httpAdapter ->sendRequests ($ requests );
182
189
183
- $ this ->assertMultiResponses ($ responses , $ requests );
190
+ $ this ->assertMultiResponses ($ batchResult -> getResponses () , $ requests );
184
191
}
185
192
186
193
/**
@@ -192,9 +199,9 @@ public function testSendErroredRequests(array $requests, array $erroredRequests)
192
199
try {
193
200
$ this ->httpAdapter ->sendRequests (array_merge ($ requests , $ erroredRequests ));
194
201
$ this ->fail ();
195
- } catch (MultiHttpAdapterException $ e ) {
196
- $ this ->assertMultiResponses ($ e ->getResponses (), $ requests );
197
- $ this ->assertMultiExceptions ($ e ->getExceptions (), $ erroredRequests );
202
+ } catch (BatchException $ e ) {
203
+ $ this ->assertMultiResponses ($ e ->getResult ()-> getResponses (), $ requests );
204
+ $ this ->assertMultiExceptions ($ e ->getResult ()-> getExceptions (), $ erroredRequests );
198
205
}
199
206
}
200
207
@@ -241,12 +248,19 @@ public function requestsProvider()
241
248
$ messageFactory = MessageFactoryDiscovery::find ();
242
249
243
250
foreach ($ requests as &$ request ) {
251
+ $ headers = $ request [2 ];
252
+ $ body = $ request [3 ];
253
+
254
+ if ($ body !== null ) {
255
+ $ headers ['Content-Length ' ] = strlen ($ body );
256
+ }
257
+
244
258
$ request = $ messageFactory ->createRequest (
245
259
$ request [0 ],
246
260
$ request [1 ],
247
261
'1.1 ' ,
248
- $ request [ 2 ] ,
249
- $ request [ 3 ]
262
+ $ headers ,
263
+ $ body
250
264
);
251
265
}
252
266
@@ -272,12 +286,19 @@ public function erroredRequestsProvider()
272
286
$ cartesianProduct = new CartesianProduct ($ sets );
273
287
274
288
foreach ($ cartesianProduct as $ request ) {
289
+ $ headers = $ request [2 ];
290
+ $ body = $ request [3 ];
291
+
292
+ if ($ body !== null ) {
293
+ $ headers ['Content-Length ' ] = strlen ($ body );
294
+ }
295
+
275
296
$ requests [] = $ messageFactory ->createRequest (
276
297
$ request [0 ],
277
298
$ request [1 ],
278
299
'1.1 ' ,
279
- $ request [ 2 ] ,
280
- $ request [ 3 ]
300
+ $ headers ,
301
+ $ body
281
302
);
282
303
}
283
304
@@ -417,10 +438,8 @@ protected function assertResponse($response, array $options = [])
417
438
418
439
if ($ options ['body ' ] === null ) {
419
440
$ this ->assertEmpty ($ response ->getBody ()->getContents ());
420
- $ this ->assertEmpty ((string ) $ response ->getBody ());
421
441
} else {
422
442
$ this ->assertContains ($ options ['body ' ], $ response ->getBody ()->getContents ());
423
- $ this ->assertContains ($ options ['body ' ], (string ) $ response ->getBody ());
424
443
}
425
444
}
426
445
@@ -470,15 +489,14 @@ private function assertMultiResponses(array $responses, array $requests)
470
489
}
471
490
472
491
/**
473
- * @param HttpAdapterException [] $exceptions
474
- * @param array $requests
492
+ * @param RequestException [] $exceptions
493
+ * @param array $requests
475
494
*/
476
495
private function assertMultiExceptions (array $ exceptions , array $ requests )
477
496
{
478
497
$ this ->assertCount (count ($ requests ), $ exceptions );
479
498
480
499
foreach ($ exceptions as $ exception ) {
481
- $ this ->assertTrue ($ exception ->hasRequest ());
482
500
$ this ->assertInstanceOf (
483
501
'Psr\Http\Message\RequestInterface ' ,
484
502
$ exception ->getRequest ()
0 commit comments