aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/cron/all_tests.php41
-rw-r--r--tests/cron/manager_test.php57
2 files changed, 98 insertions, 0 deletions
diff --git a/tests/cron/all_tests.php b/tests/cron/all_tests.php
new file mode 100644
index 0000000000..1fa5af7f5e
--- /dev/null
+++ b/tests/cron/all_tests.php
@@ -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();
+}
+
diff --git a/tests/cron/manager_test.php b/tests/cron/manager_test.php
new file mode 100644
index 0000000000..4d3fa1d120
--- /dev/null
+++ b/tests/cron/manager_test.php
@@ -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);
+ }
+}