Ejemplo n.º 1
0
 public function testExecutesCommandsInParallel()
 {
     $client = $this->getMockBuilder('GuzzleHttp\\Client')->setMethods(['sendAll'])->getMock();
     $description = new Description(['operations' => ['Foo' => []]]);
     $guzzle = new GuzzleClient($client, $description);
     $command = $guzzle->getCommand('foo');
     $request = $client->createRequest('GET', 'http://httbin.org');
     $command->getEmitter()->on('prepare', function (PrepareEvent $e) use($request) {
         $e->setRequest($request);
     }, 1);
     $client->expects($this->once())->method('sendAll')->will($this->returnCallback(function ($requests, $options) use($request) {
         $this->assertEquals(10, $options['parallel']);
         $this->assertTrue($requests->valid());
         $this->assertSame($request, $requests->current());
     }));
     $guzzle->executeAll([$command], ['parallel' => 10]);
 }