From e4095758868f6debdddb5a7cd65f8c0a244bee66 Mon Sep 17 00:00:00 2001 From: John Schwarz Date: Thu, 9 Apr 2015 18:41:06 +0300 Subject: [PATCH] Revert connection option post full-stack tests The full-stack framework overrides the database connection string before every test is started, but after the test it doesn't revert the string back to what it was originally. Since after the test the database is deleted, the string is not actually valid once the test finished, and this conflicts with tests which are ran on the same job (specifically the retargetable tests - see associated bug). The proposed patch saves the original connection string and reverts it after the test finishes. Change-Id: I96c01483009084cbc2b81588a1283e84e6bcb4c4 Closes-bug: #1440797 --- neutron/tests/fullstack/base.py | 9 +++++++++ neutron/tests/retargetable/base.py | 3 --- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/neutron/tests/fullstack/base.py b/neutron/tests/fullstack/base.py index a69cc989b..db316df13 100644 --- a/neutron/tests/fullstack/base.py +++ b/neutron/tests/fullstack/base.py @@ -56,5 +56,14 @@ class BaseFullStackTestCase(test_base.MySQLOpportunisticTestCase): 'username': test_base.DbFixture.USERNAME, 'password': test_base.DbFixture.PASSWORD, 'db_name': self.engine.url.database} + + self.original_conn = cfg.CONF.database.connection + self.addCleanup(self._revert_connection_address) cfg.CONF.set_override('connection', conn, group='database') + model_base.BASEV2.metadata.create_all(self.engine) + + def _revert_connection_address(self): + cfg.CONF.set_override('connection', + self.original_conn, + group='database') diff --git a/neutron/tests/retargetable/base.py b/neutron/tests/retargetable/base.py index ed80c4020..98d9d1f85 100644 --- a/neutron/tests/retargetable/base.py +++ b/neutron/tests/retargetable/base.py @@ -77,7 +77,4 @@ class RetargetableApiTest(testscenarios.WithScenarios, if rest_enabled(): raise self.skipException( 'Tempest fixture requirements prevent this test from running') - else: - raise self.skipException( - "Fullstack's db fixture usage prevents this test from running") self.useFixture(self.client) -- 2.45.2