Move baremetal database tests to fixtures.
The baremetal database tests didn't get migrated to fixtures when we migrated base nova. Funny story: maybe we should re-use code rather than copying! So I did that. It's reusable now. Change-Id: I730aad4a6aedb3993e032a14c9b8d2cd58913b4f
This commit is contained in:

committed by
Devananda van der Veen

parent
8cb156e05f
commit
2a27067317
@@ -15,31 +15,25 @@
|
||||
|
||||
"""Bare-metal DB test base class."""
|
||||
|
||||
import fixtures
|
||||
|
||||
from nova import context as nova_context
|
||||
from nova.openstack.common import cfg
|
||||
from nova import test
|
||||
from nova.virt.baremetal.db import migration as bm_migration
|
||||
from nova.virt.baremetal.db.sqlalchemy import session as bm_session
|
||||
|
||||
_DB = None
|
||||
_DB_CACHE = None
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('baremetal_sql_connection',
|
||||
'nova.virt.baremetal.db.sqlalchemy.session')
|
||||
|
||||
|
||||
def _reset_bmdb():
|
||||
global _DB
|
||||
engine = bm_session.get_engine()
|
||||
engine.dispose()
|
||||
conn = engine.connect()
|
||||
if _DB is None:
|
||||
if bm_migration.db_version() > bm_migration.INIT_VERSION:
|
||||
return
|
||||
bm_migration.db_sync()
|
||||
_DB = "".join(line for line in conn.connection.iterdump())
|
||||
else:
|
||||
conn.connection.executescript(_DB)
|
||||
class Database(test.Database):
|
||||
|
||||
def post_migrations(self):
|
||||
pass
|
||||
|
||||
|
||||
class BMDBTestCase(test.TestCase):
|
||||
@@ -47,5 +41,8 @@ class BMDBTestCase(test.TestCase):
|
||||
def setUp(self):
|
||||
super(BMDBTestCase, self).setUp()
|
||||
self.flags(baremetal_sql_connection='sqlite:///:memory:')
|
||||
_reset_bmdb()
|
||||
global _DB_CACHE
|
||||
if not _DB_CACHE:
|
||||
_DB_CACHE = Database(bm_session, bm_migration)
|
||||
self.useFixture(_DB_CACHE)
|
||||
self.context = nova_context.get_admin_context()
|
||||
|
Reference in New Issue
Block a user