summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-12-20 19:23:07 +0000
committerGerrit Code Review <review@openstack.org>2012-12-20 19:23:07 +0000
commite979dbce43bf13bedff6264c4b4302cf7a9126a4 (patch)
tree84929a13e05abc709bbe1275b2ae8898255fc870
parent5a641627a74b39d4a1287f69994f5659b9c04b68 (diff)
parent55155c9184645306fb108316a2e7f88c41574430 (diff)
downloadnova-e979dbce43bf13bedff6264c4b4302cf7a9126a4.tar.gz
nova-e979dbce43bf13bedff6264c4b4302cf7a9126a4.tar.xz
nova-e979dbce43bf13bedff6264c4b4302cf7a9126a4.zip
Merge "Move baremetal database tests to fixtures."
-rw-r--r--nova/test.py55
-rw-r--r--nova/tests/baremetal/db/base.py25
2 files changed, 40 insertions, 40 deletions
diff --git a/nova/test.py b/nova/test.py
index c4f631413..a4060bf7a 100644
--- a/nova/test.py
+++ b/nova/test.py
@@ -37,7 +37,7 @@ import testtools
from nova import context
from nova import db
from nova.db import migration
-from nova.db.sqlalchemy.session import get_engine
+from nova.db.sqlalchemy import session
from nova.network import manager as network_manager
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
@@ -72,38 +72,19 @@ _DB_CACHE = None
class Database(fixtures.Fixture):
- def __init__(self):
- self.engine = get_engine()
+ def __init__(self, db_session, db_migrate):
+ self.engine = db_session.get_engine()
self.engine.dispose()
conn = self.engine.connect()
if CONF.sql_connection == "sqlite://":
- if migration.db_version() > migration.INIT_VERSION:
+ if db_migrate.db_version() > db_migrate.INIT_VERSION:
return
else:
testdb = os.path.join(CONF.state_path, CONF.sqlite_db)
if os.path.exists(testdb):
return
- migration.db_sync()
- ctxt = context.get_admin_context()
- network = network_manager.VlanManager()
- bridge_interface = CONF.flat_interface or CONF.vlan_interface
- network.create_networks(ctxt,
- label='test',
- cidr=CONF.fixed_range,
- multi_host=CONF.multi_host,
- num_networks=CONF.num_networks,
- network_size=CONF.network_size,
- cidr_v6=CONF.fixed_range_v6,
- gateway=CONF.gateway,
- gateway_v6=CONF.gateway_v6,
- bridge=CONF.flat_network_bridge,
- bridge_interface=bridge_interface,
- vpn_start=CONF.vpn_start,
- vlan_start=CONF.vlan_start,
- dns1=CONF.flat_network_dns)
- for net in db.network_get_all(ctxt):
- network.set_network_host(ctxt, net)
-
+ db_migrate.db_sync()
+ self.post_migrations()
if CONF.sql_connection == "sqlite://":
conn = self.engine.connect()
self._DB = "".join(line for line in conn.connection.iterdump())
@@ -125,6 +106,28 @@ class Database(fixtures.Fixture):
os.path.join(CONF.state_path,
CONF.sqlite_db))
+ def post_migrations(self):
+ """Any addition steps that are needed outside of the migrations."""
+ ctxt = context.get_admin_context()
+ network = network_manager.VlanManager()
+ bridge_interface = CONF.flat_interface or CONF.vlan_interface
+ network.create_networks(ctxt,
+ label='test',
+ cidr=CONF.fixed_range,
+ multi_host=CONF.multi_host,
+ num_networks=CONF.num_networks,
+ network_size=CONF.network_size,
+ cidr_v6=CONF.fixed_range_v6,
+ gateway=CONF.gateway,
+ gateway_v6=CONF.gateway_v6,
+ bridge=CONF.flat_network_bridge,
+ bridge_interface=bridge_interface,
+ vpn_start=CONF.vpn_start,
+ vlan_start=CONF.vlan_start,
+ dns1=CONF.flat_network_dns)
+ for net in db.network_get_all(ctxt):
+ network.set_network_host(ctxt, net)
+
class ReplaceModule(fixtures.Fixture):
"""Replace a module with a fake module."""
@@ -202,7 +205,7 @@ class TestCase(testtools.TestCase):
global _DB_CACHE
if not _DB_CACHE:
- _DB_CACHE = Database()
+ _DB_CACHE = Database(session, migration)
self.useFixture(_DB_CACHE)
mox_fixture = self.useFixture(MoxStubout())
diff --git a/nova/tests/baremetal/db/base.py b/nova/tests/baremetal/db/base.py
index ea5a3b427..d9b9d1263 100644
--- a/nova/tests/baremetal/db/base.py
+++ b/nova/tests/baremetal/db/base.py
@@ -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()