mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[feature/system-cron] Basic tests for cron manager.
PHPBB3-9596
This commit is contained in:
parent
53dd847dd5
commit
4fbf3fbd40
2 changed files with 98 additions and 0 deletions
41
tests/cron/all_tests.php
Normal file
41
tests/cron/all_tests.php
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2010 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('PHPUnit_MAIN_METHOD'))
|
||||||
|
{
|
||||||
|
define('PHPUnit_MAIN_METHOD', 'phpbb_cron_all_tests::main');
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once 'test_framework/framework.php';
|
||||||
|
require_once 'PHPUnit/TextUI/TestRunner.php';
|
||||||
|
|
||||||
|
require_once 'cron/manager_test.php';
|
||||||
|
|
||||||
|
class phpbb_cron_all_tests
|
||||||
|
{
|
||||||
|
public static function main()
|
||||||
|
{
|
||||||
|
PHPUnit_TextUI_TestRunner::run(self::suite());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function suite()
|
||||||
|
{
|
||||||
|
$suite = new PHPUnit_Framework_TestSuite('phpBB Cron');
|
||||||
|
|
||||||
|
$suite->addTestSuite('phpbb_cron_manager_test');
|
||||||
|
|
||||||
|
return $suite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PHPUnit_MAIN_METHOD == 'phpbb_cron_all_tests::main')
|
||||||
|
{
|
||||||
|
phpbb_cron_all_tests::main();
|
||||||
|
}
|
||||||
|
|
57
tests/cron/manager_test.php
Normal file
57
tests/cron/manager_test.php
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2010 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
define('IN_PHPBB', true);
|
||||||
|
|
||||||
|
require_once 'test_framework/framework.php';
|
||||||
|
|
||||||
|
// need the class loader since cron does not include/require cron task files
|
||||||
|
require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
|
||||||
|
// do not use cache
|
||||||
|
$class_loader = new phpbb_class_loader($phpbb_root_path, '.' . $phpEx);
|
||||||
|
$class_loader->register();
|
||||||
|
|
||||||
|
require_once '../phpBB/includes/cron/manager.php';
|
||||||
|
|
||||||
|
class phpbb_cron_manager_test extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
$this->manager = new phpbb_cron_manager();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_manager_finds_shipped_tasks()
|
||||||
|
{
|
||||||
|
$tasks = $this->manager->find_cron_task_names();
|
||||||
|
$this->assertGreaterThan(1, count($tasks));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_manager_finds_shipped_task_by_name()
|
||||||
|
{
|
||||||
|
$task = $this->manager->find_task('phpbb_cron_task_core_queue');
|
||||||
|
$this->assertNotNull($task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_manager_instantiates_task_by_name()
|
||||||
|
{
|
||||||
|
$task = $this->manager->instantiate_task('phpbb_cron_task_core_queue', array());
|
||||||
|
$this->assertNotNull($task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_manager_finds_all_ready_tasks()
|
||||||
|
{
|
||||||
|
$tasks = $this->manager->find_all_ready_tasks();
|
||||||
|
$this->assertGreaterThan(0, count($tasks));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_manager_finds_one_ready_task() {
|
||||||
|
$task = $this->manager->find_one_ready_task();
|
||||||
|
$this->assertNotNull($task);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue