5 use Doctrine\Common\Cache\ArrayCache;
29 $this->assertTrue($c->canCacheRequest(
new Request(
'DELETE',
'http://www.foo.com')));
39 function ($request) {
return true; },
40 function ($response) {
return true; }
44 $request =
new Request(
'DELETE',
'http://www.foo.com');
47 .
"Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n"
48 .
"Last-Modified: Wed, 09 Jan 2013 08:48:53 GMT\r\n"
49 .
"Content-Length: 2\r\n"
50 .
"Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\n\r\n"
54 $this->assertTrue($c->canCacheRequest($request));
55 $this->assertTrue($c->canCacheResponse($response));
57 $s = $this->getMockBuilder(
'Guzzle\Plugin\Cache\DefaultCacheStorage')
59 ->setMethods(array(
'fetch'))
60 ->getMockForAbstractClass();
62 $s->expects($this->once())
64 ->will($this->returnValue($response));
66 $plugin =
new CachePlugin(array(
'can_cache' => $c,
'storage' => $s));
67 $plugin->onRequestBeforeSend(
new Event(array(
'request' => $request)));
69 $this->assertEquals(200, $request->getResponse()->getStatusCode());
70 $this->assertEquals(
'hi', $request->getResponse()->getBody(
true));