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:
Monty Taylor
2012-12-19 13:04:21 -08:00
committed by Devananda van der Veen
parent 8cb156e05f
commit 2a27067317

View File

@@ -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()