Example #1
0
 public function testPHPFileCaching()
 {
     $this->markTestSkipped('Feature noch nicht implementiert');
     /* Schön wäre hier, das RequestBundle mit einem Cache zu füttern, der direkt
          Objekte abspeichern kann. Quasi der PermanentObjectCache
          
          dieser Cache müsste dann können, dass man die Objekte serialisiert oder einfach selbst erstellt (so mit setState und so)
          
          NOCH schöner wäre hier
          eine zweiten PermanentCache zu übergeben und dann ein PermanentCachedRequestBundle zu haben
          welches einfach nur url + content + headers in dem permanent cache speichert und dann selbst die objekte
          instanziiert
        */
     /* FileCache erstellen und laden */
     $file = $this->newFile('storage.phpfile.php');
     $file->delete();
     $cache = new PHPFileCache($file);
     /* CachedRequest im Cache abspeichern (unter der URL) */
     $cachedRequest = new CachedRequest('http://www.google.de');
     $cachedRequest->setCachedResponse(new Response('ich bin gecached http://www.google.de', new HTTP\Header()));
     $cache->store(array('http://www.google.de'), $cachedRequest);
     $this->assertTrue($cache->hit(array('http://www.google.de')));
     $bundle = new RequestBundle(0, $cache);
     $googleReq = $bundle->createRequest('http://www.google.de');
     $this->assertInstanceOf('Psc\\URL\\CachedRequest', $googleReq);
     $this->assertEquals($cachedRequest, $googleReq);
     $this->assertEquals('ich bin gecached http://www.google.de', $googleReq->init()->process());
     $this->assertEquals('ich bin gecached http://www.google.de', $googleReq->getResponse()->getRaw());
 }
Example #2
0
 public function testCached()
 {
     $req = new CachedRequest('http://www.google.de/');
     $req->setCachedResponse(new Response('ich bin auf jeden Fall nicht Google', new HTTP\Header()));
     $this->assertEquals('ich bin auf jeden Fall nicht Google', $req->init()->process());
     $this->assertInstanceOf('Psc\\URL\\Response', $req->getResponse());
     $this->assertEquals('ich bin auf jeden Fall nicht Google', $req->getResponse()->getRaw());
 }
Example #3
0
 /**
  * Bei processed fügt das bundle den Request alse Cache-Request hinzu
  */
 public function trigger(Event $event)
 {
     $request = $event->getTarget();
     $cachedRequest = new CachedRequest($request->getURL());
     $cachedRequest->setCachedResponse($event->getData()->response);
     $cachedRequest->setHeaders($event->getData()->headers);
     $this->addCachedRequest($cachedRequest);
 }
 protected function createRequestBundle()
 {
     $bundle = $this->getMock('Psc\\URL\\RequestBundle', array('trigger'), array(30 * 60));
     $bundle->expects($this->never())->method('trigger');
     // keine requests die live sind ausführen
     foreach (array('http://serienjunkies.org/serie/californication/' => 'index.californication.htm', 'http://serienjunkies.org/serie/how-i-met-your-mother/' => 'himym.index.htm', 'http://serienjunkies.org/?cat=0&showall' => 'index.htm', 'http://serienjunkies.org/californication/californication-staffel-3-dvdripweb-dl-xvid720pdvd9dvdr/' => 'staffel3.californication.htm', 'http://serienjunkies.org/serie/firefly/' => 'index.firefly.htm', 'http://serienjunkies.org/firefly/firefly-season-1-hdtv720p-x264/' => 'staffel1.firefly.htm') as $url => $file) {
         $savedHTML = $this->getFile($file);
         $request = new CachedRequest($url);
         $request->setCachedResponse(new Response($savedHTML->getContents(), new HTTPHeader()));
         $bundle->addCachedRequest($request);
     }
     return $bundle;
 }