From d45eae7fe12bbdf3a47b151ad025d564fbdf2a3f Mon Sep 17 00:00:00 2001 From: Vladyslav Drok Date: Wed, 1 Oct 2014 15:55:37 +0300 Subject: [PATCH] Move database fixture to a separate test case This change moves database fixture from ironic.tests.base.TestCase to ironic.tests.db.base.DbTestCase and adds dbapi field there. Also it adds ironic admin context to ironic.tests.base.TestCase, as context may be used without db fixture. Closes-bug: #1376285 Change-Id: I008e44da315767afb6282000a01f0b39698f9768 --- ironic/tests/api/base.py | 2 - ironic/tests/api/test_acl.py | 2 - ironic/tests/base.py | 76 +----------------- .../tests/conductor/test_conductor_utils.py | 5 -- ironic/tests/conductor/test_manager.py | 4 - ironic/tests/conductor/test_rpcapi.py | 2 - ironic/tests/conductor/test_task_manager.py | 4 +- ironic/tests/db/base.py | 79 ++++++++++++++++++- ironic/tests/db/sqlalchemy/test_types.py | 5 -- ironic/tests/db/test_chassis.py | 5 -- ironic/tests/db/test_conductor.py | 5 -- ironic/tests/db/test_nodes.py | 5 -- ironic/tests/db/test_ports.py | 2 - ironic/tests/drivers/drac/test_power.py | 9 +-- ironic/tests/drivers/ilo/test_common.py | 6 -- ironic/tests/drivers/ilo/test_deploy.py | 8 -- ironic/tests/drivers/ilo/test_power.py | 3 - ironic/tests/drivers/test_iboot.py | 6 -- ironic/tests/drivers/test_ipminative.py | 3 - ironic/tests/drivers/test_ipmitool.py | 2 - ironic/tests/drivers/test_iscsi_deploy.py | 7 -- ironic/tests/drivers/test_pxe.py | 8 -- ironic/tests/drivers/test_seamicro.py | 3 - ironic/tests/drivers/test_snmp.py | 2 - ironic/tests/drivers/test_ssh.py | 2 - ironic/tests/drivers/test_utils.py | 2 - ironic/tests/objects/test_chassis.py | 2 - ironic/tests/objects/test_conductor.py | 2 - ironic/tests/objects/test_node.py | 2 - ironic/tests/objects/test_objects.py | 9 +-- ironic/tests/objects/test_port.py | 2 - ironic/tests/test_hash_ring.py | 2 - ironic/tests/test_network.py | 2 - ironic/tests/test_pxe_utils.py | 2 - 34 files changed, 88 insertions(+), 192 deletions(-) diff --git a/ironic/tests/api/base.py b/ironic/tests/api/base.py index 94fda04243..eed2678c64 100644 --- a/ironic/tests/api/base.py +++ b/ironic/tests/api/base.py @@ -27,7 +27,6 @@ import pecan import pecan.testing from six.moves.urllib import parse as urlparse -from ironic.db import api as dbapi from ironic.tests.db import base PATH_PREFIX = '/v1' @@ -48,7 +47,6 @@ class FunctionalTest(base.DbTestCase): cfg.CONF.set_override("admin_user", "admin", group='keystone_authtoken') self.app = self._make_app() - self.dbapi = dbapi.get_instance() def reset_pecan(): pecan.set_config({}, overwrite=True) diff --git a/ironic/tests/api/test_acl.py b/ironic/tests/api/test_acl.py index d4b410aca0..26dfa76899 100644 --- a/ironic/tests/api/test_acl.py +++ b/ironic/tests/api/test_acl.py @@ -23,7 +23,6 @@ from keystonemiddleware import auth_token # noqa from oslo.config import cfg -from ironic.db import api as db_api from ironic.tests.api import base from ironic.tests.api import utils from ironic.tests.db import utils as db_utils @@ -36,7 +35,6 @@ class TestACL(base.FunctionalTest): self.environ = {'fake.cache': utils.FakeMemcache()} self.fake_db_node = db_utils.get_test_node(chassis_id=None) - self.dbapi = db_api.get_instance() self.node_path = '/nodes/%s' % self.fake_db_node['uuid'] def get_json(self, path, expect_errors=False, headers=None, q=[], **param): diff --git a/ironic/tests/base.py b/ironic/tests/base.py index d3c4d8e936..1b1bba631c 100644 --- a/ironic/tests/base.py +++ b/ironic/tests/base.py @@ -26,7 +26,6 @@ eventlet.monkey_patch(os=False) import copy import os -import shutil import sys import fixtures @@ -34,83 +33,19 @@ import testtools from oslo.config import cfg -from ironic.db.sqlalchemy import migration -from ironic.db.sqlalchemy import models - from ironic.common import hash_ring -from ironic.common import paths -from ironic.db.sqlalchemy import api as sqla_api from ironic.objects import base as objects_base +from ironic.openstack.common import context as ironic_context from ironic.openstack.common import log as logging from ironic.tests import conf_fixture from ironic.tests import policy_fixture -test_opts = [ - cfg.StrOpt('sqlite_clean_db', - default='clean.sqlite', - help='File name of clean sqlite db.'), - ] - CONF = cfg.CONF -CONF.register_opts(test_opts) CONF.set_override('use_stderr', False) logging.setup('ironic') -_DB_CACHE = None - - -class Database(fixtures.Fixture): - - def __init__(self, db_api, db_migrate, sql_connection, - sqlite_db, sqlite_clean_db): - self.sql_connection = sql_connection - self.sqlite_db = sqlite_db - self.sqlite_clean_db = sqlite_clean_db - - self.engine = db_api.get_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.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) - - def setup_sqlite(self, db_migrate): - if db_migrate.version(): - return - models.Base.metadata.create_all(self.engine) - db_migrate.stamp('head') - - 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) - - def post_migrations(self): - """Any addition steps that are needed outside of the migrations.""" - class ReplaceModule(fixtures.Fixture): """Replace a module with a fake module.""" @@ -139,6 +74,7 @@ class TestCase(testtools.TestCase): def setUp(self): """Run before each test method to initialize test environment.""" super(TestCase, self).setUp() + self.context = ironic_context.get_admin_context() test_timeout = os.environ.get('OS_TEST_TIMEOUT', 0) try: test_timeout = int(test_timeout) @@ -162,14 +98,6 @@ class TestCase(testtools.TestCase): self.log_fixture = self.useFixture(fixtures.FakeLogger()) self.useFixture(conf_fixture.ConfFixture(CONF)) - global _DB_CACHE - if not _DB_CACHE: - _DB_CACHE = Database(sqla_api, migration, - sql_connection=CONF.database.connection, - sqlite_db=CONF.database.sqlite_db, - sqlite_clean_db=CONF.sqlite_clean_db) - self.useFixture(_DB_CACHE) - # NOTE(danms): Make sure to reset us back to non-remote objects # for each test to avoid interactions. Also, backup the object # registry diff --git a/ironic/tests/conductor/test_conductor_utils.py b/ironic/tests/conductor/test_conductor_utils.py index 72915bd598..9a761b2ab0 100644 --- a/ironic/tests/conductor/test_conductor_utils.py +++ b/ironic/tests/conductor/test_conductor_utils.py @@ -18,7 +18,6 @@ from ironic.common import states from ironic.common import utils as cmn_utils from ironic.conductor import task_manager from ironic.conductor import utils as conductor_utils -from ironic.db import api as dbapi from ironic import objects from ironic.tests import base as tests_base from ironic.tests.conductor import utils as mgr_utils @@ -28,9 +27,6 @@ from ironic.tests.objects import utils as obj_utils class NodeSetBootDeviceTestCase(base.DbTestCase): - def setUp(self): - super(NodeSetBootDeviceTestCase, self).setUp() - self.dbapi = dbapi.get_instance() def test_node_set_boot_device_non_existent_device(self): mgr_utils.mock_the_extension_manager(driver="fake_ipmitool") @@ -69,7 +65,6 @@ class NodePowerActionTestCase(base.DbTestCase): def setUp(self): super(NodePowerActionTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") diff --git a/ironic/tests/conductor/test_manager.py b/ironic/tests/conductor/test_manager.py index e224843924..f7e17df224 100644 --- a/ironic/tests/conductor/test_manager.py +++ b/ironic/tests/conductor/test_manager.py @@ -145,7 +145,6 @@ class _ServiceSetUpMixin(object): self.config(node_locked_retry_attempts=1, group='conductor') self.config(node_locked_retry_interval=0, group='conductor') self.service = manager.ConductorManager(self.hostname, 'test-topic') - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") @@ -1684,7 +1683,6 @@ class ManagerSyncPowerStatesTestCase(_CommonMixIn, tests_db_base.DbTestCase): def setUp(self): super(ManagerSyncPowerStatesTestCase, self).setUp() self.service = manager.ConductorManager('hostname', 'test-topic') - self.dbapi = dbapi.get_instance() self.service.dbapi = self.dbapi self.node = self._create_node() self.filters = {'reserved': False, 'maintenance': False} @@ -1951,7 +1949,6 @@ class ManagerCheckDeployTimeoutsTestCase(_CommonMixIn, super(ManagerCheckDeployTimeoutsTestCase, self).setUp() self.config(deploy_callback_timeout=300, group='conductor') self.service = manager.ConductorManager('hostname', 'test-topic') - self.dbapi = dbapi.get_instance() self.service.dbapi = self.dbapi self.node = self._create_node(provision_state=states.DEPLOYWAIT) @@ -2297,7 +2294,6 @@ class ManagerSyncLocalStateTestCase(_CommonMixIn, tests_db_base.DbTestCase): def setUp(self): super(ManagerSyncLocalStateTestCase, self).setUp() - self.dbapi = dbapi.get_instance() self.service = manager.ConductorManager('hostname', 'test-topic') self.service.conductor = mock.Mock() diff --git a/ironic/tests/conductor/test_rpcapi.py b/ironic/tests/conductor/test_rpcapi.py index 2715649d6b..dcdd065a32 100644 --- a/ironic/tests/conductor/test_rpcapi.py +++ b/ironic/tests/conductor/test_rpcapi.py @@ -28,7 +28,6 @@ from ironic.common import exception from ironic.common import states from ironic.conductor import manager as conductor_manager from ironic.conductor import rpcapi as conductor_rpcapi -from ironic.db import api as dbapi from ironic import objects from ironic.tests import base as tests_base from ironic.tests.db import base @@ -49,7 +48,6 @@ class RPCAPITestCase(base.DbTestCase): def setUp(self): super(RPCAPITestCase, self).setUp() - self.dbapi = dbapi.get_instance() self.fake_node = dbutils.get_test_node(driver='fake-driver') self.fake_node_obj = objects.Node._from_db_object( objects.Node(self.context), diff --git a/ironic/tests/conductor/test_task_manager.py b/ironic/tests/conductor/test_task_manager.py index 247aaa58ab..d66e230c0c 100644 --- a/ironic/tests/conductor/test_task_manager.py +++ b/ironic/tests/conductor/test_task_manager.py @@ -27,6 +27,7 @@ from ironic.common import utils from ironic.conductor import task_manager from ironic import objects from ironic.tests import base as tests_base +from ironic.tests.db import base as tests_db_base from ironic.tests.objects import utils as obj_utils @@ -35,14 +36,13 @@ from ironic.tests.objects import utils as obj_utils @mock.patch.object(objects.Node, 'reserve') @mock.patch.object(driver_factory, 'get_driver') @mock.patch.object(objects.Port, 'list_by_node_id') -class TaskManagerTestCase(tests_base.TestCase): +class TaskManagerTestCase(tests_db_base.DbTestCase): def setUp(self): super(TaskManagerTestCase, self).setUp() self.host = 'test-host' self.config(host=self.host) self.config(node_locked_retry_attempts=1, group='conductor') self.config(node_locked_retry_interval=0, group='conductor') - self.context = mock.sentinel.context self.node = obj_utils.create_test_node(self.context) def test_excl_lock(self, get_ports_mock, get_driver_mock, diff --git a/ironic/tests/db/base.py b/ironic/tests/db/base.py index bea001abdd..c5c76b2d94 100644 --- a/ironic/tests/db/base.py +++ b/ironic/tests/db/base.py @@ -15,12 +15,87 @@ """Ironic DB test base class.""" -from ironic.openstack.common import context as ironic_context +import os +import shutil + +import fixtures +from oslo.config import cfg + +from ironic.common import paths +from ironic.db import api as dbapi +from ironic.db.sqlalchemy import api as sqla_api +from ironic.db.sqlalchemy import migration +from ironic.db.sqlalchemy import models from ironic.tests import base +CONF = cfg.CONF + +_DB_CACHE = None + + +class Database(fixtures.Fixture): + + def __init__(self, db_api, db_migrate, sql_connection, + sqlite_db, sqlite_clean_db): + self.sql_connection = sql_connection + self.sqlite_db = sqlite_db + self.sqlite_clean_db = sqlite_clean_db + + self.engine = db_api.get_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.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) + + def setup_sqlite(self, db_migrate): + if db_migrate.version(): + return + models.Base.metadata.create_all(self.engine) + db_migrate.stamp('head') + + 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) + + def post_migrations(self): + """Any addition steps that are needed outside of the migrations.""" + + class DbTestCase(base.TestCase): def setUp(self): super(DbTestCase, self).setUp() - self.context = ironic_context.get_admin_context() + + self.dbapi = dbapi.get_instance() + + global _DB_CACHE + if not _DB_CACHE: + _DB_CACHE = Database(sqla_api, migration, + sql_connection=CONF.database.connection, + sqlite_db=CONF.database.sqlite_db, + sqlite_clean_db='clean.sqlite') + self.useFixture(_DB_CACHE) diff --git a/ironic/tests/db/sqlalchemy/test_types.py b/ironic/tests/db/sqlalchemy/test_types.py index 71577e3ef3..d0ed87d1f5 100644 --- a/ironic/tests/db/sqlalchemy/test_types.py +++ b/ironic/tests/db/sqlalchemy/test_types.py @@ -15,7 +15,6 @@ from oslo.db import exception as db_exc from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi import ironic.db.sqlalchemy.api as sa_api from ironic.db.sqlalchemy import models @@ -24,10 +23,6 @@ from ironic.tests.db import base class SqlAlchemyCustomTypesTestCase(base.DbTestCase): - def setUp(self): - super(SqlAlchemyCustomTypesTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - # NOTE(max_lobur): Since it's not straightforward to check this in # isolation these tests use existing db models. diff --git a/ironic/tests/db/test_chassis.py b/ironic/tests/db/test_chassis.py index 7bf7feb9f1..c354ef16d5 100644 --- a/ironic/tests/db/test_chassis.py +++ b/ironic/tests/db/test_chassis.py @@ -19,7 +19,6 @@ import six from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils @@ -27,10 +26,6 @@ from ironic.tests.db import utils class DbChassisTestCase(base.DbTestCase): - def setUp(self): - super(DbChassisTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def _create_test_chassis(self, **kwargs): ch = utils.get_test_chassis(**kwargs) self.dbapi.create_chassis(ch) diff --git a/ironic/tests/db/test_conductor.py b/ironic/tests/db/test_conductor.py index 4501d32188..cebabd0355 100644 --- a/ironic/tests/db/test_conductor.py +++ b/ironic/tests/db/test_conductor.py @@ -21,17 +21,12 @@ import mock from oslo.utils import timeutils from ironic.common import exception -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils class DbConductorTestCase(base.DbTestCase): - def setUp(self): - super(DbConductorTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_register_conductor_existing_fails(self): c = utils.get_test_conductor() self.dbapi.register_conductor(c) diff --git a/ironic/tests/db/test_nodes.py b/ironic/tests/db/test_nodes.py index 1b066398b9..e96dab6b03 100644 --- a/ironic/tests/db/test_nodes.py +++ b/ironic/tests/db/test_nodes.py @@ -24,17 +24,12 @@ import six from ironic.common import exception from ironic.common import states from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils class DbNodeTestCase(base.DbTestCase): - def setUp(self): - super(DbNodeTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def _create_test_node(self, **kwargs): n = utils.get_test_node(**kwargs) self.dbapi.create_node(n) diff --git a/ironic/tests/db/test_ports.py b/ironic/tests/db/test_ports.py index e1c7a9ebf8..42c4d5cb28 100644 --- a/ironic/tests/db/test_ports.py +++ b/ironic/tests/db/test_ports.py @@ -19,7 +19,6 @@ import six from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils as db_utils @@ -31,7 +30,6 @@ class DbPortTestCase(base.DbTestCase): # This method creates a port for every test and # replaces a test for creating a port. super(DbPortTestCase, self).setUp() - self.dbapi = dbapi.get_instance() ndict = db_utils.get_test_node() self.n = self.dbapi.create_node(ndict) self.p = db_utils.get_test_port() diff --git a/ironic/tests/drivers/drac/test_power.py b/ironic/tests/drivers/drac/test_power.py index 1988ee4073..6796c8a22d 100644 --- a/ironic/tests/drivers/drac/test_power.py +++ b/ironic/tests/drivers/drac/test_power.py @@ -19,12 +19,11 @@ import mock from ironic.common import exception from ironic.common import states -from ironic.db import api as dbapi from ironic.drivers.modules.drac import client as drac_client from ironic.drivers.modules.drac import common as drac_common from ironic.drivers.modules.drac import power as drac_power from ironic.drivers.modules.drac import resource_uris -from ironic.tests import base +from ironic.tests.db import base from ironic.tests.db import utils as db_utils from ironic.tests.drivers.drac import utils as test_utils @@ -33,7 +32,7 @@ INFO_DICT = db_utils.get_test_drac_info() @mock.patch.object(drac_client, 'pywsman') @mock.patch.object(drac_power, 'pywsman') -class DracPowerInternalMethodsTestCase(base.TestCase): +class DracPowerInternalMethodsTestCase(base.DbTestCase): def setUp(self): super(DracPowerInternalMethodsTestCase, self).setUp() @@ -41,7 +40,6 @@ class DracPowerInternalMethodsTestCase(base.TestCase): db_node = db_utils.get_test_node(driver='fake_drac', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(db_node) def test__get_power_state(self, mock_power_pywsman, mock_client_pywsman): @@ -107,7 +105,7 @@ class DracPowerInternalMethodsTestCase(base.TestCase): resource_uris.DCIM_ComputerSystem, 'RequestStateChange') -class DracPowerTestCase(base.TestCase): +class DracPowerTestCase(base.DbTestCase): def setUp(self): super(DracPowerTestCase, self).setUp() @@ -115,7 +113,6 @@ class DracPowerTestCase(base.TestCase): db_node = db_utils.get_test_node(driver='fake_drac', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(db_node) def test_get_properties(self): diff --git a/ironic/tests/drivers/ilo/test_common.py b/ironic/tests/drivers/ilo/test_common.py index a131064550..d4ec8e839c 100644 --- a/ironic/tests/drivers/ilo/test_common.py +++ b/ironic/tests/drivers/ilo/test_common.py @@ -26,7 +26,6 @@ from ironic.common import images from ironic.common import swift from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules.ilo import common as ilo_common from ironic.drivers import utils as driver_utils from ironic.tests.conductor import utils as mgr_utils @@ -43,10 +42,6 @@ CONF = cfg.CONF class IloValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(IloValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_parse_driver_info(self): node = obj_utils.create_test_node(self.context, driver='fake_ilo', @@ -117,7 +112,6 @@ class IloCommonMethodsTestCase(db_base.DbTestCase): def setUp(self): super(IloCommonMethodsTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="fake_ilo") self.node = obj_utils.create_test_node(self.context, driver='fake_ilo', driver_info=INFO_DICT) diff --git a/ironic/tests/drivers/ilo/test_deploy.py b/ironic/tests/drivers/ilo/test_deploy.py index 7d03cdc53d..632c9de985 100644 --- a/ironic/tests/drivers/ilo/test_deploy.py +++ b/ironic/tests/drivers/ilo/test_deploy.py @@ -27,7 +27,6 @@ from ironic.common import swift from ironic.common import utils from ironic.conductor import task_manager from ironic.conductor import utils as manager_utils -from ironic.db import api as dbapi from ironic.drivers.modules import agent from ironic.drivers.modules import deploy_utils from ironic.drivers.modules.ilo import common as ilo_common @@ -52,7 +51,6 @@ class IloDeployPrivateMethodsTestCase(db_base.DbTestCase): def setUp(self): super(IloDeployPrivateMethodsTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -198,7 +196,6 @@ class IloVirtualMediaIscsiDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloVirtualMediaIscsiDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -274,7 +271,6 @@ class IloVirtualMediaAgentDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloVirtualMediaAgentDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="agent_ilo") self.node = obj_utils.create_test_node(self.context, driver='agent_ilo', driver_info=INFO_DICT) @@ -326,7 +322,6 @@ class VendorPassthruTestCase(db_base.DbTestCase): def setUp(self): super(VendorPassthruTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -393,7 +388,6 @@ class IloPXEDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloPXEDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) @@ -449,7 +443,6 @@ class IloManagementTestCase(db_base.DbTestCase): def setUp(self): super(IloManagementTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) @@ -475,7 +468,6 @@ class IloPXEVendorPassthruTestCase(db_base.DbTestCase): def setUp(self): super(IloPXEVendorPassthruTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) diff --git a/ironic/tests/drivers/ilo/test_power.py b/ironic/tests/drivers/ilo/test_power.py index 0419a372fb..3a30aa0122 100644 --- a/ironic/tests/drivers/ilo/test_power.py +++ b/ironic/tests/drivers/ilo/test_power.py @@ -22,7 +22,6 @@ from oslo.utils import importutils from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules.ilo import common as ilo_common from ironic.drivers.modules.ilo import deploy as ilo_deploy from ironic.drivers.modules.ilo import power as ilo_power @@ -49,7 +48,6 @@ class IloPowerInternalMethodsTestCase(db_base.DbTestCase): driver='fake_ilo', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(n) CONF.set_override('power_retry', 2, 'ilo') CONF.set_override('power_wait', 0, 'ilo') @@ -163,7 +161,6 @@ class IloPowerTestCase(db_base.DbTestCase): super(IloPowerTestCase, self).setUp() driver_info = INFO_DICT mgr_utils.mock_the_extension_manager(driver="fake_ilo") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, driver='fake_ilo', driver_info=driver_info) diff --git a/ironic/tests/drivers/test_iboot.py b/ironic/tests/drivers/test_iboot.py index 152238350c..5278caf3c2 100644 --- a/ironic/tests/drivers/test_iboot.py +++ b/ironic/tests/drivers/test_iboot.py @@ -23,7 +23,6 @@ from ironic.common import driver_factory from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import iboot from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base @@ -36,10 +35,6 @@ INFO_DICT = db_utils.get_test_iboot_info() class IBootPrivateMethodTestCase(db_base.DbTestCase): - def setUp(self): - super(IBootPrivateMethodTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test__parse_driver_info_good(self): node = obj_utils.create_test_node( self.context, @@ -201,7 +196,6 @@ class IBootDriverTestCase(db_base.DbTestCase): def setUp(self): super(IBootDriverTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver='fake_iboot') self.driver = driver_factory.get_driver('fake_iboot') self.node = obj_utils.create_test_node( diff --git a/ironic/tests/drivers/test_ipminative.py b/ironic/tests/drivers/test_ipminative.py index 1b7af8e9cd..0f2e41e330 100644 --- a/ironic/tests/drivers/test_ipminative.py +++ b/ironic/tests/drivers/test_ipminative.py @@ -30,7 +30,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import console_utils from ironic.drivers.modules import ipminative from ironic.tests.conductor import utils as mgr_utils @@ -51,7 +50,6 @@ class IPMINativePrivateMethodTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_ipminative', driver_info=INFO_DICT) - self.dbapi = db_api.get_instance() self.info = ipminative._parse_driver_info(self.node) def test__parse_driver_info(self): @@ -220,7 +218,6 @@ class IPMINativeDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_ipminative', driver_info=INFO_DICT) - self.dbapi = db_api.get_instance() self.info = ipminative._parse_driver_info(self.node) def test_get_properties(self): diff --git a/ironic/tests/drivers/test_ipmitool.py b/ironic/tests/drivers/test_ipmitool.py index 822276f1fc..7babdd33cd 100644 --- a/ironic/tests/drivers/test_ipmitool.py +++ b/ironic/tests/drivers/test_ipmitool.py @@ -33,7 +33,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import console_utils from ironic.drivers.modules import ipmitool as ipmi from ironic.openstack.common import processutils @@ -854,7 +853,6 @@ class IPMIToolDriverTestCase(db_base.DbTestCase): def setUp(self): super(IPMIToolDriverTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager(driver="fake_ipmitool") self.driver = driver_factory.get_driver("fake_ipmitool") diff --git a/ironic/tests/drivers/test_iscsi_deploy.py b/ironic/tests/drivers/test_iscsi_deploy.py index 39af3239ba..e6eb8df6d4 100644 --- a/ironic/tests/drivers/test_iscsi_deploy.py +++ b/ironic/tests/drivers/test_iscsi_deploy.py @@ -23,7 +23,6 @@ from oslo.config import cfg from ironic.common import exception from ironic.common import utils -from ironic.db import api as dbapi from ironic.drivers.modules import deploy_utils from ironic.drivers.modules import iscsi_deploy from ironic.openstack.common import fileutils @@ -40,10 +39,6 @@ DRV_INFO_DICT = db_utils.get_test_pxe_driver_info() class IscsiDeployValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(IscsiDeployValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_parse_instance_info_good(self): # make sure we get back the expected things node = obj_utils.create_test_node(self.context, @@ -152,7 +147,6 @@ class IscsiDeployPrivateMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) def test__get_image_dir_path(self): @@ -177,7 +171,6 @@ class IscsiDeployMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) @mock.patch.object(deploy_utils, 'fetch_images') diff --git a/ironic/tests/drivers/test_pxe.py b/ironic/tests/drivers/test_pxe.py index b68bb162c1..882f004ae0 100644 --- a/ironic/tests/drivers/test_pxe.py +++ b/ironic/tests/drivers/test_pxe.py @@ -33,7 +33,6 @@ from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager from ironic.conductor import utils as manager_utils -from ironic.db import api as dbapi from ironic.drivers.modules import deploy_utils from ironic.drivers.modules import iscsi_deploy from ironic.drivers.modules import pxe @@ -52,10 +51,6 @@ DRV_INFO_DICT = db_utils.get_test_pxe_driver_info() class PXEValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(PXEValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test__parse_deploy_info(self): # make sure we get back the expected things node = obj_utils.create_test_node(self.context, @@ -107,7 +102,6 @@ class PXEPrivateMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) @mock.patch.object(base_image_service.BaseImageService, '_show') @@ -305,7 +299,6 @@ class PXEDriverTestCase(db_base.DbTestCase): driver='fake_pxe', instance_info=instance_info, driver_info=DRV_INFO_DICT) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) self.config(group='conductor', api_url='http://127.0.0.1:1234/') @@ -732,7 +725,6 @@ class CleanUpFullFlowTestCase(db_base.DbTestCase): driver='fake_pxe', instance_info=instance_info, driver_info=DRV_INFO_DICT) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) diff --git a/ironic/tests/drivers/test_seamicro.py b/ironic/tests/drivers/test_seamicro.py index b5000856eb..383e51115b 100644 --- a/ironic/tests/drivers/test_seamicro.py +++ b/ironic/tests/drivers/test_seamicro.py @@ -24,7 +24,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import seamicro from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base @@ -137,7 +136,6 @@ class SeaMicroPrivateMethodsTestCase(db_base.DbTestCase): 'driver': 'fake_seamicro', 'driver_info': INFO_DICT } - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) self.Server = Fake_Server self.Volume = Fake_Volume @@ -283,7 +281,6 @@ class SeaMicroPowerDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_seamicro', driver_info=INFO_DICT) - self.dbapi = dbapi.get_instance() self.get_server_patcher = mock.patch.object(seamicro, '_get_server') self.get_server_mock = None diff --git a/ironic/tests/drivers/test_snmp.py b/ironic/tests/drivers/test_snmp.py index 9c93820a4d..5bba4e8a84 100644 --- a/ironic/tests/drivers/test_snmp.py +++ b/ironic/tests/drivers/test_snmp.py @@ -29,7 +29,6 @@ from pysnmp import error as snmp_error from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import snmp as snmp from ironic.tests import base from ironic.tests.conductor import utils as mgr_utils @@ -996,7 +995,6 @@ class SNMPDriverTestCase(db_base.DbTestCase): def setUp(self): super(SNMPDriverTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager(driver='fake_snmp') self.node = obj_utils.create_test_node(self.context, diff --git a/ironic/tests/drivers/test_ssh.py b/ironic/tests/drivers/test_ssh.py index 53427f8fda..21d38481b4 100644 --- a/ironic/tests/drivers/test_ssh.py +++ b/ironic/tests/drivers/test_ssh.py @@ -25,7 +25,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import ssh from ironic.drivers import utils as driver_utils from ironic.openstack.common import processutils @@ -571,7 +570,6 @@ class SSHDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node( self.context, driver='fake_ssh', driver_info=db_utils.get_test_ssh_info()) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) self.sshclient = paramiko.SSHClient() diff --git a/ironic/tests/drivers/test_utils.py b/ironic/tests/drivers/test_utils.py index 0e5544f109..ec8c20f9d7 100644 --- a/ironic/tests/drivers/test_utils.py +++ b/ironic/tests/drivers/test_utils.py @@ -18,7 +18,6 @@ import mock from ironic.common import driver_factory from ironic.common import exception from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import fake from ironic.drivers import utils as driver_utils from ironic.tests.conductor import utils as mgr_utils @@ -30,7 +29,6 @@ class UtilsTestCase(db_base.DbTestCase): def setUp(self): super(UtilsTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") self.node = obj_utils.create_test_node(self.context) diff --git a/ironic/tests/objects/test_chassis.py b/ironic/tests/objects/test_chassis.py index ec31f28d94..cc7a596a36 100644 --- a/ironic/tests/objects/test_chassis.py +++ b/ironic/tests/objects/test_chassis.py @@ -18,7 +18,6 @@ from testtools.matchers import HasLength from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base @@ -30,7 +29,6 @@ class TestChassisObject(base.DbTestCase): def setUp(self): super(TestChassisObject, self).setUp() self.fake_chassis = utils.get_test_chassis() - self.dbapi = db_api.get_instance() def test_get_by_id(self): chassis_id = self.fake_chassis['id'] diff --git a/ironic/tests/objects/test_conductor.py b/ironic/tests/objects/test_conductor.py index 2df59c0346..aa7764a037 100644 --- a/ironic/tests/objects/test_conductor.py +++ b/ironic/tests/objects/test_conductor.py @@ -19,7 +19,6 @@ import datetime import mock from oslo.utils import timeutils -from ironic.db import api as db_api from ironic import objects from ironic.objects import utils as obj_utils from ironic.tests.db import base @@ -32,7 +31,6 @@ class TestConductorObject(base.DbTestCase): super(TestConductorObject, self).setUp() self.fake_conductor = utils.get_test_conductor( updated_at=timeutils.utcnow()) - self.dbapi = db_api.get_instance() def test_load(self): host = self.fake_conductor['hostname'] diff --git a/ironic/tests/objects/test_node.py b/ironic/tests/objects/test_node.py index 76c07048b8..9b4e78e45c 100644 --- a/ironic/tests/objects/test_node.py +++ b/ironic/tests/objects/test_node.py @@ -17,7 +17,6 @@ import mock from testtools.matchers import HasLength from ironic.common import exception -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base from ironic.tests.db import utils @@ -28,7 +27,6 @@ class TestNodeObject(base.DbTestCase): def setUp(self): super(TestNodeObject, self).setUp() self.fake_node = utils.get_test_node() - self.dbapi = db_api.get_instance() def test_get_by_id(self): node_id = self.fake_node['id'] diff --git a/ironic/tests/objects/test_objects.py b/ironic/tests/objects/test_objects.py index fb5d4b50d6..b7fde013c2 100644 --- a/ironic/tests/objects/test_objects.py +++ b/ironic/tests/objects/test_objects.py @@ -26,7 +26,6 @@ from ironic.objects import base from ironic.objects import utils from ironic.openstack.common import context from ironic.tests import base as test_base -from ironic.tests.db import base as db_base gettext.install('ironic') @@ -124,7 +123,7 @@ class TestMetaclass(test_base.TestCase): self.assertEqual(expected, Test2._obj_classes) -class TestUtils(db_base.DbTestCase): +class TestUtils(test_base.TestCase): def test_datetime_or_none(self): naive_dt = datetime.datetime.now() @@ -212,7 +211,7 @@ class TestUtils(db_base.DbTestCase): base.obj_to_primitive(mylist)) -class _BaseTestCase(db_base.DbTestCase): +class _BaseTestCase(test_base.TestCase): def setUp(self): super(_BaseTestCase, self).setUp() self.remote_object_calls = list() @@ -513,7 +512,7 @@ class TestObject(_LocalTest, _TestObject): pass -class TestObjectListBase(db_base.DbTestCase): +class TestObjectListBase(test_base.TestCase): def test_list_like_operations(self): class Foo(base.ObjectListBase, base.IronicObject): @@ -590,7 +589,7 @@ class TestObjectListBase(db_base.DbTestCase): self.assertEqual(set(), obj.obj_what_changed()) -class TestObjectSerializer(db_base.DbTestCase): +class TestObjectSerializer(test_base.TestCase): def test_serialize_entity_primitive(self): ser = base.IronicObjectSerializer() diff --git a/ironic/tests/objects/test_port.py b/ironic/tests/objects/test_port.py index 4d02758869..c9baa8cc71 100644 --- a/ironic/tests/objects/test_port.py +++ b/ironic/tests/objects/test_port.py @@ -17,7 +17,6 @@ import mock from testtools.matchers import HasLength from ironic.common import exception -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base from ironic.tests.db import utils @@ -28,7 +27,6 @@ class TestPortObject(base.DbTestCase): def setUp(self): super(TestPortObject, self).setUp() self.fake_port = utils.get_test_port() - self.dbapi = db_api.get_instance() def test_get_by_id(self): port_id = self.fake_port['id'] diff --git a/ironic/tests/test_hash_ring.py b/ironic/tests/test_hash_ring.py index 63b5884f46..8dadb34a73 100644 --- a/ironic/tests/test_hash_ring.py +++ b/ironic/tests/test_hash_ring.py @@ -18,7 +18,6 @@ from testtools import matchers from ironic.common import exception from ironic.common import hash_ring -from ironic.db import api as dbapi from ironic.tests import base from ironic.tests.db import base as db_base @@ -199,7 +198,6 @@ class HashRingManagerTestCase(db_base.DbTestCase): def setUp(self): super(HashRingManagerTestCase, self).setUp() self.ring_manager = hash_ring.HashRingManager() - self.dbapi = dbapi.get_instance() def register_conductors(self): self.dbapi.register_conductor({ diff --git a/ironic/tests/test_network.py b/ironic/tests/test_network.py index c7aa57cb33..a7f5ea9e05 100644 --- a/ironic/tests/test_network.py +++ b/ironic/tests/test_network.py @@ -16,7 +16,6 @@ from ironic.common import network from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base from ironic.tests.db import utils as db_utils @@ -28,7 +27,6 @@ class TestNetwork(db_base.DbTestCase): def setUp(self): super(TestNetwork, self).setUp() mgr_utils.mock_the_extension_manager(driver='fake') - self.dbapi = dbapi.get_instance() self.node = object_utils.create_test_node(self.context) def _create_test_port(self, **kwargs): diff --git a/ironic/tests/test_pxe_utils.py b/ironic/tests/test_pxe_utils.py index 4cbf280b50..5ead4c7dc0 100644 --- a/ironic/tests/test_pxe_utils.py +++ b/ironic/tests/test_pxe_utils.py @@ -21,7 +21,6 @@ from oslo.config import cfg from ironic.common import pxe_utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base from ironic.tests.objects import utils as object_utils @@ -34,7 +33,6 @@ class TestPXEUtils(db_base.DbTestCase): def setUp(self): super(TestPXEUtils, self).setUp() mgr_utils.mock_the_extension_manager(driver="fake") - self.dbapi = dbapi.get_instance() self.pxe_options = { 'deployment_key': '0123456789ABCDEFGHIJKLMNOPQRSTUV', 'ari_path': u'/tftpboot/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/'