From 51f5690bea969312b7869905433873682e20bd8b Mon Sep 17 00:00:00 2001 From: Pavlo Shchelokovskyy Date: Thu, 3 Mar 2016 12:11:16 +0200 Subject: [PATCH] Refactor base test classes - use config fixture - init test config only for unit tests Change-Id: Ie460b550031f49c53375270ded240131cb5f124d --- ironic_inspector/test/base.py | 35 ++++++++++++----------------- ironic_inspector/test/functional.py | 1 + 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ironic_inspector/test/base.py b/ironic_inspector/test/base.py index 2c09e3943..04dc0316a 100644 --- a/ironic_inspector/test/base.py +++ b/ironic_inspector/test/base.py @@ -11,12 +11,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -import unittest +import fixtures import futurist import mock from oslo_concurrency import lockutils from oslo_config import cfg +from oslo_config import fixture as config_fixture from oslo_log import log from oslo_utils import uuidutils @@ -31,30 +32,14 @@ from ironic_inspector import utils CONF = cfg.CONF -def init_test_conf(): - try: - # Functional tests - CONF.reload_config_files() - # Unit tests - except Exception: - CONF.reset() - for group in ('firewall', 'processing', 'ironic', 'discoverd'): - CONF.register_group(cfg.OptGroup(group)) - try: - # Functional tests - log.register_options(CONF) - except Exception: - # Unit tests - pass - CONF.set_default('connection', "sqlite:///", group='database') - CONF.set_default('slave_connection', False, group='database') - CONF.set_default('max_retries', 10, group='database') +class BaseTest(fixtures.TestWithFixtures): + IS_FUNCTIONAL = False -class BaseTest(unittest.TestCase): def setUp(self): super(BaseTest, self).setUp() - init_test_conf() + if not self.IS_FUNCTIONAL: + self.init_test_conf() self.session = db.get_session() engine = db.get_engine() db.Base.metadata.create_all(engine) @@ -69,6 +54,14 @@ class BaseTest(unittest.TestCase): self.addCleanup(lambda p=patch: p.stop()) utils._EXECUTOR = futurist.SynchronousExecutor(green=True) + def init_test_conf(self): + CONF.reset() + log.register_options(CONF) + self.cfg = self.useFixture(config_fixture.Config(CONF)) + self.cfg.set_default('connection', "sqlite:///", group='database') + self.cfg.set_default('slave_connection', False, group='database') + self.cfg.set_default('max_retries', 10, group='database') + def assertPatchEqual(self, expected, actual): expected = sorted(expected, key=lambda p: p['path']) actual = sorted(actual, key=lambda p: p['path']) diff --git a/ironic_inspector/test/functional.py b/ironic_inspector/test/functional.py index deeea4c44..b9c3b8e8d 100644 --- a/ironic_inspector/test/functional.py +++ b/ironic_inspector/test/functional.py @@ -56,6 +56,7 @@ DEFAULT_SLEEP = 2 class Base(base.NodeTest): ROOT_URL = 'http://127.0.0.1:5050' + IS_FUNCTIONAL = True def setUp(self): super(Base, self).setUp()