From d5a96e56b34a1c60ddc9b200fa83250ef38c02ad Mon Sep 17 00:00:00 2001 From: "ChangBo Guo(gcb)" Date: Tue, 16 Aug 2016 14:22:21 +0800 Subject: [PATCH] Use memory mode for sqlite in db test Config option sqlite_db is deprecated in 0a1bae9859079fb21a03716be947c5f1da6db0a2, and deprecate argument sqlite_db in method set_defaults in https://review.openstack.org/#/c/350945/, should use config option connection instead. For Ironic, we test database with sqlite in memory mode [1] as below: CONF.set_default('connection', "sqlite://", group='database') and don't use config option sqlite_db, so remove unused code. [1]http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#sqlite Change-Id: I52b4e31d112283b538275d818c6151e62d1ef78d --- ironic/tests/unit/db/base.py | 44 ++++++++---------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/ironic/tests/unit/db/base.py b/ironic/tests/unit/db/base.py index 842c65a3d36..dc2a575cc12 100644 --- a/ironic/tests/unit/db/base.py +++ b/ironic/tests/unit/db/base.py @@ -15,14 +15,10 @@ """Ironic DB test base class.""" -import os -import shutil - import fixtures from oslo_config import cfg from oslo_db.sqlalchemy import enginefacade -from ironic.common import paths from ironic.db import api as dbapi from ironic.db.sqlalchemy import migration from ironic.db.sqlalchemy import models @@ -36,32 +32,17 @@ _DB_CACHE = None class Database(fixtures.Fixture): - def __init__(self, engine, db_migrate, sql_connection, - sqlite_db, sqlite_clean_db): + def __init__(self, engine, db_migrate, sql_connection): self.sql_connection = sql_connection - self.sqlite_db = sqlite_db - self.sqlite_clean_db = sqlite_clean_db self.engine = engine self.engine.dispose() conn = self.engine.connect() - if sql_connection == "sqlite://": - self.setup_sqlite(db_migrate) - elif sql_connection.startswith('sqlite:///'): - testdb = paths.state_path_rel(sqlite_db) - if os.path.exists(testdb): - return - self.setup_sqlite(db_migrate) - else: - db_migrate.upgrade('head') + self.setup_sqlite(db_migrate) + self.post_migrations() - if sql_connection == "sqlite://": - conn = self.engine.connect() - self._DB = "".join(line for line in conn.connection.iterdump()) - self.engine.dispose() - else: - cleandb = paths.state_path_rel(sqlite_clean_db) - shutil.copyfile(testdb, cleandb) + self._DB = "".join(line for line in conn.connection.iterdump()) + self.engine.dispose() def setup_sqlite(self, db_migrate): if db_migrate.version(): @@ -72,14 +53,9 @@ class Database(fixtures.Fixture): def setUp(self): super(Database, self).setUp() - if self.sql_connection == "sqlite://": - conn = self.engine.connect() - conn.connection.executescript(self._DB) - self.addCleanup(self.engine.dispose) - else: - shutil.copyfile(paths.state_path_rel(self.sqlite_clean_db), - paths.state_path_rel(self.sqlite_db)) - self.addCleanup(os.unlink, self.sqlite_db) + conn = self.engine.connect() + conn.connection.executescript(self._DB) + self.addCleanup(self.engine.dispose) def post_migrations(self): """Any addition steps that are needed outside of the migrations.""" @@ -96,7 +72,5 @@ class DbTestCase(base.TestCase): if not _DB_CACHE: engine = enginefacade.get_legacy_facade().get_engine() _DB_CACHE = Database(engine, migration, - sql_connection=CONF.database.connection, - sqlite_db=CONF.database.sqlite_db, - sqlite_clean_db='clean.sqlite') + sql_connection=CONF.database.connection) self.useFixture(_DB_CACHE)