diff options
-rw-r--r-- | functest/tests/unit/utils/test_functest_utils.py | 12 | ||||
-rw-r--r-- | functest/utils/functest_utils.py | 10 |
2 files changed, 20 insertions, 2 deletions
diff --git a/functest/tests/unit/utils/test_functest_utils.py b/functest/tests/unit/utils/test_functest_utils.py index bb8360119..8bfdb5e49 100644 --- a/functest/tests/unit/utils/test_functest_utils.py +++ b/functest/tests/unit/utils/test_functest_utils.py @@ -56,6 +56,7 @@ class FunctestUtilsTesting(unittest.TestCase): self.testcase_dict = {'name': 'testname', 'criteria': self.criteria} self.parameter = 'general.openstack.image_name' self.config_yaml = 'test_config_yaml-' + self.db_url_env = 'http://foo/testdb' self.file_yaml = {'general': {'openstack': {'image_name': 'test_image_name'}}} @@ -196,8 +197,17 @@ class FunctestUtilsTesting(unittest.TestCase): self.assertEqual(functest_utils.get_build_tag(), self.build_tag) + def test_get_db_url_env_var(self): + with mock.patch.dict(os.environ, + {'TEST_DB_URL': self.db_url_env, + 'CONFIG_FUNCTEST_YAML': + "./functest/ci/config_functest.yaml"}, + clear=True): + self.assertEqual(functest_utils.get_db_url(), + self.db_url_env) + @mock.patch('functest.utils.functest_utils.get_functest_config') - def test_get_db_url(self, mock_get_functest_config): + def test_get_db_url_default(self, mock_get_functest_config): mock_get_functest_config.return_value = self.db_url self.assertEqual(functest_utils.get_db_url(), self.db_url) mock_get_functest_config.assert_called_once_with('results.test_db_url') diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index dbed811a7..e5e755d7f 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -151,7 +151,15 @@ def get_db_url(): """ Returns DB URL """ - return get_functest_config('results.test_db_url') + # TODO use CONST mechanism + try: + # if TEST_DB_URL declared in env variable, use it! + db_url = os.environ['TEST_DB_URL'] + except KeyError: + logger.info("DB URL not declared as env variable," + "use local configuration") + db_url = get_functest_config('results.test_db_url') + return db_url def logger_test_results(project, case_name, status, details): |