Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0714a891fe | ||
|
20b260233a | ||
|
0c30a268b8 | ||
|
e8ebef4cc4 | ||
|
f696e28e49 | ||
|
432acb7475 | ||
|
6b28eb168e | ||
|
4e29ca154e | ||
|
fbf6d31c5b | ||
|
a4037f2d95 | ||
|
437d0fbf4e | ||
|
418747027b | ||
|
7b9b125f57 | ||
|
e2fe2eedf7 | ||
|
f46074dfba | ||
|
44d07858b5 |
10
.drone.yml
10
.drone.yml
@@ -5,7 +5,7 @@ name: testsuite
|
|||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: composer install
|
- name: composer install
|
||||||
image: chialab/php
|
image: chialab/php:7.4
|
||||||
commands:
|
commands:
|
||||||
- composer install
|
- composer install
|
||||||
volumes:
|
volumes:
|
||||||
@@ -13,21 +13,21 @@ steps:
|
|||||||
path: /root/.composer/cache/
|
path: /root/.composer/cache/
|
||||||
|
|
||||||
- name: wait for test server
|
- name: wait for test server
|
||||||
image: alpine
|
image: alpine:3.12
|
||||||
commands:
|
commands:
|
||||||
- echo "Waiting for server to launch on testserver:8080..."
|
- echo "Waiting for server to launch on testserver:8080..."
|
||||||
- while ! nc -z testserver 8080; do sleep 0.1 ; done
|
- while ! nc -z testserver 8080; do sleep 0.1 ; done
|
||||||
- echo "Ready!"
|
- echo "Ready!"
|
||||||
|
|
||||||
- name: run tests
|
- name: run tests
|
||||||
image: chialab/php
|
image: chialab/php:7.4
|
||||||
commands:
|
commands:
|
||||||
- URL=http://testserver:8080 vendor/bin/phpunit tests
|
- URL=http://testserver:8080 vendor/bin/phpunit tests --testdox --color=always --no-interaction
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
- name: testserver
|
- name: testserver
|
||||||
image: node
|
image: node:15.2.0-alpine3.12
|
||||||
detach: true
|
detach: true
|
||||||
commands:
|
commands:
|
||||||
- cd tests/server/
|
- cd tests/server/
|
||||||
|
@@ -3,8 +3,8 @@
|
|||||||
"description": "Generate full sitemap report using spatie/crawler",
|
"description": "Generate full sitemap report using spatie/crawler",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1",
|
"php": "^7.4",
|
||||||
"spatie/crawler": "^4.6",
|
"spatie/crawler": "^5.0",
|
||||||
"cweagans/composer-patches": "~1.0"
|
"cweagans/composer-patches": "~1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
@@ -25,9 +25,6 @@
|
|||||||
"patches": {
|
"patches": {
|
||||||
"spatie/crawler": {
|
"spatie/crawler": {
|
||||||
"add crawled again observer": "https://patch-diff.githubusercontent.com/raw/spatie/crawler/pull/280.patch"
|
"add crawled again observer": "https://patch-diff.githubusercontent.com/raw/spatie/crawler/pull/280.patch"
|
||||||
},
|
|
||||||
"guzzlehttp/guzzle": {
|
|
||||||
"Status code must be an integer value between 1xx and 5xx": "https://patch-diff.githubusercontent.com/raw/guzzle/guzzle/pull/2591.patch"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1153
composer.lock
generated
1153
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@ use Psr\Http\Message\UriInterface;
|
|||||||
|
|
||||||
use Spatie\Crawler\Crawler as SpatieCrawler;
|
use Spatie\Crawler\Crawler as SpatieCrawler;
|
||||||
use Spatie\Crawler\CrawlUrl;
|
use Spatie\Crawler\CrawlUrl;
|
||||||
use Spatie\Crawler\CrawlInternalUrls;
|
use Spatie\Crawler\CrawlAllUrls;
|
||||||
|
|
||||||
class Crawler{
|
class Crawler{
|
||||||
|
|
||||||
@@ -25,6 +25,11 @@ class Crawler{
|
|||||||
|
|
||||||
$this->observer = new CrawlObserver();
|
$this->observer = new CrawlObserver();
|
||||||
$this->crawler->setCrawlObserver($this->observer);
|
$this->crawler->setCrawlObserver($this->observer);
|
||||||
|
$this->crawler->setCrawlProfile(new CrawlAllUrls());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setUserAgent($agent){
|
||||||
|
$this->crawler->setUserAgent($agent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function crawl($url){
|
public function crawl($url){
|
||||||
|
@@ -34,7 +34,7 @@ class CrawlerTest extends TestCase{
|
|||||||
$this->url.'/notFound' => ['code' => 404],
|
$this->url.'/notFound' => ['code' => 404],
|
||||||
$this->url.'/redirect1' => ['code' => 302],
|
$this->url.'/redirect1' => ['code' => 302],
|
||||||
$this->url.'/redirect2' => ['code' => 302],
|
$this->url.'/redirect2' => ['code' => 302],
|
||||||
$this->url.'/redirectLoop' => ['code' => '---'],
|
$this->url.'/redirectLoop' => ['code' => '302'],
|
||||||
$this->url.'/redirectToFound' => ['code' => 302 ],
|
$this->url.'/redirectToFound' => ['code' => 302 ],
|
||||||
$this->url.'/redirectToNotFound' => ['code' => 302 ],
|
$this->url.'/redirectToNotFound' => ['code' => 302 ],
|
||||||
$this->url.'/redirectToRedirectToNotFound' => ['code' => 302],
|
$this->url.'/redirectToRedirectToNotFound' => ['code' => 302],
|
||||||
@@ -178,7 +178,7 @@ class CrawlerTest extends TestCase{
|
|||||||
$crawler->crawl($this->url.'/redirectLoop');
|
$crawler->crawl($this->url.'/redirectLoop');
|
||||||
$sitemap=$crawler->getResults();
|
$sitemap=$crawler->getResults();
|
||||||
$this->assertTreeContains($sitemap,[
|
$this->assertTreeContains($sitemap,[
|
||||||
$this->url.'/redirectLoop' => ['code' => '---'],
|
$this->url.'/redirectLoop' => ['code' => '302'],
|
||||||
], print_r($sitemap,true));
|
], print_r($sitemap,true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ app.get('/', function (request, response) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get('/externalLink', function (request, response) {
|
app.get('/externalLink', function (request, response) {
|
||||||
response.end('<a href="http://example.com/"</a>');
|
response.end('<a href="http://example.com/">ext</a>');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/deeplink1', function (request, response) {
|
app.get('/deeplink1', function (request, response) {
|
||||||
|
Reference in New Issue
Block a user