aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_framework/phpbb_functional_test_case.php
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2013-06-24 13:49:29 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2013-06-24 13:49:29 -0500
commitff84aed0b2e5bb2def73a1861e601ad9fb8856df (patch)
tree22ffb4b331619cfb96002b526c6b45b3fc297332 /tests/test_framework/phpbb_functional_test_case.php
parent2dd58413e26434568bd768549e621e72b5ccb33c (diff)
parenta5c971176be81f854772919713da6db506fa7cd1 (diff)
downloadforums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.gz
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.bz2
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.xz
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.zip
Merge branch 'develop' of github.com:phpbb/phpbb3 into feature/twig
# By Dhruv (35) and others # Via Andreas Fischer (15) and others * 'develop' of github.com:phpbb/phpbb3: (75 commits) [ticket/10776] update min php version 5.3.3 in readme [ticket/11503] similar implementation for mssql_native and odbc [ticket/11603] Fix out dated comment [ticket/11603] Fix usage note [ticket/11604] Skip installer step where config.php is created. [ticket/11603] Throw RuntimeExceptions instead of using exit() [ticket/11603] Avoid using cURL [ticket/11604] Fix case where config.php is not generated by phpBB. [ticket/11604] Use variables for config.php filesnames. [ticket/11561] Specify used tables in notification fixture, so they are emptied [ticket/11094] Add textbox for jabber while memberlist search [ticket/10820] fix if condition to check for IE [ticket/11603] Split api_request into two functions (query only vs. full url) [ticket/11603] Fix spacing and add some comments [ticket/10820] Add additional check for IE in condition [ticket/11603] Fix github API calls [ticket/11603] Rename network to forks and fix handling [ticket/11603] Fix github api url and use curl with valid user agent [ticket/10820] Fix function docblock [ticket/10820] Inject IE version in function ...
Diffstat (limited to 'tests/test_framework/phpbb_functional_test_case.php')
-rw-r--r--tests/test_framework/phpbb_functional_test_case.php53
1 files changed, 43 insertions, 10 deletions
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php
index 97fe147d8e..e5da8de4ae 100644
--- a/tests/test_framework/phpbb_functional_test_case.php
+++ b/tests/test_framework/phpbb_functional_test_case.php
@@ -219,15 +219,19 @@ class phpbb_functional_test_case extends phpbb_test_case
self::recreate_database(self::$config);
- if (file_exists($phpbb_root_path . "config.$phpEx"))
+ $config_file = $phpbb_root_path . "config.$phpEx";
+ $config_file_dev = $phpbb_root_path . "config_dev.$phpEx";
+ $config_file_test = $phpbb_root_path . "config_test.$phpEx";
+
+ if (file_exists($config_file))
{
- if (!file_exists($phpbb_root_path . "config_dev.$phpEx"))
+ if (!file_exists($config_file_dev))
{
- rename($phpbb_root_path . "config.$phpEx", $phpbb_root_path . "config_dev.$phpEx");
+ rename($config_file, $config_file_dev);
}
else
{
- unlink($phpbb_root_path . "config.$phpEx");
+ unlink($config_file);
}
}
@@ -251,10 +255,12 @@ class phpbb_functional_test_case extends phpbb_test_case
self::assertContains('Welcome to Installation', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form();
+ // install/index.php?mode=install&sub=requirements
$crawler = self::submit($form);
self::assertContains('Installation compatibility', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form();
+ // install/index.php?mode=install&sub=database
$crawler = self::submit($form);
self::assertContains('Database configuration', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form(array(
@@ -268,10 +274,12 @@ class phpbb_functional_test_case extends phpbb_test_case
'table_prefix' => self::$config['table_prefix'],
));
+ // install/index.php?mode=install&sub=database
$crawler = self::submit($form);
self::assertContains('Successful connection', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form();
+ // install/index.php?mode=install&sub=administrator
$crawler = self::submit($form);
self::assertContains('Administrator configuration', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form(array(
@@ -282,16 +290,38 @@ class phpbb_functional_test_case extends phpbb_test_case
'board_email' => 'nobody@example.com',
));
+ // install/index.php?mode=install&sub=administrator
$crawler = self::submit($form);
self::assertContains('Tests passed', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form();
- $crawler = self::submit($form);
- self::assertContains('The configuration file has been written.', $crawler->filter('#main')->text());
- file_put_contents($phpbb_root_path . "config.$phpEx", phpbb_create_config_file_data(self::$config, self::$config['dbms'], true, true));
- $form = $crawler->selectButton('submit')->form();
+ // We have to skip install/index.php?mode=install&sub=config_file
+ // because that step will create a config.php file if phpBB has the
+ // permission to do so. We have to create the config file on our own
+ // in order to get the DEBUG constants defined.
+ $config_php_data = phpbb_create_config_file_data(self::$config, self::$config['dbms'], true, true);
+ $config_created = file_put_contents($config_file, $config_php_data) !== false;
+ if (!$config_created)
+ {
+ self::markTestSkipped("Could not write $config_file file.");
+ }
- $crawler = self::submit($form);
+ // We also have to create a install lock that is normally created by
+ // the installer. The file will be removed by the final step of the
+ // installer.
+ $install_lock_file = $phpbb_root_path . 'cache/install_lock';
+ $lock_created = file_put_contents($install_lock_file, '') !== false;
+ if (!$lock_created)
+ {
+ self::markTestSkipped("Could not create $lock_created file.");
+ }
+ @chmod($install_lock_file, 0666);
+
+ // install/index.php?mode=install&sub=advanced
+ $form_data = $form->getValues();
+ unset($form_data['submit']);
+
+ $crawler = self::request('POST', 'install/index.php?mode=install&sub=advanced', $form_data);
self::assertContains('The settings on this page are only necessary to set if you know that you require something different from the default.', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form(array(
'email_enable' => true,
@@ -308,14 +338,17 @@ class phpbb_functional_test_case extends phpbb_test_case
'script_path' => $parseURL['path'],
));
+ // install/index.php?mode=install&sub=create_table
$crawler = self::submit($form);
self::assertContains('The database tables used by phpBB', $crawler->filter('#main')->text());
self::assertContains('have been created and populated with some initial data.', $crawler->filter('#main')->text());
$form = $crawler->selectButton('submit')->form();
+ // install/index.php?mode=install&sub=final
$crawler = self::submit($form);
self::assertContains('You have successfully installed', $crawler->text());
- copy($phpbb_root_path . "config.$phpEx", $phpbb_root_path . "config_test.$phpEx");
+
+ copy($config_file, $config_file_test);
}
static private function recreate_database($config)