fix tests

This commit is contained in:
James 2020-02-23 01:08:14 +00:00
parent ffdef4b0d5
commit 9c0961fd87
2 changed files with 75 additions and 74 deletions

View File

@ -124,7 +124,7 @@ class CrawlObserver extends \Spatie\Crawler\CrawlObserver
if( $response=$requestException->getResponse() ){ if( $response=$requestException->getResponse() ){
$this->crawled($url,$response,$foundOnUrl); $this->crawled($url,$response,$foundOnUrl);
}else{ }else{
$this->addResult((String)$url,(string)$foundOnUrl); $this->addResult((String)$url,(string)$foundOnUrl,'---','');
} }
} }

View File

@ -5,123 +5,124 @@ use JHodges\Sitemap\Crawler;
class CrawlerTest extends TestCase{ class CrawlerTest extends TestCase{
public function testCanCrawlSite(){ public function testFound(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080'); $crawler->crawl('http://localhost:8080/found');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/' => ['code' => 200 ], 'http://localhost:8080/found' => ['code' => 200],
'http://localhost:8080/link1' => ['code' => 200 ], ], print_r($sitemap,true));
'http://localhost:8080/link2' => ['code' => 200 ], }
'http://localhost:8080/link3' => ['code' => 200 ],
'http://localhost:8080/link4' => ['code' => 302 ], public function testNotFound(){
'http://localhost:8080/notExists' => ['code' => 404 ], $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/notFound');
$sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[
'http://localhost:8080/notFound' => ['code' => 404],
], print_r($sitemap,true));
}
public function testExternalLink(){
$crawler=new Crawler();
$crawler->crawl('http://localhost:8080/externalLink');
$sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[
'http://localhost:8080/externalLink' => ['code' => 200],
'http://example.com/' => ['code' => 200],
], print_r($sitemap,true));
}
public function testDeeplink(){
$crawler=new Crawler();
$crawler->crawl('http://localhost:8080/deeplink1');
$sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[
'http://localhost:8080/deeplink1' => ['code' => 200],
'http://localhost:8080/deeplink2' => ['code' => 200],
'http://localhost:8080/deeplink3' => ['code' => 200],
], print_r($sitemap,true));
}
public function testInterlinked(){
$crawler=new Crawler();
$crawler->crawl('http://localhost:8080/interlinked1');
//$crawler->crawl('http://localhost:8080/page4'); // TODO!!! this ensures the order or results for the URL tracking test 3PARTS.
$sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[
'http://localhost:8080/interlinked1' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/interlinked1' => 1,
'http://localhost:8080/interlinked2' => 1,
'http://localhost:8080/interlinked3' => 1,
]],
'http://localhost:8080/interlinked2' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/interlinked1' => 1,
'http://localhost:8080/interlinked2' => 1,
'http://localhost:8080/interlinked3' => 1,
]],
'http://localhost:8080/interlinked3' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/interlinked1' => 1,
'http://localhost:8080/interlinked2' => 1,
'http://localhost:8080/interlinked3' => 1,
]],
]); ]);
} }
public function testCollectsAllFoundOnUrls(){ public function testRedirectToFound(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/page1');
$crawler->crawl('http://localhost:8080/page4'); // this ensures the order or results for the URL tracking test 3PARTS.
$sitemap=$crawler->getResults();
print_r($sitemap);
$this->assertTreeContains($sitemap,[
'http://localhost:8080/page1' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
]],
'http://localhost:8080/page2' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
]],
'http://localhost:8080/page3' => ['code' => 200 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
]],
'http://localhost:8080/notFound1' => ['code' => 404 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
]],
'http://localhost:8080/notFound2' => ['code' => 404 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
'http://localhost:8080/page4' => 1,
]],
'http://localhost:8080/redirectToNotFound' => ['code' => 302 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
'http://localhost:8080/page4' => 1,
]],
'http://localhost:8080/redirectToRedirectToNotFound' => ['code' => 302 , 'foundOn' => [
'http://localhost:8080/page1' => 1,
'http://localhost:8080/page2' => 1,
'http://localhost:8080/page3' => 1,
'http://localhost:8080/page4' => 1,
]],
]);
}
public function testCanFollowRedirectToFound(){
$crawler=new Crawler('http://localhost:8080');
$crawler->crawl('http://localhost:8080/redirectToFound'); $crawler->crawl('http://localhost:8080/redirectToFound');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/redirectToFound' => ['code' => 302 ], 'http://localhost:8080/redirectToFound' => ['code' => 302 ],
'http://localhost:8080/' => ['code' => 200 ], 'http://localhost:8080/found' => ['code' => 200 ],
]); ]);
} }
public function testCanFollowRedirectToNotFound(){ public function testRedirectToNotFound(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/redirectToNotFound'); $crawler->crawl('http://localhost:8080/redirectToNotFound');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/redirectToNotFound' => ['code' => 302 ], 'http://localhost:8080/redirectToNotFound' => ['code' => 302 ],
'http://localhost:8080/notFound2' => ['code' => 404 ], 'http://localhost:8080/notFound' => ['code' => 404 ],
]); ]);
} }
public function testCanFollowRedirectToRedirectToNotFound(){ public function testRedirectToRedirectToNotFound(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/redirectToRedirectToNotFound'); $crawler->crawl('http://localhost:8080/redirectToRedirectToNotFound');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/redirectToRedirectToNotFound' => ['code' => 302 ], 'http://localhost:8080/redirectToRedirectToNotFound' => ['code' => 302 ],
'http://localhost:8080/redirectToNotFound' => ['code' => 302 ], 'http://localhost:8080/redirectToNotFound' => ['code' => 302 ],
'http://localhost:8080/notFound2' => ['code' => 404 ], 'http://localhost:8080/notFound' => ['code' => 404 ],
]); ]);
} }
public function testCanFollowTwoRedirectsToSameLocation(){ public function testTwoRedirectsToSameLocation(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/twoRedirectsToSameLocation'); $crawler->crawl('http://localhost:8080/twoRedirectsToSameLocation');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/twoRedirectsToSameLocation' => ['code' => 200 ], 'http://localhost:8080/twoRedirectsToSameLocation' => ['code' => 200 ],
'http://localhost:8080/redirect1' => ['code' => 302 ], 'http://localhost:8080/redirect1' => ['code' => 302 ],
'http://localhost:8080/redirect2' => ['code' => 302 ], 'http://localhost:8080/redirect2' => ['code' => 302 ],
'http://localhost:8080/link1' => ['code' => 200 ], 'http://localhost:8080/found' => ['code' => 200 ],
]); ]);
} }
public function testTimeout(){ public function testTimeout(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/timeout'); $crawler->crawl('http://localhost:8080/timeout');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[
'http://localhost:8080/timeout' => ['code' => '' ], 'http://localhost:8080/timeout' => ['code' => '---' ],
]); ]);
} }
public function testInternalServerError(){ public function testInternalServerError(){
$crawler=new Crawler('http://localhost:8080'); $crawler=new Crawler();
$crawler->crawl('http://localhost:8080/internalServerError'); $crawler->crawl('http://localhost:8080/internalServerError');
$sitemap=$crawler->getResults(); $sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[ $this->assertTreeContains($sitemap,[