Skip to content

Commit 3d7d889

Browse files
committed
Merge pull request #8 from joelwurtz/feature/httplug
Use httplug instead of old adapter
2 parents 432ab4f + a05339f commit 3d7d889

File tree

2 files changed

+42
-23
lines changed

2 files changed

+42
-23
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"require": {
1414
"php": ">=5.4",
1515
"phpunit/phpunit": "^4.4",
16-
"php-http/discovery": "^0.1",
16+
"php-http/discovery": "~0.2@dev",
17+
"php-http/httplug": "~1.0@dev",
1718
"guzzlehttp/psr7": "^1.0",
1819
"th3n3rd/cartesian-product": "^0.3"
1920
},

src/HttpAdapterTest.php

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
namespace Http\Adapter\Tests;
1313

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;
1717
use Http\Message\MessageFactory;
1818
use Http\Discovery\MessageFactoryDiscovery;
1919
use Nerd\CartesianProduct\CartesianProduct;
@@ -36,7 +36,7 @@ abstract class HttpAdapterTest extends \PHPUnit_Framework_TestCase
3636
protected static $messageFactory;
3737

3838
/**
39-
* @var HttpAdapter
39+
* @var HttpClient
4040
*/
4141
protected $httpAdapter;
4242

@@ -57,6 +57,7 @@ abstract class HttpAdapterTest extends \PHPUnit_Framework_TestCase
5757
protected $defaultHeaders = [
5858
'Connection' => 'close',
5959
'User-Agent' => 'PHP HTTP Adapter',
60+
'Content-Length' => '0'
6061
];
6162

6263
/**
@@ -94,10 +95,8 @@ protected function tearDown()
9495
unset($this->httpAdapter);
9596
}
9697

97-
abstract public function testGetName();
98-
9998
/**
100-
* @return HttpAdapter
99+
* @return HttpClient
101100
*/
102101
abstract protected function createHttpAdapter();
103102

@@ -107,6 +106,10 @@ abstract protected function createHttpAdapter();
107106
*/
108107
public function testSendRequest($method, $uri, array $headers, $body)
109108
{
109+
if ($body != null) {
110+
$headers['Content-Length'] = (string)strlen($body);
111+
}
112+
110113
$request = self::$messageFactory->createRequest(
111114
$method,
112115
$uri,
@@ -136,6 +139,10 @@ public function testSendRequestWithOutcome($uriAndOutcome, $protocolVersion, arr
136139
$body = null;
137140
}
138141

142+
if ($body != null) {
143+
$headers['Content-Length'] = (string)strlen($body);
144+
}
145+
139146
$request = self::$messageFactory->createRequest(
140147
$method = 'GET',
141148
$uriAndOutcome[0],
@@ -157,7 +164,7 @@ public function testSendRequestWithOutcome($uriAndOutcome, $protocolVersion, arr
157164
}
158165

159166
/**
160-
* @expectedException \Http\Adapter\Exception\HttpAdapterException
167+
* @expectedException \Http\Client\Exception
161168
* @group integration
162169
*/
163170
public function testSendWithInvalidUri()
@@ -178,9 +185,9 @@ public function testSendWithInvalidUri()
178185
*/
179186
public function testSendRequests(array $requests)
180187
{
181-
$responses = $this->httpAdapter->sendRequests($requests);
188+
$batchResult = $this->httpAdapter->sendRequests($requests);
182189

183-
$this->assertMultiResponses($responses, $requests);
190+
$this->assertMultiResponses($batchResult->getResponses(), $requests);
184191
}
185192

186193
/**
@@ -192,9 +199,9 @@ public function testSendErroredRequests(array $requests, array $erroredRequests)
192199
try {
193200
$this->httpAdapter->sendRequests(array_merge($requests, $erroredRequests));
194201
$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);
198205
}
199206
}
200207

@@ -241,12 +248,19 @@ public function requestsProvider()
241248
$messageFactory = MessageFactoryDiscovery::find();
242249

243250
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+
244258
$request = $messageFactory->createRequest(
245259
$request[0],
246260
$request[1],
247261
'1.1',
248-
$request[2],
249-
$request[3]
262+
$headers,
263+
$body
250264
);
251265
}
252266

@@ -272,12 +286,19 @@ public function erroredRequestsProvider()
272286
$cartesianProduct = new CartesianProduct($sets);
273287

274288
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+
275296
$requests[] = $messageFactory->createRequest(
276297
$request[0],
277298
$request[1],
278299
'1.1',
279-
$request[2],
280-
$request[3]
300+
$headers,
301+
$body
281302
);
282303
}
283304

@@ -417,10 +438,8 @@ protected function assertResponse($response, array $options = [])
417438

418439
if ($options['body'] === null) {
419440
$this->assertEmpty($response->getBody()->getContents());
420-
$this->assertEmpty((string) $response->getBody());
421441
} else {
422442
$this->assertContains($options['body'], $response->getBody()->getContents());
423-
$this->assertContains($options['body'], (string) $response->getBody());
424443
}
425444
}
426445

@@ -470,15 +489,14 @@ private function assertMultiResponses(array $responses, array $requests)
470489
}
471490

472491
/**
473-
* @param HttpAdapterException[] $exceptions
474-
* @param array $requests
492+
* @param RequestException[] $exceptions
493+
* @param array $requests
475494
*/
476495
private function assertMultiExceptions(array $exceptions, array $requests)
477496
{
478497
$this->assertCount(count($requests), $exceptions);
479498

480499
foreach ($exceptions as $exception) {
481-
$this->assertTrue($exception->hasRequest());
482500
$this->assertInstanceOf(
483501
'Psr\Http\Message\RequestInterface',
484502
$exception->getRequest()

0 commit comments

Comments
 (0)