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
This commit is contained in:
parent
483de6313f
commit
e409575886
|
@ -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')
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue