diff options
| author | Nathan Guse <nathaniel.guse@gmail.com> | 2013-06-24 13:49:29 -0500 |
|---|---|---|
| committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-06-24 13:49:29 -0500 |
| commit | ff84aed0b2e5bb2def73a1861e601ad9fb8856df (patch) | |
| tree | 22ffb4b331619cfb96002b526c6b45b3fc297332 /tests/test_framework/phpbb_functional_test_case.php | |
| parent | 2dd58413e26434568bd768549e621e72b5ccb33c (diff) | |
| parent | a5c971176be81f854772919713da6db506fa7cd1 (diff) | |
| download | forums-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.php | 53 |
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) |
