diff --git a/.gitignore b/.gitignore index ec302a5..b613924 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ build/ # Composer vendor + +# PHPUnit +.phpunit.result.cache diff --git a/composer.json b/composer.json index fb677e0..b4c9965 100644 --- a/composer.json +++ b/composer.json @@ -11,13 +11,13 @@ } ], "require": { - "php": "^5.6 || ^7.0", + "php": "^8.0", "s1lentium/iptools": "~1.1.0" }, "require-dev": { - "phpunit/phpunit": "~5.6.0", - "phpunit/php-code-coverage": "~4.0.0", - "satooshi/php-coveralls": "~1.0.0" + "phpunit/phpunit": "^9.0.0", + "phpunit/php-code-coverage": "^9.2.10", + "php-coveralls/php-coveralls": "^2.4.0" }, "scripts": { "phpunit": "phpunit", diff --git a/tests/WebcrawlerVerifierTest.php b/tests/WebcrawlerVerifier/Tests/WebcrawlerVerifierTest.php similarity index 61% rename from tests/WebcrawlerVerifierTest.php rename to tests/WebcrawlerVerifier/Tests/WebcrawlerVerifierTest.php index 57c8b53..a948e1f 100644 --- a/tests/WebcrawlerVerifierTest.php +++ b/tests/WebcrawlerVerifier/Tests/WebcrawlerVerifierTest.php @@ -1,26 +1,30 @@ expectException(\InvalidArgumentException::class); - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = []; $this->assertEquals($webcrawlerVerifier::UNKNOWN, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); } public function testVerifyInvalidIP() { $this->expectException(\InvalidArgumentException::class); - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; $this->assertEquals($webcrawlerVerifier::UNKNOWN, $webcrawlerVerifier->verify( @@ -31,34 +35,34 @@ public function testVerifyInvalidIP() public function testVerifyEmptyUserAgent() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = ''; $this->assertEquals($webcrawlerVerifier::UNKNOWN, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); } public function testVerifyNormalWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_8) AppleWebKit/537.12.13 (KHTML, like Gecko)' - . ' Chrome/56.0.2715.80 Safari/537.12.13' => '192.168.0.1', - 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1' => '192.168.0.1', + . ' Chrome/56.0.2715.80 Safari/537.12.13' => '127.0.0.1', + 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1' => '127.0.0.1', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71' - . ' Safari/537.36' => '192.168.0.1', - 'Mozilla/4.0 (compatible; MSIE 6.0; Update a; AOL 6.0; Windows 98)' => '192.168.0.1', + . ' Safari/537.36' => '127.0.0.1', + 'Mozilla/4.0 (compatible; MSIE 6.0; Update a; AOL 6.0; Windows 98)' => '127.0.0.1', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59' - . ' Safari/537.36 OPR/41.0.2353.46' => '192.168.0.1', + . ' Safari/537.36 OPR/41.0.2353.46' => '127.0.0.1', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116' - . ' YaBrowser/16.9.1.1192 Yowser/2.5 Safari/537.36' => '192.168.0.1', + . ' YaBrowser/16.9.1.1192 Yowser/2.5 Safari/537.36' => '127.0.0.1', 'Mozilla/5.0 (Linux; U; Android 4.1.2; ru-ru; GT-N7000 Build/JZO54K) AppleWebKit/534.30 (KHTML,' - . ' like Gecko) Version/4.0 Mobile Safari/534.30' => '192.168.0.1', - 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko' => '192.168.0.1', + . ' like Gecko) Version/4.0 Mobile Safari/534.30' => '127.0.0.1', + 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko' => '127.0.0.1', 'Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; Q45/A45 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko)' - . ' Version/4.0 Mobile Safari/534.30' => '192.168.0.1' + . ' Version/4.0 Mobile Safari/534.30' => '127.0.0.1' ]; foreach ($userAgents as $userAgent => $ip) { @@ -71,37 +75,26 @@ public function testVerifyNormalWebcrawler() public function testVerifyAdidxbotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Mozilla/5.0 (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '157.55.39.37', + 'Mozilla/5.0 (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '157.55.39.51', 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko)' . ' Version/7.0 Mobile/11A465 Safari/9537.53' - . ' (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '207.46.13.12', + . ' (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '40.77.167.38', 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko)' . ' Version/7.0 Mobile/11A465 Safari/9537.53' - . ' (compatible; adidxbot/2.0; http://www.bing.com/bingbot.htm)' => '157.55.39.82', - 'Mozilla/5.0 (compatible; adidxbot/2.0; http://www.bing.com/bingbot.htm)' => '157.55.39.5', + . ' (compatible; adidxbot/2.0; http://www.bing.com/bingbot.htm)' => '207.46.13.17', + 'Mozilla/5.0 (compatible; adidxbot/2.0; http://www.bing.com/bingbot.htm)' => '40.77.167.75', 'Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 530)' - . ' like Gecko (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '65.55.208.13', - 'adidxbot/2.0 (+http://search.msn.com/msnbot.htm)' => '65.55.24.221', - 'adidxbot/1.1 (+http://search.msn.com/msnbot.htm)' => '65.55.214.149' + . ' like Gecko (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)' => '40.77.167.63', + 'adidxbot/2.0 (+http://search.msn.com/msnbot.htm)' => '40.77.167.63', + 'adidxbot/1.1 (+http://search.msn.com/msnbot.htm)' => '157.55.39.51' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyAdsBotGoogleWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'AdsBot-Google (+http://www.google.com/adsbot.html)' => '66.249.89.15', 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) ' @@ -112,26 +105,17 @@ public function testVerifyAdsBotGoogleWebcrawler() 'AdsBot-Google-Mobile-Apps' => '66.249.89.15', ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyAdxPsfFetcherGoogleWebcrawlerVerifier() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'AdxPsfFetcher-Google'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -141,35 +125,25 @@ public function testVerifyAdxPsfFetcherGoogleWebcrawlerVerifier() public function testVerifyApplebotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko)' - . ' Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)' => '17.142.156.167', + . ' Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)' => '17.58.101.179', 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0' - . ' Mobile/12B410 Safari/600.1.4 (Applebot/0.1; +http://www.apple.com/go/applebot)' => '17.142.150.187', + . ' Mobile/12B410 Safari/600.1.4 (Applebot/0.1; +http://www.apple.com/go/applebot)' => '17.58.101.179', ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyAppleNewsBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'AppleNewsBot'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -179,7 +153,6 @@ public function testVerifyAppleNewsBotWebcrawler() public function testVerifyBaiduspiderWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' => '123.125.71.48', 'Baiduspider-image+(+http://www.baidu.com/search/spider.htm)' => '220.181.108.181', @@ -192,26 +165,19 @@ public function testVerifyBaiduspiderWebcrawler() 'Baiduspider+(+http://www.baidu.com/search/spider_jp.html)' => '119.63.198.104' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyBegunAdvertisingWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $this->markTestSkipped('Unknown current IP'); + + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; BegunAdvertising/3.0; +http://begun.ru/begun/technology/indexer/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -221,36 +187,25 @@ public function testVerifyBegunAdvertisingWebcrawler() public function testVerifyBingbotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)' => '207.46.13.239', 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0' . ' Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0;' - . ' +http://www.bing.com/bingbot.htm)' => '157.55.39.106', - 'Mozilla/5.0 (seoanalyzer; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)' => '131.253.24.2', - 'Mozilla/5.0 (compatible; bingbot/2.0; http://www.bing.com/bingbot.htm)' => '157.55.39.205', + . ' +http://www.bing.com/bingbot.htm)' => '207.46.13.160', + 'Mozilla/5.0 (seoanalyzer; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)' => '207.46.13.174', + 'Mozilla/5.0 (compatible; bingbot/2.0; http://www.bing.com/bingbot.htm)' => '157.55.39.89', 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0' . ' Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; ' - . 'http://www.bing.com/bingbot.htm)' => '207.46.13.184', - 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm' => '157.55.35.36', - 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) SitemapProbe' => '65.55.213.241' + . 'http://www.bing.com/bingbot.htm)' => '207.46.13.209', + 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm' => '157.55.39.27', + 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) SitemapProbe' => '40.77.167.30' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyBingPreviewWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0' . ' Mobile/11A465 Safari/9537.53 BingPreview/1.0b' => '207.46.13.218', @@ -263,41 +218,25 @@ public function testVerifyBingPreviewWebcrawler() => '199.30.26.160' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyDeuSuWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $this->markTestSkipped('seems dead'); + $userAgents = [ 'Mozilla/5.0 (compatible; DeuSu/5.0.2; +https://deusu.de/robot.html)' => '85.93.91.84', 'Mozilla/5.0 (compatible; DeuSu/0.1.0; +https://deusu.org)' => '85.93.91.84' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyExabotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $this->markTestSkipped('couldn\'t find active IP'); + $userAgents = [ 'Mozilla/5.0 (compatible; Exabot/3.0; +http://www.exabot.com/go/robot)' => '178.255.215.91', 'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Exabot-Thumbnails)' @@ -308,26 +247,17 @@ public function testVerifyExabotWebcrawler() 'Mozilla/5.0 (compatible; Exabot-Images/3.0; +http://www.exabot.com/go/robot)' => '178.255.215.91' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyFeedValidatorWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'FeedValidator/1.3'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -337,7 +267,6 @@ public function testVerifyFeedValidatorWebcrawler() public function testVerifyGooglefaviconWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36' . ' Google Favicon' => '66.102.6.118', @@ -345,27 +274,18 @@ public function testVerifyGooglefaviconWebcrawler() 'Google favicon' => '66.249.93.166' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleKeywordSuggestionWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko, Google Keyword' . ' Suggestion) Chrome/10.0.648.127 Safari/534.16'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -375,13 +295,13 @@ public function testVerifyGoogleKeywordSuggestionWebcrawler() public function testVerifyGoogleKeywordToolWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; Google Keyword Tool; +http://adwords.google.com/select/' . 'KeywordToolExternal)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -391,7 +311,6 @@ public function testVerifyGoogleKeywordToolWebcrawler() public function testVerifyGooglePageSpeedInsightsWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko; Google' . ' Page Speed Insights) Chrome/27.0.1453 Mobile Safari/537.36' => '66.102.8.156', @@ -405,27 +324,18 @@ public function testVerifyGooglePageSpeedInsightsWebcrawler() . ' Chrome/22.0.1229 Safari/537.4' => '66.249.93.193' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGooglePPWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (en-us) AppleWebKit/537.36 (KHTML, like Gecko; Google PP Default) Chrome/27.0.1453' . ' Safari/537.36'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -435,7 +345,6 @@ public function testVerifyGooglePPWebcrawler() public function testVeirfyGoogleSearchConsoleWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/8.0' . ' Mobile/12F70 Safari/600.1.4 (compatible; Google Search Console)' => '66.249.83.167', @@ -443,21 +352,11 @@ public function testVeirfyGoogleSearchConsoleWebcrawler() . ' Chrome/27.0.1453 Safari/537.36' => '66.249.83.170' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleWebPreviewWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview)' . ' Chrome/27.0.1453 Safari/537.36' => '66.102.9.22', @@ -475,26 +374,17 @@ public function testVerifyGoogleWebPreviewWebcrawler() . ' Safari/525.13' => '66.102.6.244' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleAnalyticsSnippetValidatorWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Google_Analytics_Snippet_Validator'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -504,7 +394,6 @@ public function testVerifyGoogleAnalyticsSnippetValidatorWebcrawler() public function testVerifyGoogleAdwordsWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Google-Adwords-Instant (+http://www.google.com/adsbot.html)' => '66.102.6.253', 'Mozilla/5.0 (en-us) AppleWebKit/537.36(KHTML, like Gecko; Google-Adwords-DisplayAds-WebRender;)' @@ -513,26 +402,17 @@ public function testVerifyGoogleAdwordsWebcrawler() 'Google-AdWords-Express' => '66.249.83.148' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGrapeshotCrawlerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -542,7 +422,6 @@ public function testVerifyGrapeshotCrawlerWebcrawler() public function testVerifyGooglebotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' => '66.249.66.96', 'Googlebot/2.1 (+http://www.google.com/bot.html)' => '66.249.66.96', @@ -560,7 +439,7 @@ public function testVerifyGooglebotWebcrawler() 'Googlebot-Video/1.0' => '66.249.66.174', 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0' . ' Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1;' - . ' +http://www.google.com/bot.html)' => '66.249.78.171', + . ' +http://www.google.com/bot.html)' => '66.249.66.174', 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko)' . ' Chrome/27.0.1453 Mobile Safari/537.36 (compatible; Googlebot/2.1;' . ' +http://www.google.com/bot.html)' => '66.249.76.31', @@ -576,7 +455,7 @@ public function testVerifyGooglebotWebcrawler() . ' +http://www.google.com/bot.html)' => '66.249.75.98', 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/8.0' . ' Mobile/12F70 Safari/600.1.4 (compatible; Googlebot/2.1;' - . ' +http://www.google.com/bot.html)' => '66.249.78.182', + . ' +http://www.google.com/bot.html)' => '66.249.66.174', 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0' . ' Mobile/10A5376e Safari/8536.25 (compatible; Googlebot-Mobile/2.1;' . ' +http://www.google.com/bot.html)' => '66.249.75.98', @@ -589,26 +468,17 @@ public function testVerifyGooglebotWebcrawler() . ' +http://www.google.com/bot.html)' => '66.249.64.37' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleCalendarImporterWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Google-Calendar-Importer'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -618,7 +488,6 @@ public function testVerifyGoogleCalendarImporterWebcrawler() public function testVerifyGooglePublisherPluginWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/537.36 (KHTML, like Gecko,' . ' Google-Publisher-Plugin) Chrome/27.0.1453 Safari/537.36' => '66.249.64.44', @@ -626,27 +495,18 @@ public function testVerifyGooglePublisherPluginWebcrawler() . ' Google-Publisher-Plugin) Chrome/27.0.1453 Mobile Safari/537.36' => '66.249.64.116' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleSearchByImageWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.7; Google-SearchByImage)' . ' Gecko/2009021910 Firefox/3.0.7'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -656,12 +516,12 @@ public function testVerifyGoogleSearchByImageWebcrawler() public function testVerifyGoogleSiteVerificationCrawlerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; Google-Site-Verification/1.0)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -671,7 +531,6 @@ public function testVerifyGoogleSiteVerificationCrawlerWebcrawler() public function testVerifyGoogleStructuredDataTestingToolWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; Google-Structured-Data-Testing-Tool' . ' +https://search.google.com/structured-data/testing-tool)' => '66.102.9.148', @@ -679,27 +538,18 @@ public function testVerifyGoogleStructuredDataTestingToolWebcrawler() . ' +http://developers.google.com/structured-data/testing-tool/)' => '66.102.9.60' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyGoogleWebLightWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML,' . ' like Gecko; googleweblight) Chrome/38.0.1025.166 Mobile Safari/535.19'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -709,12 +559,12 @@ public function testVerifyGoogleWebLightWebcrawler() public function testVerifyGrapeFXWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; grapeFX/0.9; crawler@grapeshot.co.uk'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -724,7 +574,6 @@ public function testVerifyGrapeFXWebcrawler() public function testVerifyIstellabotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'istellabot/t.1' => '217.73.208.152', 'istellabot/Nutch-1.11' => '217.73.208.145', @@ -736,26 +585,17 @@ public function testVerifyIstellabotWebcrawler() 'Mozilla/5.0 (compatible; IstellaBot/1.01.18 +http://www.tiscali.it/)' => '217.73.208.144' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyJigsawWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Jigsaw/2.3.0 W3C_CSS_Validator_JFouffa/2.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -765,31 +605,21 @@ public function testVerifyJigsawWebcrawler() public function testVerifyLinkedInIncWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)' - => '216.52.242.13', + => '108.174.2.215', 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Apache-HttpClient +http://www.linkedin.com), libot/Nutch-1.9' - . ' (http://www.linkedin.com; libot@linkedin.com)' => '108.174.2.205', + . ' (http://www.linkedin.com; libot@linkedin.com)' => '108.174.2.215', 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/4.3 +http://www.linkedin.com)' - => '108.174.5.117' + => '108.174.2.215' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyLibrabotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgents = [ 'librabot/2.0 (+http://academic.research.microsoft.com/)' => '219.142.53.6', 'librabot/2.0 (+http://search.msn.com/msnbot.htm)' => '219.142.53.13', @@ -799,7 +629,7 @@ public function testVerifyLibrabotWebcrawler() foreach ($userAgents as $userAgent => $ip) { $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -810,7 +640,6 @@ public function testVerifyLibrabotWebcrawler() public function testVerifyMailRUWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; Mail.RU/2.0c)' => '217.69.133.188', 'Mozilla/5.0 (compatible; Mail.RU/2.0)' => '217.69.133.29', @@ -818,51 +647,31 @@ public function testVerifyMailRUWebcrawler() 'Mail.Ru/1.0' => '217.69.134.167' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyMailRUBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)' => '217.69.136.209', 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)' => '217.69.133.249', 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Robots/2.0; +http://go.mail.ru/help/robots)' - => '217.69.143.63', + => '95.163.255.130', 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Robots; +http://go.mail.ru/help/robots)' - => '217.69.143.70', + => '95.163.255.130', 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Img/2.0; +http://go.mail.ru/help/robots)' - => '217.69.143.58', - 'Mozilla/5.0 (compatible; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)' => '217.69.133.67', - 'Mozilla/5.0 (compatible; Mail.RU_Bot/2.0)' => '217.69.133.69' + => '95.163.255.90', + 'Mozilla/5.0 (compatible; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)' => '95.163.255.130', + 'Mozilla/5.0 (compatible; Mail.RU_Bot/2.0)' => '95.163.255.130' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyMediapartnersGoogleWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 10_0 like Mac OS X; en-us) AppleWebKit/602.1.38 (KHTML, like Gecko)' . ' Version/10.0 Mobile/14A5297c Safari/602.1 (compatible; Mediapartners-Google/2.1;' @@ -874,26 +683,17 @@ public function testVerifyMediapartnersGoogleWebcrawler() 'Mediapartners(Googlebot)' => '66.249.76.70' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyMojeekLtdWebcrawlerVerifier() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; MojeekBot/0.6; +https://www.mojeek.com/bot.html)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -903,7 +703,6 @@ public function testVerifyMojeekLtdWebcrawlerVerifier() public function testVerifyMsnbotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)' => '157.55.39.76', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) MsnBot-Media /1.0b' @@ -912,26 +711,17 @@ public function testVerifyMsnbotWebcrawler() 'msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)' => '157.55.39.179' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyMSRBOTWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'MSRBOT'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -941,12 +731,12 @@ public function testVerifyMSRBOTWebcrawler() public function testVerifySputnikImageBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; SputnikImageBot/2.3; +http://corp.sputnik.ru/webmaster)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -956,12 +746,12 @@ public function testVerifySputnikImageBotWebcrawler() public function testVerifyNINGWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'NING/1.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -971,7 +761,6 @@ public function testVerifyNINGWebcrawler() public function testVerifyoBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; oBot/2.3.1; http://filterdb.iss.net/crawler/)' => '206.253.224.14', 'Mozilla/5.0 (compatible; oBot/2.3.1; +http://filterdb.iss.net/crawler/)' => '194.153.113.35', @@ -979,26 +768,17 @@ public function testVerifyoBotWebcrawler() . '?cntxt=a1027244)' => '2001:1be0:1000:167:250:56ff:fe92:58c9' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyOdklBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'OdklBot/1.0 (klass@odnoklassniki.ru)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1008,7 +788,6 @@ public function testVerifyOdklBotWebcrawler() public function testVerifySeznamWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; SeznamBot/3.2-test1-1; +http://napoveda.seznam.cz/en/seznambot-intro/)' => '77.75.74.87', @@ -1053,26 +832,17 @@ public function testVerifySeznamWebcrawler() => '77.75.77.39' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifySputnikBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; SputnikBot/2.3; +http://corp.sputnik.ru/webmaster)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1082,12 +852,12 @@ public function testVerifySputnikBotWebcrawler() public function testVerifySputnikFaviconBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; SputnikFaviconBot/1.2; +http://corp.sputnik.ru/webmaster)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1097,12 +867,12 @@ public function testVerifySputnikFaviconBotWebcrawler() public function testVerifySteelerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; Steeler/3.5; http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1112,12 +882,12 @@ public function testVerifySteelerWebcrawler() public function testVerifyTwitterbotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Twitterbot/1.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1127,33 +897,23 @@ public function testVerifyTwitterbotWebcrawler() public function testVerifyTurnitinLLCWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'TurnitinBot (https://turnitin.com/robot/crawlerinfo.html)' => '38.111.147.83', 'TurnitinBot/3.0 (http://www.turnitin.com/robot/crawlerinfo.html)' => '38.111.147.84', 'TurnitinBot/2.1 (http://www.turnitin.com/robot/crawlerinfo.html)' => '38.111.147.83' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyValidatorNuWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Validator.nu/LV'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1163,12 +923,12 @@ public function testVerifyValidatorNuWebcrawler() public function testVerifyW3CI18nCheckerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'W3C_I18n-Checker/1.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1178,12 +938,12 @@ public function testVerifyW3CI18nCheckerWebcrawler() public function testVerifyW3CUnicornWebcraler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'W3C_Unicorn/1.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1193,12 +953,12 @@ public function testVerifyW3CUnicornWebcraler() public function testVerifyW3CValidatorWebcraler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'W3C_Validator/1.3'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1208,12 +968,12 @@ public function testVerifyW3CValidatorWebcraler() public function testVerifyW3CChecklinkWebcraler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'W3C-checklink'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1223,12 +983,12 @@ public function testVerifyW3CChecklinkWebcraler() public function testVerifyW3CMobileOKWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'W3C-mobileOK/DDC-1.0'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, @@ -1238,741 +998,519 @@ public function testVerifyW3CMobileOKWebcrawler() public function testVerifyWotboxWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Wotbox/2.01 (+http://www.wotbox.com/bot/)' => '94.199.151.22', 'Wotbox/2.0 (bot@wotbox.com; http://www.wotbox.com)' => '94.199.151.22' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYJASRWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Y!J-ASR/0.1 crawler (http://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716/)'; + $userAgents = ['Y!J-ASR/0.1 crawler (http://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716/)' => '72.30.14.97']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '68.180.230.37' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYJBRIWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Y!J-ASR/0.1 crawler (http://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYJBRJYATSWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Y!J-BRJ/YATS crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYJBROYFSJWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Y!J-BRO/YFSJ crawler (compatible; Mozilla 4.0; MSIE 5.5;' . ' http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html; YahooFeedSeekerJp/2.0)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYJBRWWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYJBSCWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Y!J-BSC/1.0 crawler (http://help.yahoo.co.jp/help/jp/blog-search/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYaDirectFetcherWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Mozilla/5.0 (compatible; YaDirectFetcher/1.0; +http://yandex.com/bots)' => '141.8.183.14', - 'Mozilla/5.0 (compatible; YaDirectFetcher/1.0; Dyatel; +http://yandex.com/bots)' => '178.154.149.11' + 'Mozilla/5.0 (compatible; YaDirectFetcher/1.0; +http://yandex.com/bots)' => '213.180.203.92', + 'Mozilla/5.0 (compatible; YaDirectFetcher/1.0; Dyatel; +http://yandex.com/bots)' => '213.180.203.92' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYahooSiteExplorerFeedValidatorWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Yahoo! Site Explorer Feed Validator http://help.yahoo.com/l/us/yahoo/search/siteexplorer/manage/'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.229.39' + '72.30.14.97' )); } public function testVerifyYahooSlurpWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)' => '68.180.228.233', + 'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)' => '72.30.14.97', 'Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)' - => '68.180.228.215', - 'Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)' => '68.180.229.39' + => '72.30.14.97', + 'Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)' => '72.30.14.97' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYahooCacheSystemWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'YahooCacheSystem'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYahooMMCrawlerWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; http://search.yahoo.com/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYahooSeekerTestingWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; http://search.yahoo.com/)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYahooYSMcmWebcralwer() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (YahooYSMcm/3.0.0; http://help.yahoo.com)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '68.180.230.37' + '72.30.14.97' )); } public function testVerifyYandexTranslateWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103' - . ' Safari/537.36 Yandex.Translate' => '141.8.153.124', + . ' Safari/537.36 Yandex.Translate' => '87.250.224.46', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97' - . ' Safari/537.36 Yandex.Translate' => '84.201.138.106', + . ' Safari/537.36 Yandex.Translate' => '87.250.224.46', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111' - . ' Safari/537.36 Yandex.Translate' => '141.8.153.116', + . ' Safari/537.36 Yandex.Translate' => '87.250.224.46', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86' - . ' YaBrowser/15.12.0.6151 Safari/537.36 Yandex.Translate' => '84.201.148.1' + . ' YaBrowser/15.12.0.6151 Safari/537.36 Yandex.Translate' => '87.250.224.46' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Yandex/1.01.001 (compatible; Win16; I)' => '93.158.152.40', + 'Yandex/1.01.001 (compatible; Win16; I)' => '87.250.224.46', 'Yandex/1.01.001 (compatible; Win16; H)' => '141.8.132.28', - 'Yandex/1.01.001 (compatible; Win16; P)' => '37.9.122.202', + 'Yandex/1.01.001 (compatible; Win16; P)' => '87.250.224.46', 'Yandex/1.01.001 (compatible; Win16; m)' => '5.255.253.26' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexAccessibilityBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '37.9.102.123' + '87.250.224.96' )); } public function testVerifyYandexAdNetWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexAdNet/1.0; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '37.9.102.123' + '87.250.224.46' )); } public function testVerifyYandexAddURLWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexAddurl/2.0)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '37.9.102.123' + '87.250.224.46' )); } public function testVerifyYandexAntivirusWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexAntivirus/2.0; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '37.9.102.123' + '87.250.224.46' )); } public function testVerifyYandexBlogsWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexBlogs/0.99; robot; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '37.9.122.202' + '87.250.224.46' )); } public function testVerifyYandexBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)' => '93.158.152.40', + 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)' => '87.250.224.46', 'Mozilla/5.0 (compatible; YandexBot/3.0; MirrorDetector; +http://yandex.com/bots)' => '5.255.253.26' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexCalendarWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexCalendar/1.0; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '141.8.132.83' + '87.250.224.46' )); } public function testVerifyYandexCatalogWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexCatalog/3.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexCatalog/3.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '141.8.132.83' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexDirectWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; YandexDirect/3.0; +http://yandex.com/bots)' => '213.180.206.205', 'Mozilla/5.0 (compatible; YandexDirectDyn/1.0; +http://yandex.com/bots)' => '213.180.206.205' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexFaviconsWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexFavicons/1.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexFavicons/1.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.84.253' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexForDomainWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexForDomain/1.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexForDomain/1.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '87.250.253.69' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexVertisWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexVertis/3.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexVertis/3.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '87.250.253.69' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexImageResizerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexImageResizer/2.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexImageResizer/2.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '87.250.253.69' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexImagesWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)' => '87.250.224.96']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '130.193.50.2' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexMarketWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexMarket/1.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexMarket/1.0; +http://yandex.com/bots)' => '87.250.224.96']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '130.193.50.2' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexMediaWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36' . ' (compatible; YandexMedianaBot/1.0;' - . ' +http://yandex.com/bots)' => '5.255.253.2', - 'Mozilla/5.0 (compatible; YandexMedia/3.0; +http://yandex.com/bots)' => '5.255.253.2' + . ' +http://yandex.com/bots)' => '5.255.231.84', + 'Mozilla/5.0 (compatible; YandexMedia/3.0; +http://yandex.com/bots)' => '5.255.231.84' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexMetrikaWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots mtmon01e.yandex.ru)' => '95.108.129.196', 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots mtmon01g.yandex.ru)' => '213.180.206.196', 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots mtmon01i.yandex.ru)' - => '37.9.118.28', - 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots)' => '37.9.118.29', + => '87.250.224.46', + 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots)' => '87.250.224.46', 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots mtweb01t.yandex.ru)' - => '178.154.224.114', - 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots DEV)' => '213.180.206.205' + => '87.250.224.46', + 'Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots DEV)' => '87.250.224.46' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexMobileBotWebcrawler() { + $userAgents = ['Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko)' + . ' Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexMobileBot/3.0; +http://yandex.com/bots)' => + '87.250.224.46']; - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko)' - . ' Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexMobileBot/3.0; +http://yandex.com/bots)'; - - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.201' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexNewsWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ - 'Mozilla/5.0 (compatible; YandexNews/3.0; +http://yandex.com/bots)' => '37.9.122.201', - 'Mozilla/5.0 (compatible; YandexNewslinks; +http://yandex.com/bots)' => '37.9.122.201' + 'Mozilla/5.0 (compatible; YandexNews/3.0; +http://yandex.com/bots)' => '87.250.224.46', + 'Mozilla/5.0 (compatible; YandexNewslinks; +http://yandex.com/bots)' => '87.250.224.46' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexPagecheckerWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); + $webcrawlerVerifier = new WebcrawlerVerifier(); $userAgent = 'Mozilla/5.0 (compatible; YandexPagechecker/1.0; +http://yandex.com/bots)'; $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( $userAgent, - '192.168.0.1' + '127.0.0.1' )); $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( $userAgent, - '5.255.253.2' + '5.255.231.84' )); } public function testVerifyYandexScreenshotBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)' - . ' Chrome/41.0.2228.0 Safari/537.36 (compatible; YandexScreenshotBot/3.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)' + . ' Chrome/41.0.2228.0 Safari/537.36 (compatible; YandexScreenshotBot/3.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexSomethingWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'YandexSomething/1.0'; + $userAgents = ['YandexSomething/1.0' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexSearchShopWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexSearchShop/1.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexSearchShop/1.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexSpravBotWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexSpravBot/1.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexSpravBot/1.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexSitelinksWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexSitelinks; Dyatel; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexSitelinks; Dyatel; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexVideoWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); $userAgents = [ 'Mozilla/5.0 (compatible; YandexVideo/3.0; +http://yandex.com/bots)' => '141.8.142.60', 'Mozilla/5.0 (compatible; YandexVideoParser/1.0; +http://yandex.com/bots)' => '141.8.142.60' ]; - foreach ($userAgents as $userAgent => $ip) { - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - $ip - )); - } + $this->assertUserAgents($userAgents); } public function testVerifyYandexWebmasterWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexWebmaster/2.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexWebmaster/2.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); } public function testVerifyYandexZakladkiWebcrawler() { - $webcrawlerVerifier = new \WebcrawlerVerifier\WebcrawlerVerifier(); - $userAgent = 'Mozilla/5.0 (compatible; YandexZakladki/3.0; +http://yandex.com/bots)'; + $userAgents = ['Mozilla/5.0 (compatible; YandexZakladki/3.0; +http://yandex.com/bots)' => '87.250.224.46']; - $this->assertEquals($webcrawlerVerifier::UNVERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '192.168.0.1' - )); - $this->assertEquals($webcrawlerVerifier::VERIFIED, $webcrawlerVerifier->verify( - $userAgent, - '37.9.122.202' - )); + $this->assertUserAgents($userAgents); + } + + private function assertUserAgents(array $userAgents): void + { + $verifier = new WebcrawlerVerifier(); + + foreach ($userAgents as $userAgent => $ip) { + $this->assertEquals($verifier::UNVERIFIED, $verifier->verify( + $userAgent, + '127.0.0.1' + )); + $this->assertEquals($verifier::VERIFIED, $verifier->verify( + $userAgent, + $ip + ), "Failed to verify for IP: $ip"); + } } } diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 81e973d..f9e62ac 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,2 +1,2 @@