From 125f7beb63f978f6c610d160b6115ca7e06a92a9 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 3 Jul 2018 21:22:50 -0400 Subject: [PATCH] Add creation/deletion of separate .htconfig.php used for tests --- tests/DatabaseTest.php | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index b53d59161a..fd1c90bc61 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -21,24 +21,50 @@ abstract class DatabaseTest extends TestCase use TestCaseTrait; /** - * Creates .htconfig.php for bin/worker.php execution + * Renames an eventually existing .htconfig.php to .htconfig.php.tmp + * Creates a new .htconfig.php for bin/worker.php execution */ - protected function setUp() + public static function setUpBeforeClass() { - parent::setUp(); + parent::setUpBeforeClass(); $base_config_file_name = 'htconfig.php'; $config_file_name = '.htconfig.php'; $base_config_file_path = stream_resolve_include_path($base_config_file_name); $config_file_path = dirname($base_config_file_path) . DIRECTORY_SEPARATOR . $config_file_name; + $config_file_path_tmp = $config_file_path . '.tmp'; - if (!file_exists($config_file_path)) { - $config_string = file_get_contents($base_config_file_path); + if (file_exists($config_file_path)) { + rename($config_file_path, $config_file_path_tmp); + } - $config_string = str_replace('die(', '// die(', $config_string); + $config_string = file_get_contents($base_config_file_path); - file_put_contents($config_file_path, $config_string); + $config_string = str_replace('die(', '// die(', $config_string); + + file_put_contents($config_file_path, $config_string); + } + + /** + * Delete the created .htconfig.php + * Renames an eventually existing .htconfig.php.tmp to .htconfig.php + */ + public static function tearDownAfterClass() + { + $base_config_file_name = 'htconfig.php'; + $config_file_name = '.htconfig.php'; + + $base_config_file_path = stream_resolve_include_path($base_config_file_name); + $config_file_path = dirname($base_config_file_path) . DIRECTORY_SEPARATOR . $config_file_name; + $config_file_path_tmp = $config_file_path . '.tmp'; + + if (file_exists($config_file_path)) { + unlink($config_file_path); + } + + if (file_exists($config_file_path_tmp)) { + rename($config_file_path_tmp, $config_file_path); } }