aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorEtienne Baroux <barouxe@phelma.grenoble-inp.fr>2014-06-02 10:12:18 +0200
committerTristan Darricau <github@nicofuma.fr>2016-12-03 16:37:35 +0100
commit346f31a03156839d1b1931d2fc69cd2ab5656bc0 (patch)
treeaed312ce3f9e890a260a02132119cdfff8764d9b /tests
parent17e8726582df3e3115893668c7b1ea39b87028ba (diff)
downloadforums-346f31a03156839d1b1931d2fc69cd2ab5656bc0.tar
forums-346f31a03156839d1b1931d2fc69cd2ab5656bc0.tar.gz
forums-346f31a03156839d1b1931d2fc69cd2ab5656bc0.tar.bz2
forums-346f31a03156839d1b1931d2fc69cd2ab5656bc0.tar.xz
forums-346f31a03156839d1b1931d2fc69cd2ab5656bc0.zip
[ticket/12610] Add command to check if the board is up to date.
PHPBB3-12610
Diffstat (limited to 'tests')
-rw-r--r--tests/console/update/check_test.php99
-rw-r--r--tests/extension/manager_test.php2
-rw-r--r--tests/extension/metadata_manager_test.php5
-rw-r--r--tests/pagination/pagination_test.php3
-rw-r--r--tests/test_framework/phpbb_functional_test_case.php2
5 files changed, 106 insertions, 5 deletions
diff --git a/tests/console/update/check_test.php b/tests/console/update/check_test.php
new file mode 100644
index 0000000000..d257ef6c0a
--- /dev/null
+++ b/tests/console/update/check_test.php
@@ -0,0 +1,99 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+
+use Symfony\Component\Console\Application;
+use Symfony\Component\Console\Tester\CommandTester;
+use phpbb\console\command\update\check;
+
+require_once dirname(__FILE__) . '/../../../phpBB/includes/functions_admin.php';
+require_once dirname(__FILE__) . '/../../../phpBB/includes/functions.php';
+require_once dirname(__FILE__) . '/../../../phpBB/includes/utf/utf_tools.php';
+
+/**
+* @slow
+*/
+class phpbb_console_command_check_test extends phpbb_test_case
+{
+ protected $command_name;
+
+ protected $version_helper;
+
+ public function test_up_to_date()
+ {
+ $command_tester = $this->get_command_tester('100000');
+ $status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true));
+ $this->assertSame('', $command_tester->getDisplay());
+ $this->assertSame($status, 0);
+ }
+
+ public function test_up_to_date_verbose()
+ {
+ $command_tester = $this->get_command_tester('100000');
+ $status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
+ $this->assertContains('UPDATE_NOT_NEEDED', $command_tester->getDisplay());
+ $this->assertSame($status, 0);
+ }
+
+
+ public function test_not_up_to_date()
+ {
+ $command_tester = $this->get_command_tester('0');
+ $status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true));
+ $this->assertContains('UPDATE_NEEDED', $command_tester->getDisplay());
+ $this->assertSame($status, 1);
+ }
+
+ public function test_not_up_to_date_verbose()
+ {
+ $command_tester = $this->get_command_tester('0');
+ $status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
+ $this->assertContains('UPDATE_NEEDED', $command_tester->getDisplay());
+ $this->assertContains('UPDATES_AVAILABLE', $command_tester->getDisplay());
+ $this->assertSame($status, 1);
+ }
+
+ public function test_error()
+ {
+ $command_tester = $this->get_command_tester('1');
+ $this->version_helper->set_file_location('acme.corp','foo', 'bar.json');
+
+ $status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true));
+ $this->assertContains('VERSIONCHECK_FAIL', $command_tester->getDisplay());
+ $this->assertSame($status, 2);
+ }
+
+ public function get_command_tester($current_version)
+ {
+ global $user;
+
+ $user = $this->getMock('\phpbb\user');
+ $user->method('lang')->will($this->returnArgument(0));
+
+ $cache = $this->getMockBuilder('\phpbb\cache\service')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $config = new \phpbb\config\config(array('version' => $current_version));
+ $this->version_helper = new \phpbb\version_helper($cache, $config, $user);
+
+ $container = new phpbb_mock_container_builder;
+ $container->set('version_helper', $this->version_helper);
+
+ $application = new Application();
+ $application->add(new check($user, $config, $container));
+
+ $command = $application->find('update:check');
+ $this->command_name = $command->getName();
+ return new CommandTester($command);
+ }
+}
diff --git a/tests/extension/manager_test.php b/tests/extension/manager_test.php
index a24b0cf178..f619d4c19d 100644
--- a/tests/extension/manager_test.php
+++ b/tests/extension/manager_test.php
@@ -180,7 +180,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
'phpbb_ext',
dirname(__FILE__) . '/',
$php_ext,
- ($with_cache) ? new phpbb_mock_cache() : null
+ ($with_cache) ? new \phpbb\cache\service(new phpbb_mock_cache(), $config, $db, $phpbb_root_path, $php_ext) : null
);
}
}
diff --git a/tests/extension/metadata_manager_test.php b/tests/extension/metadata_manager_test.php
index 19b99ee0ce..ce675f0d36 100644
--- a/tests/extension/metadata_manager_test.php
+++ b/tests/extension/metadata_manager_test.php
@@ -36,7 +36,6 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
{
parent::setUp();
- $this->cache = new phpbb_mock_cache();
$this->config = new \phpbb\config\config(array(
'version' => '3.1.0',
));
@@ -45,6 +44,9 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$this->db_tools = $factory->get($this->db);
$this->phpbb_root_path = dirname(__FILE__) . '/';
$this->phpEx = 'php';
+
+ $this->cache = new \phpbb\cache\service(new phpbb_mock_cache(), $this->config, $this->db, $this->phpbb_root_path, $this->phpEx);
+
$this->table_prefix = 'phpbb_';
$container = new phpbb_mock_container_builder();
@@ -364,7 +366,6 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$ext_name,
$this->config,
$this->extension_manager,
- $this->template,
$this->phpbb_root_path
);
}
diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php
index 024b6fc02d..30b25913f7 100644
--- a/tests/pagination/pagination_test.php
+++ b/tests/pagination/pagination_test.php
@@ -37,10 +37,11 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case
->method('lang')
->will($this->returnCallback(array($this, 'return_callback_implode')));
+ $this->config = new \phpbb\config\config(array('enable_mod_rewrite' => '1'));
+
$filesystem = new \phpbb\filesystem\filesystem();
$manager = new phpbb_mock_extension_manager(dirname(__FILE__) . '/', array());
- $this->config = new \phpbb\config\config(array('enable_mod_rewrite' => '1'));
$loader = new \Symfony\Component\Routing\Loader\YamlFileLoader(
new \phpbb\routing\file_locator($filesystem, dirname(__FILE__) . '/')
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php
index 2a37ca0e53..d5e78d1d60 100644
--- a/tests/test_framework/phpbb_functional_test_case.php
+++ b/tests/test_framework/phpbb_functional_test_case.php
@@ -263,7 +263,7 @@ class phpbb_functional_test_case extends phpbb_test_case
self::$config['table_prefix'] . 'ext',
dirname(__FILE__) . '/',
$phpEx,
- $this->get_cache_driver()
+ new \phpbb\cache\service($this->get_cache_driver(), $config, $this->db, $phpbb_root_path, $phpEx)
);
return $extension_manager;