1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-19 15:17:16 +01:00

[feature/system-cron] Basic tests for cron manager.

PHPBB3-9596
This commit is contained in:
Oleg Pudeyev 2010-12-19 22:41:15 -05:00
parent 53dd847dd5
commit 4fbf3fbd40
2 changed files with 98 additions and 0 deletions

41
tests/cron/all_tests.php Normal file
View 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();
}

View 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);
}
}