Open Journal Systems  3.3.0
BatchRequestTransferTest.php
1 <?php
2 
3 namespace Guzzle\Tests\Batch;
4 
8 
13 {
15  {
16  $client1 = new Client('http://www.example.com');
17  $client1->setCurlMulti(new CurlMulti());
18 
19  $client2 = new Client('http://www.example.com');
20  $client2->setCurlMulti(new CurlMulti());
21 
22  $request1 = $client1->get();
23  $request2 = $client2->get();
24  $request3 = $client1->get();
25  $request4 = $client2->get();
26  $request5 = $client1->get();
27 
28  $queue = new \SplQueue();
29  $queue[] = $request1;
30  $queue[] = $request2;
31  $queue[] = $request3;
32  $queue[] = $request4;
33  $queue[] = $request5;
34 
35  $batch = new BatchRequestTransfer(2);
36  $this->assertEquals(array(
37  array($request1, $request3),
38  array($request3),
39  array($request2, $request4)
40  ), $batch->createBatches($queue));
41  }
42 
47  {
48  $queue = new \SplQueue();
49  $queue[] = 'foo';
50  $batch = new BatchRequestTransfer(2);
51  $batch->createBatches($queue);
52  }
53 
54  public function testTransfersBatches()
55  {
56  $client = new Client('http://127.0.0.1:123');
57  $request = $client->get();
58  // For some reason... PHP unit clones the request, which emits a request.clone event. This causes the
59  // 'sorted' property of the event dispatcher to contain an array in the cloned request that is not present in
60  // the original.
61  $request->dispatch('request.clone');
62 
63  $multi = $this->getMock('Guzzle\Http\Curl\CurlMultiInterface');
64  $client->setCurlMulti($multi);
65  $multi->expects($this->once())
66  ->method('add')
67  ->with($request);
68  $multi->expects($this->once())
69  ->method('send');
70 
71  $batch = new BatchRequestTransfer(2);
72  $batch->transfer(array($request));
73  }
74 
76  {
77  $batch = new BatchRequestTransfer(2);
78  $batch->transfer(array());
79  }
80 }
Guzzle\Tests\Batch\BatchRequestTransferTest\testTransfersBatches
testTransfersBatches()
Definition: BatchRequestTransferTest.php:54
Guzzle\Tests\Batch\BatchRequestTransferTest
Definition: BatchRequestTransferTest.php:12
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Tests\Batch\BatchRequestTransferTest\testCreatesBatchesBasedOnCurlMultiHandles
testCreatesBatchesBasedOnCurlMultiHandles()
Definition: BatchRequestTransferTest.php:14
Guzzle\Tests\Batch\BatchRequestTransferTest\testDoesNotTransfersEmptyBatches
testDoesNotTransfersEmptyBatches()
Definition: BatchRequestTransferTest.php:75
Guzzle\Tests\Batch\BatchRequestTransferTest\testEnsuresAllItemsAreRequests
testEnsuresAllItemsAreRequests()
Definition: BatchRequestTransferTest.php:46
Guzzle\Batch\BatchRequestTransfer
Definition: BatchRequestTransfer.php:14
Guzzle\Tests\Batch
Definition: AbstractBatchDecoratorTest.php:3
Guzzle\Http\Client
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php:24
Guzzle\Http\Curl\CurlMulti
Definition: CurlMulti.php:16