/** * @covers Guzzle\Http\Message\Request::getProtocolVersion * @covers Guzzle\Http\Message\Request::setProtocolVersion */ public function testRequestHasProtocol() { $this->assertEquals('1.1', $this->request->getProtocolVersion()); $this->assertEquals($this->request, $this->request->setProtocolVersion('1.1')); $this->assertEquals('1.1', $this->request->getProtocolVersion()); $this->assertEquals($this->request, $this->request->setProtocolVersion('1.0')); $this->assertEquals('1.0', $this->request->getProtocolVersion()); }
/** * @dataProvider satisfiableOnErrorProvider */ public function testInjectsSatisfiableResponsesOnException($cacheResponse) { $storage = $this->getMockBuilder('Guzzle\\Plugin\\Cache\\CacheStorageInterface')->setMethods(array('fetch'))->getMockForAbstractClass(); $storage->expects($this->exactly(2))->method('fetch')->will($this->returnValue($cacheResponse)); $plugin = new CachePlugin(array('storage' => $storage)); $request = new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale')); $plugin->onRequestBeforeSend(new Event(array('request' => $request))); $plugin->onRequestException(new Event(array('request' => $request, 'response' => $request->getResponse(), 'exception' => $this->getMock('Guzzle\\Http\\Exception\\CurlException')))); $plugin->onRequestSent(new Event(array('request' => $request, 'response' => $response = $request->getResponse()))); $this->assertEquals($cacheResponse->getStatusCode(), $response->getStatusCode()); $this->assertEquals((string) $cacheResponse->getBody(), (string) $response->getBody()); $this->assertTrue($response->hasHeader('Age')); if ($response->isFresh() === false) { $this->assertContains('110', (string) $response->getHeader('Warning')); } $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $request->getHeader('Via')); $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $response->getHeader('Via')); $this->assertTrue($request->getParams()->get('cache.lookup')); $this->assertSame('error', $request->getParams()->get('cache.hit')); $this->assertTrue($response->hasHeader('X-Cache-Lookup')); $this->assertTrue($response->hasHeader('X-Cache')); $this->assertEquals('HIT from GuzzleCache', (string) $response->getHeader('X-Cache-Lookup')); $this->assertEquals('HIT_ERROR from GuzzleCache', (string) $response->getHeader('X-Cache')); }