Update tests & left over fixes from upgrader tool
This commit is contained in:
parent
a88e8be403
commit
7bce7dcb2f
|
@ -5,5 +5,6 @@
|
||||||
<rule ref="PSR2" >
|
<rule ref="PSR2" >
|
||||||
<!-- Current exclusions -->
|
<!-- Current exclusions -->
|
||||||
<exclude name="PSR1.Methods.CamelCapsMethodName" />
|
<exclude name="PSR1.Methods.CamelCapsMethodName" />
|
||||||
|
<exclude name="PSR1.Files.SideEffects.FoundWithSymbols" />
|
||||||
</rule>
|
</rule>
|
||||||
</ruleset>
|
</ruleset>
|
||||||
|
|
|
@ -2,44 +2,45 @@
|
||||||
|
|
||||||
namespace SilverStripe\ExternalLinks\Jobs;
|
namespace SilverStripe\ExternalLinks\Jobs;
|
||||||
|
|
||||||
if (class_exists('Symbiote\QueuedJobs\Services\AbstractQueuedJob')) {
|
use Symbiote\QueuedJobs\Services\AbstractQueuedJob;
|
||||||
use Symbiote\QueuedJobs\Services\AbstractQueuedJob;
|
use Symbiote\QueuedJobs\Services\QueuedJob;
|
||||||
use Symbiote\QueuedJobs\Services\QueuedJob;
|
use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
|
||||||
use SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask;
|
|
||||||
|
|
||||||
/**
|
if (!class_exists(AbstractQueuedJob::class)) {
|
||||||
* A Job for running a external link check for published pages
|
return;
|
||||||
*
|
}
|
||||||
*/
|
|
||||||
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob
|
/**
|
||||||
|
* A Job for running a external link check for published pages
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class CheckExternalLinksJob extends AbstractQueuedJob implements QueuedJob
|
||||||
|
{
|
||||||
|
|
||||||
|
public function getTitle()
|
||||||
{
|
{
|
||||||
|
return _t('CheckExternalLiksJob.TITLE', 'Checking for external broken links');
|
||||||
public function getTitle()
|
|
||||||
{
|
|
||||||
return _t('CheckExternalLiksJob.TITLE', 'Checking for external broken links');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getJobType()
|
|
||||||
{
|
|
||||||
return QueuedJob::QUEUED;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getSignature()
|
|
||||||
{
|
|
||||||
return md5(get_class($this));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check an individual page
|
|
||||||
*/
|
|
||||||
public function process()
|
|
||||||
{
|
|
||||||
$task = CheckExternalLinksTask::create();
|
|
||||||
$track = $task->runLinksCheck(1);
|
|
||||||
$this->currentStep = $track->CompletedPages;
|
|
||||||
$this->totalSteps = $track->TotalPages;
|
|
||||||
$this->isComplete = $track->Status === 'Completed';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getJobType()
|
||||||
|
{
|
||||||
|
return QueuedJob::QUEUED;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSignature()
|
||||||
|
{
|
||||||
|
return md5(get_class($this));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check an individual page
|
||||||
|
*/
|
||||||
|
public function process()
|
||||||
|
{
|
||||||
|
$task = CheckExternalLinksTask::create();
|
||||||
|
$track = $task->runLinksCheck(1);
|
||||||
|
$this->currentStep = $track->CompletedPages;
|
||||||
|
$this->totalSteps = $track->TotalPages;
|
||||||
|
$this->isComplete = $track->Status === 'Completed';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ use SilverStripe\ORM\DataObject;
|
||||||
*/
|
*/
|
||||||
class BrokenExternalLink extends DataObject
|
class BrokenExternalLink extends DataObject
|
||||||
{
|
{
|
||||||
|
private static $table_name = 'BrokenExternalLink';
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Link' => 'Varchar(2083)', // 2083 is the maximum length of a URL in Internet Explorer.
|
'Link' => 'Varchar(2083)', // 2083 is the maximum length of a URL in Internet Explorer.
|
||||||
|
|
|
@ -13,6 +13,7 @@ use SilverStripe\ORM\DataObject;
|
||||||
*/
|
*/
|
||||||
class BrokenExternalPageTrack extends DataObject
|
class BrokenExternalPageTrack extends DataObject
|
||||||
{
|
{
|
||||||
|
private static $table_name = 'BrokenExternalPageTrack';
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Processed' => 'Boolean'
|
'Processed' => 'Boolean'
|
||||||
|
|
|
@ -18,6 +18,7 @@ use SilverStripe\ORM\DataObject;
|
||||||
*/
|
*/
|
||||||
class BrokenExternalPageTrackStatus extends DataObject
|
class BrokenExternalPageTrackStatus extends DataObject
|
||||||
{
|
{
|
||||||
|
private static $table_name = 'BrokenExternalPageTrackStatus';
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Status' => 'Enum("Completed, Running", "Running")',
|
'Status' => 'Enum("Completed, Running", "Running")',
|
||||||
|
|
|
@ -10,23 +10,21 @@ use SilverStripe\i18n\i18n;
|
||||||
use SilverStripe\Reports\Report;
|
use SilverStripe\Reports\Report;
|
||||||
use SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport;
|
use SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport;
|
||||||
use SilverStripe\Dev\SapphireTest;
|
use SilverStripe\Dev\SapphireTest;
|
||||||
|
use SilverStripe\ExternalLinks\Tests\ExternalLinksTestPage;
|
||||||
|
use Phockito;
|
||||||
|
|
||||||
class ExternalLinksTest extends SapphireTest
|
class ExternalLinksTest extends SapphireTest
|
||||||
{
|
{
|
||||||
|
|
||||||
protected static $fixture_file = 'ExternalLinksTest.yml';
|
protected static $fixture_file = 'ExternalLinksTest.yml';
|
||||||
|
|
||||||
protected $extraDataObjects = array(
|
protected static $extra_dataobjects = array(
|
||||||
'ExternalLinksTestPage'
|
ExternalLinksTestPage::class
|
||||||
);
|
|
||||||
|
|
||||||
protected $illegalExtensions = array(
|
|
||||||
'SiteTree' => array('Translatable')
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public function setUpOnce()
|
public function setUpOnce()
|
||||||
{
|
{
|
||||||
if (class_exists('Phockito')) {
|
if (class_exists(Phockito::class)) {
|
||||||
Phockito::include_hamcrest(false);
|
Phockito::include_hamcrest(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +36,7 @@ class ExternalLinksTest extends SapphireTest
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
// Check dependencies
|
// Check dependencies
|
||||||
if (!class_exists('Phockito')) {
|
if (!class_exists(Phockito::class)) {
|
||||||
$this->skipTest = true;
|
$this->skipTest = true;
|
||||||
return $this->markTestSkipped("These tests need the Phockito module installed to run");
|
return $this->markTestSkipped("These tests need the Phockito module installed to run");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
ExternalLinksTestPage:
|
SilverStripe\ExternalLinks\Tests\ExternalLinksTestPage:
|
||||||
# Tests mix of broken and working external links
|
# Tests mix of broken and working external links
|
||||||
page1:
|
page1:
|
||||||
Title: 'Page 1'
|
Title: 'Page 1'
|
||||||
|
|
|
@ -3,9 +3,12 @@
|
||||||
namespace SilverStripe\ExternalLinks\Tests;
|
namespace SilverStripe\ExternalLinks\Tests;
|
||||||
|
|
||||||
use SilverStripe\Dev\TestOnly;
|
use SilverStripe\Dev\TestOnly;
|
||||||
|
use Page;
|
||||||
|
|
||||||
class ExternalLinksTestPage extends Page implements TestOnly
|
class ExternalLinksTestPage extends Page implements TestOnly
|
||||||
{
|
{
|
||||||
|
private static $table_name = 'ExternalLinksTestPage';
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'ExpectedContent' => 'HTMLText'
|
'ExpectedContent' => 'HTMLText'
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue