diff --git a/AUTHORS b/AUTHORS index 9a9d0d0d2..535805c11 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,5 @@ Adrian Czarnecki +Amir Mofakhar Andrea Adams Andreas Jaeger Angelo Mendonca diff --git a/monasca_api/common/repositories/sqla/sql_repository.py b/monasca_api/common/repositories/sqla/sql_repository.py index e24b8914c..231c6cf28 100644 --- a/monasca_api/common/repositories/sqla/sql_repository.py +++ b/monasca_api/common/repositories/sqla/sql_repository.py @@ -72,7 +72,9 @@ class SQLRepository(object): try: super(SQLRepository, self).__init__() self.conf = CONF - self._db_engine = get_engine() + if not hasattr(self.conf, 'sql_engine'): + self.conf.sql_engine = get_engine() + self._db_engine = self.conf.sql_engine self.metadata = sqlalchemy.MetaData() except Exception as ex: diff --git a/monasca_api/tests/test_a_repository.py b/monasca_api/tests/test_a_repository.py index 79f51deb4..2a6c1e9c1 100644 --- a/monasca_api/tests/test_a_repository.py +++ b/monasca_api/tests/test_a_repository.py @@ -167,6 +167,8 @@ class TestAlarmRepoDB(base.BaseTestCase): @classmethod def tearDownClass(cls): cls.fixture.cleanUp() + if hasattr(CONF, 'sql_engine'): + delattr(CONF, 'sql_engine') def setUp(self): super(TestAlarmRepoDB, self).setUp() diff --git a/monasca_api/tests/test_ad_repository.py b/monasca_api/tests/test_ad_repository.py index 084594bda..4fd6a7f1d 100644 --- a/monasca_api/tests/test_ad_repository.py +++ b/monasca_api/tests/test_ad_repository.py @@ -120,6 +120,8 @@ class TestAlarmDefinitionRepoDB(base.BaseTestCase): @classmethod def tearDownClass(cls): cls.fixture.cleanUp() + if hasattr(CONF, 'sql_engine'): + delattr(CONF, 'sql_engine') def setUp(self): super(TestAlarmDefinitionRepoDB, self).setUp() diff --git a/monasca_api/tests/test_alarms_db_health_check.py b/monasca_api/tests/test_alarms_db_health_check.py index ea5bed1cb..4348a7726 100644 --- a/monasca_api/tests/test_alarms_db_health_check.py +++ b/monasca_api/tests/test_alarms_db_health_check.py @@ -32,6 +32,11 @@ class TestMetricsDbHealthCheckLogic(base.BaseTestCase): super(TestMetricsDbHealthCheckLogic, self).setUp() self.conf_default(group='database', **self.mocked_config) + @classmethod + def tearDownClass(cls): + if hasattr(CONF, 'sql_engine'): + delattr(CONF, 'sql_engine') + @mock.patch('monasca_api.healthcheck.alarms_db_check.' 'sql_repository.get_engine') def test_should_pass_db_ok(self, _): diff --git a/monasca_api/tests/test_healthchecks.py b/monasca_api/tests/test_healthchecks.py index 03016b8c4..a7300d6f5 100644 --- a/monasca_api/tests/test_healthchecks.py +++ b/monasca_api/tests/test_healthchecks.py @@ -27,6 +27,11 @@ ENDPOINT = '/healthcheck' class TestHealthChecks(test_base.BaseApiTestCase): + @classmethod + def tearDownClass(cls): + if hasattr(CONF, 'sql_engine'): + delattr(CONF, 'sql_engine') + def set_route(self): self.resources = healthchecks.HealthChecks() self.api.add_route( diff --git a/monasca_api/tests/test_nm_repository.py b/monasca_api/tests/test_nm_repository.py index 709c38542..af39af174 100644 --- a/monasca_api/tests/test_nm_repository.py +++ b/monasca_api/tests/test_nm_repository.py @@ -64,6 +64,8 @@ class TestNotificationMethodRepoDB(base.BaseTestCase): @classmethod def tearDownClass(cls): cls.fixture.cleanUp() + if hasattr(CONF, 'sql_engine'): + delattr(CONF, 'sql_engine') def setUp(self): super(TestNotificationMethodRepoDB, self).setUp()