Open Monograph Press  3.3.0
BackoffLoggerTest.php
1 <?php
2 
4 
11 
16 {
17  public $message;
18 
19  public function setUp()
20  {
21  $this->message = '';
22  }
23 
24  public function testHasEventList()
25  {
26  $this->assertEquals(1, count(BackoffLogger::getSubscribedEvents()));
27  }
28 
29  public function testLogsEvents()
30  {
31  list($logPlugin, $request, $response) = $this->getMocks();
32 
33  $response = $this->getMockBuilder('Guzzle\Http\Message\Response')
34  ->setConstructorArgs(array(503))
35  ->setMethods(array('getInfo'))
36  ->getMock();
37 
38  $response->expects($this->any())
39  ->method('getInfo')
40  ->will($this->returnValue(2));
41 
42  $handle = $this->getMockHandle();
43 
44  $event = new Event(array(
45  'request' => $request,
46  'response' => $response,
47  'retries' => 1,
48  'delay' => 3,
49  'handle' => $handle
50  ));
51 
52  $logPlugin->onRequestRetry($event);
53  $this->assertContains(
54  '] PUT http://www.example.com - 503 Service Unavailable - Retries: 1, Delay: 3, Time: 2, 2, cURL: 30 Foo',
55  $this->message
56  );
57  }
58 
59  public function testCanSetTemplate()
60  {
61  $l = new BackoffLogger(new ClosureLogAdapter(function () {}));
62  $l->setTemplate('foo');
63  $t = $this->readAttribute($l, 'formatter');
64  $this->assertEquals('foo', $this->readAttribute($t, 'template'));
65  }
66 
70  protected function getMocks()
71  {
72  $that = $this;
73  $logger = new ClosureLogAdapter(function ($message) use ($that) {
74  $that->message .= $message . "\n";
75  });
76  $logPlugin = new BackoffLogger($logger);
77  $response = new Response(503);
78  $request = RequestFactory::getInstance()->create('PUT', 'http://www.example.com', array(
79  'Content-Length' => 3,
80  'Foo' => 'Bar'
81  ));
82 
83  return array($logPlugin, $request, $response);
84  }
85 
89  protected function getMockHandle()
90  {
91  $handle = $this->getMockBuilder('Guzzle\Http\Curl\CurlHandle')
92  ->disableOriginalConstructor()
93  ->setMethods(array('getError', 'getErrorNo', 'getInfo'))
94  ->getMock();
95 
96  $handle->expects($this->once())
97  ->method('getError')
98  ->will($this->returnValue('Foo'));
99 
100  $handle->expects($this->once())
101  ->method('getErrorNo')
102  ->will($this->returnValue(30));
103 
104  $handle->expects($this->any())
105  ->method('getInfo')
106  ->will($this->returnValue(2));
107 
108  return $handle;
109  }
110 }
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\testHasEventList
testHasEventList()
Definition: BackoffLoggerTest.php:24
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Http\Message\Response
Definition: paymethod/paypal/lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php:17
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\getMocks
getMocks()
Definition: BackoffLoggerTest.php:70
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest
Definition: BackoffLoggerTest.php:15
Guzzle\Common\Event
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php:10
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\testCanSetTemplate
testCanSetTemplate()
Definition: BackoffLoggerTest.php:59
Guzzle\Http\Message\RequestFactory
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php:14
Guzzle\Log\ClosureLogAdapter
Definition: ClosureLogAdapter.php:8
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\setUp
setUp()
Definition: BackoffLoggerTest.php:19
Guzzle\Plugin\Backoff\BackoffLogger
Definition: BackoffLogger.php:19
Guzzle\Http\Message\RequestFactory\getInstance
static getInstance()
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php:42
Guzzle\Http\Curl\CurlHandle
Definition: CurlHandle.php:16
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\getMockHandle
getMockHandle()
Definition: BackoffLoggerTest.php:89
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\testLogsEvents
testLogsEvents()
Definition: BackoffLoggerTest.php:29
Guzzle\Tests\Plugin\Backoff
Definition: AbstractBackoffStrategyTest.php:3
Guzzle\Tests\Plugin\Backoff\BackoffLoggerTest\$message
$message
Definition: BackoffLoggerTest.php:17
Guzzle\Plugin\Backoff\BackoffLogger\getSubscribedEvents
static getSubscribedEvents()
Definition: BackoffLogger.php:46