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()); } }