scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 86  →  ?path2? @ 87
/vendor/guzzlehttp/guzzle/tests/Adapter/FakeParallelAdapterTest.php
@@ -0,0 +1,59 @@
<?php
namespace GuzzleHttp\Tests\Adapter;
 
use GuzzleHttp\Adapter\FakeParallelAdapter;
use GuzzleHttp\Adapter\MockAdapter;
use GuzzleHttp\Adapter\TransactionIterator;
use GuzzleHttp\Client;
use GuzzleHttp\Event\ErrorEvent;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Message\Response;
 
/**
* @covers GuzzleHttp\Adapter\FakeParallelAdapter
*/
class FakeParallelAdapterTest extends \PHPUnit_Framework_TestCase
{
public function testSendsAllTransactions()
{
$client = new Client();
$requests = [
$client->createRequest('GET', 'http://httbin.org'),
$client->createRequest('HEAD', 'http://httbin.org'),
];
 
$sent = [];
$f = new FakeParallelAdapter(new MockAdapter(function ($trans) use (&$sent) {
$sent[] = $trans->getRequest()->getMethod();
return new Response(200);
}));
 
$tIter = new TransactionIterator($requests, $client, []);
$f->sendAll($tIter, 2);
$this->assertContains('GET', $sent);
$this->assertContains('HEAD', $sent);
}
 
public function testThrowsImmediatelyIfInstructed()
{
$client = new Client();
$request = $client->createRequest('GET', 'http://httbin.org');
$request->getEmitter()->on('error', function (ErrorEvent $e) {
$e->throwImmediately(true);
});
$sent = [];
$f = new FakeParallelAdapter(
new MockAdapter(function ($trans) use (&$sent) {
$sent[] = $trans->getRequest()->getMethod();
return new Response(404);
})
);
$tIter = new TransactionIterator([$request], $client, []);
try {
$f->sendAll($tIter, 1);
$this->fail('Did not throw');
} catch (RequestException $e) {
$this->assertSame($request, $e->getRequest());
}
}
}