コード例 #1
0
 /**
  * @expectedException Guzzle\Service\Exception\InconsistentClientTransferException
  */
 public function testEnsuresAllCommandsUseTheSameClient()
 {
     $batch = new BatchCommandTransfer(2);
     $client1 = new Client('http://www.example.com');
     $client2 = new Client('http://www.example.com');
     $command1 = new Mc();
     $command1->setClient($client1);
     $command2 = new Mc();
     $command2->setClient($client2);
     $batch->transfer(array($command1, $command2));
 }
コード例 #2
0
ファイル: CommandTest.php プロジェクト: angelospanag/thymisis
 public function testCanChangeResponseBody()
 {
     $body = EntityBody::factory();
     $command = new MockCommand();
     $command->setClient(new \Guzzle\Service\Client());
     $command->set(AbstractCommand::RESPONSE_BODY, $body);
     $request = $command->prepare();
     $this->assertSame($body, $this->readAttribute($request, 'responseBody'));
 }
コード例 #3
0
 /**
  * @covers Guzzle\Service\Command\AbstractCommand
  */
 public function testCommandsUsesApiCommand()
 {
     $api = $this->getApiCommand();
     $command = new MockCommand(array(), $api);
     $this->assertSame($api, $command->getApiCommand());
     $command->setClient($this->getClient())->prepare();
     $this->assertEquals('123', $command->get('test'));
     $this->assertSame($api, $command->getApiCommand($api));
 }
コード例 #4
0
ファイル: CommandTest.php プロジェクト: norv/guzzle
 /**
  * @covers Guzzle\Service\Command\AbstractCommand::setOnComplete
  * @covers Guzzle\Service\Command\AbstractCommand::__construct
  * @covers Guzzle\Service\Command\AbstractCommand::getResult
  */
 public function testHasOnCompleteMethod()
 {
     $that = $this;
     $called = 0;
     $testFunction = function ($command) use(&$called, $that) {
         $called++;
         $that->assertInstanceOf('Guzzle\\Service\\Command\\CommandInterface', $command);
     };
     $client = $this->getClient();
     $command = new MockCommand(array('command.on_complete' => $testFunction), $this->getApiCommand());
     $command->setClient($client);
     $command->prepare()->setResponse(new Response(200));
     $command->execute();
     $this->assertEquals(1, $called);
 }
コード例 #5
0
 /**
  * @covers Guzzle\Service\Command\CommandSet::execute
  * @covers Guzzle\Service\Command\CommandSet::update
  */
 public function testExecutesCommands()
 {
     $client = $this->getClient();
     $observer = $this->getWildcardObserver($client);
     // Create a Mock response
     $response = new Response(200, array('Content-Type' => 'application/xml'), '<xml><data>123</data></xml>');
     $client->getEventDispatcher()->addSubscriber(new MockPlugin(array($response, $response, $response)));
     $command1 = new MockCommand();
     $command1->setClient($client);
     $command2 = new MockCommand();
     $command2->setClient($client);
     $command3 = new MockCommand();
     $command3->setClient($client);
     $commandSet = new CommandSet(array($command1, $command2, $command3));
     $commandSet->execute();
     $this->assertTrue($command1->isExecuted());
     $this->assertTrue($command1->isPrepared());
     $this->assertTrue($command2->isExecuted());
     $this->assertTrue($command2->isPrepared());
     $this->assertTrue($command3->isExecuted());
     $this->assertTrue($command3->isPrepared());
     $this->assertEquals($response, $command1->getResponse());
     $this->assertEquals($response, $command2->getResponse());
     $grouped = $observer->getGrouped();
     $this->assertEquals(3, count($grouped['command.before_send']));
     $this->assertEquals(3, count($grouped['command.after_send']));
     // make sure the command set was detached as a listener on the request
     $listeners = $command1->getRequest()->getEventDispatcher()->getListeners('request.complete');
     $this->assertFalse(in_array($commandSet, $listeners));
     // make sure that the command reference was removed
     $this->assertFalse($command1->getRequest()->getParams()->hasKey('command'));
     // Make sure that the command.after_send events are staggered, meaning they happened as requests completed
     $lastEvent = '';
     foreach ($observer->events as $e) {
         if ($lastEvent == 'command.after_send' && $e == 'command.after_send') {
             $this->fail('Not completing commands as they complete: ' . var_export($observer->events, true));
         }
         $lastEvent = $e;
     }
 }
コード例 #6
0
ファイル: CommandTest.php プロジェクト: jsnshrmn/Suma
 /**
  * @covers Guzzle\Service\Command\AbstractCommand::__invoke
  */
 public function testIsInvokable()
 {
     $client = $this->getClient();
     $response = new Response(200);
     $this->setMockResponse($client, array($response));
     $command = new MockCommand();
     $command->setClient($client);
     // Returns the result of the command
     $this->assertSame($response, $command());
 }
コード例 #7
0
ファイル: CommandTest.php プロジェクト: nickpeirson/guzzle
 /**
  * @covers Guzzle\Service\Command\AbstractCommand::prepare
  */
 public function testAddsCurlOptionsToRequestsWhenPreparing()
 {
     $command = new MockCommand(array('foo' => 'bar', 'curl.CURLOPT_PROXYPORT' => 8080));
     $client = new Client();
     $command->setClient($client);
     $request = $command->prepare();
     $this->assertEquals(8080, $request->getCurlOptions()->get(CURLOPT_PROXYPORT));
 }