コード例 #1
0
 public function testDownload()
 {
     $max_tries = 3;
     $client = new FakeClient();
     $client->tries = $max_tries;
     $downloader = new PageDownloader();
     $downloader->setClient($client);
     $downloader->setWaitTime(0);
     try {
         $downloader->download('test', $max_tries);
         $this->fails();
     } catch (DownloadException $e) {
         $this->assertEquals($max_tries . ' attempts failed to download this page', $e->getMessage());
     }
     $response_2 = $downloader->download('test', $max_tries + 1);
     $this->assertEquals('foo', $response_2);
 }
コード例 #2
0
 private function createCrawler(Body $body)
 {
     $response = \Mockery::mock('\\GuzzleHttp\\Message\\FutureResponse');
     $response->shouldReceive('getBody')->andReturn($body)->shouldReceive('getStatusCode')->andReturn(200);
     $client = \Mockery::mock('\\GuzzleHttp\\Client');
     $client->shouldReceive('get')->andReturn($response);
     $downloader = new PageDownloader();
     $downloader->setClient($client);
     $manager = new QueueManager(new ArrayQueue(), new ArrayStore());
     $manager->addValidator(new FuckThatLink());
     $crawler = new DomainCrawler($manager, new LinkFinder());
     $crawler->setDownloader($downloader);
     return $crawler;
 }