mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-21 08:12:17 +02:00
Merge PR #1119 branch 'develop-olympus' into develop
While merging into develop, also move self::$config['table_prefix'] initialization into setup before class from install_board, as install_board is only called to install the board and not for each test case. * develop-olympus: [ticket/10491] Make recreate_database static. [ticket/10491] Install board once per test run. [ticket/10491] Move board installation into setup before class. [ticket/10491] Set up functional tests sensibly. Conflicts: tests/test_framework/phpbb_functional_test_case.php
This commit is contained in:
commit
0916dc14ef
@ -34,13 +34,36 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
static protected $config = array();
|
||||
static protected $already_installed = false;
|
||||
|
||||
public function setUp()
|
||||
static public function setUpBeforeClass()
|
||||
{
|
||||
parent::setUpBeforeClass();
|
||||
|
||||
self::$config = phpbb_test_case_helpers::get_test_config();
|
||||
|
||||
// Important: this is used both for installation and by
|
||||
// test cases for querying the tables.
|
||||
// Therefore table prefix must be set before a board is
|
||||
// installed, and also before each test case is run.
|
||||
self::$config['table_prefix'] = 'phpbb_';
|
||||
|
||||
if (!isset(self::$config['phpbb_functional_url']))
|
||||
{
|
||||
$this->markTestSkipped('phpbb_functional_url was not set in test_config and wasn\'t set as PHPBB_FUNCTIONAL_URL environment variable either.');
|
||||
self::markTestSkipped('phpbb_functional_url was not set in test_config and wasn\'t set as PHPBB_FUNCTIONAL_URL environment variable either.');
|
||||
}
|
||||
|
||||
if (!self::$already_installed)
|
||||
{
|
||||
self::install_board();
|
||||
self::$already_installed = true;
|
||||
}
|
||||
}
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->bootstrap();
|
||||
|
||||
$this->cookieJar = new CookieJar;
|
||||
$this->client = new Goutte\Client(array(), null, $this->cookieJar);
|
||||
// Reset the curl handle because it is 0 at this point and not a valid
|
||||
@ -73,13 +96,6 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
$this->backupStaticAttributesBlacklist += array(
|
||||
'phpbb_functional_test_case' => array('config', 'already_installed'),
|
||||
);
|
||||
|
||||
if (!static::$already_installed)
|
||||
{
|
||||
$this->install_board();
|
||||
$this->bootstrap();
|
||||
static::$already_installed = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected function get_db()
|
||||
@ -137,19 +153,11 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
return $this->extension_manager;
|
||||
}
|
||||
|
||||
protected function install_board()
|
||||
static protected function install_board()
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
self::$config = phpbb_test_case_helpers::get_test_config();
|
||||
|
||||
if (!isset(self::$config['phpbb_functional_url']))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self::$config['table_prefix'] = 'phpbb_';
|
||||
$this->recreate_database(self::$config);
|
||||
self::recreate_database(self::$config);
|
||||
|
||||
if (file_exists($phpbb_root_path . "config.$phpEx"))
|
||||
{
|
||||
@ -194,19 +202,20 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
));
|
||||
// end data
|
||||
|
||||
$content = $this->do_request('install');
|
||||
$this->assertContains('Welcome to Installation', $content);
|
||||
$content = self::do_request('install');
|
||||
self::assertNotSame(false, $content);
|
||||
self::assertContains('Welcome to Installation', $content);
|
||||
|
||||
$this->do_request('create_table', $data);
|
||||
self::do_request('create_table', $data);
|
||||
|
||||
$this->do_request('config_file', $data);
|
||||
self::do_request('config_file', $data);
|
||||
file_put_contents($phpbb_root_path . "config.$phpEx", phpbb_create_config_file_data($data, self::$config['dbms'], true, true));
|
||||
|
||||
$this->do_request('final', $data);
|
||||
self::do_request('final', $data);
|
||||
copy($phpbb_root_path . "config.$phpEx", $phpbb_root_path . "config_test.$phpEx");
|
||||
}
|
||||
|
||||
private function do_request($sub, $post_data = null)
|
||||
static private function do_request($sub, $post_data = null)
|
||||
{
|
||||
$context = null;
|
||||
|
||||
@ -225,7 +234,7 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
return file_get_contents(self::$config['phpbb_functional_url'] . 'install/index.php?mode=install&sub=' . $sub, false, $context);
|
||||
}
|
||||
|
||||
private function recreate_database($config)
|
||||
static private function recreate_database($config)
|
||||
{
|
||||
$db_conn_mgr = new phpbb_database_test_connection_manager($config);
|
||||
$db_conn_mgr->recreate_db();
|
||||
|
Loading…
x
Reference in New Issue
Block a user