silverstripe-framework/src/Dev/Tasks/CleanupTestDatabasesTask.php

37 lines
1007 B
PHP
Raw Normal View History

<?php
2016-06-23 01:37:22 +02:00
namespace SilverStripe\Dev\Tasks;
use SilverStripe\Control\Director;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\Dev\BuildTask;
2016-06-23 01:37:22 +02:00
use SilverStripe\Security\Permission;
use SilverStripe\Security\Security;
/**
* Cleans up leftover databases from aborted test executions (starting with ss_tmpdb)
* Task is restricted to users with administrator rights or running through CLI.
*/
2016-11-29 00:31:16 +01:00
class CleanupTestDatabasesTask extends BuildTask
{
2016-11-29 00:31:16 +01:00
private static $segment = 'CleanupTestDatabasesTask';
2016-11-29 00:31:16 +01:00
protected $title = 'Deletes all temporary test databases';
2016-11-29 00:31:16 +01:00
protected $description = 'Cleans up leftover databases from aborted test executions (starting with ss_tmpdb)';
2016-11-29 00:31:16 +01:00
public function run($request)
{
if (!Permission::check('ADMIN') && !Director::is_cli()) {
$response = Security::permissionFailure();
if ($response) {
$response->output();
}
die;
}
2016-11-29 00:31:16 +01:00
SapphireTest::delete_all_temp_dbs();
}
2016-03-08 21:50:18 +01:00
}