diff --git a/codeception.yml b/codeception.yml index 337234784..790f20544 100644 --- a/codeception.yml +++ b/codeception.yml @@ -19,12 +19,6 @@ extensions: - Codeception\Extension\RunFailed modules: enabled: - - \Helper\DelayedDb: - dsn: 'mysql:host=%manual.db.host%;port=%manual.db.port%;dbname=%manual.db.dbname%' - user: '%manual.db.user%' - password: '%manual.db.password%' - populate: true - dump: 'tests/_data/e107_v2.1.8.sample.sql' - \Helper\DeployerFactory: secrets: cpanel: @@ -32,3 +26,9 @@ modules: hostname: '%cpanel.hostname%' username: '%cpanel.username%' password: '%cpanel.password%' + - \Helper\DelayedDb: + dsn: 'mysql:host=%manual.db.host%;port=%manual.db.port%;dbname=%manual.db.dbname%' + user: '%manual.db.user%' + password: '%manual.db.password%' + populate: true + dump: 'tests/_data/e107_v2.1.8.sample.sql' diff --git a/tests/_support/Helper/Base.php b/tests/_support/Helper/Base.php index be0b0d482..bec38d0cd 100644 --- a/tests/_support/Helper/Base.php +++ b/tests/_support/Helper/Base.php @@ -9,6 +9,13 @@ abstract class Base extends \Codeception\Module protected $deployer; protected $deployer_components = ['db', 'fs']; + protected $db; + + public function getHelperDb() + { + return $this->db ?: $this->db = $this->getModule('\Helper\DelayedDb'); + } + public function _beforeSuite($settings = array()) { $this->deployer = $this->getModule('\Helper\DeployerFactory')->create(); @@ -48,8 +55,8 @@ abstract class Base extends \Codeception\Module protected function _reconfigure_db() { - $db = $this->getModule('\Helper\DelayedDb'); - $Db_config = $db->getConfig(); + $db = $this->getHelperDb(); + $Db_config = $db->_getConfig(); $Db_config['dsn'] = $this->deployer->getDsn(); $Db_config['user'] = $this->deployer->getDbUsername(); $Db_config['password'] = $this->deployer->getDbPassword(); diff --git a/tests/_support/Helper/DelayedDb.php b/tests/_support/Helper/DelayedDb.php index 5c5503e8f..aa8396968 100644 --- a/tests/_support/Helper/DelayedDb.php +++ b/tests/_support/Helper/DelayedDb.php @@ -18,12 +18,7 @@ class DelayedDb extends \Codeception\Module\Db return parent::_initialize(); } - public function getConfig() - { - return $this->config; - } - - public function getDbHostname() + public function _getDbHostname() { $matches = []; $matched = preg_match('~host=([^;]+)~s', $this->config['dsn'], $matches); @@ -35,7 +30,7 @@ class DelayedDb extends \Codeception\Module\Db return $matches[1]; } - public function getDbName() + public function _getDbName() { $matches = []; $matched = preg_match('~dbname=([^;]+)~s', $this->config['dsn'], $matches); @@ -47,12 +42,12 @@ class DelayedDb extends \Codeception\Module\Db return $matches[1]; } - public function getDbUsername() + public function _getDbUsername() { return $this->config['user']; } - public function getDbPassword() + public function _getDbPassword() { return $this->config['password']; } diff --git a/tests/_support/Helper/E107Base.php b/tests/_support/Helper/E107Base.php index 4e62c3dd6..e68185433 100644 --- a/tests/_support/Helper/E107Base.php +++ b/tests/_support/Helper/E107Base.php @@ -31,10 +31,10 @@ abstract class E107Base extends Base $db = $this->getModule('\Helper\DelayedDb'); $e107_config = []; - $e107_config['mySQLserver'] = $db->getDbHostname(); - $e107_config['mySQLuser'] = $db->getDbUsername(); - $e107_config['mySQLpassword'] = $db->getDbPassword(); - $e107_config['mySQLdefaultdb'] = $db->getDbName(); + $e107_config['mySQLserver'] = $db->_getDbHostname(); + $e107_config['mySQLuser'] = $db->_getDbUsername(); + $e107_config['mySQLpassword'] = $db->_getDbPassword(); + $e107_config['mySQLdefaultdb'] = $db->_getDbName(); $e107_config['mySQLprefix'] = $this->e107_mySQLprefix; $e107_config_contents = $twig->render('e107_config.php', $e107_config); diff --git a/tests/acceptance/InstallCest.php b/tests/acceptance/InstallCest.php index 1852acda3..dcf9c914c 100644 --- a/tests/acceptance/InstallCest.php +++ b/tests/acceptance/InstallCest.php @@ -34,12 +34,13 @@ class InstallCest { $I->amOnPage('/install.php'); $I->wantTo("Verify Proceed to Step 3 of the Installation"); + $db = $I->getHelperDb(); $this->installStep1ToStep2($I); - $I->fillField('server', $I->getDbHostname()); - $I->fillField('name', $I->getDbUsername()); - $I->fillField('password', $I->getDbPassword()); - $I->fillField('db', $I->getDbName()); + $I->fillField('server', $db->_getDbHostname()); + $I->fillField('name', $db->_getDbUsername()); + $I->fillField('password', $db->_getDbPassword()); + $I->fillField('db', $db->_getDbName()); $I->uncheckOption('createdb'); $I->click('submit');