diff options
author | Doug Hellmann <doug@doughellmann.com> | 2015-02-05 13:15:47 -0500 |
---|---|---|
committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-02-06 00:41:42 -0500 |
commit | 3eb921578aa27a759b06a963055296689dec043e (patch) | |
tree | d4f049d98bd8647e0b01e361bf717c8f53c49a23 | |
parent | df5d80759e7c7a05d7a8ef8120d86bb934b23b37 (diff) | |
download | oslo-policy-3eb921578aa27a759b06a963055296689dec043e.tar.gz |
Do not use global enforcer for tests
Have each test instantiate its own enforcer object with a private
configuration.
Change-Id: I5eb354f0149be4bd4ec3eeb46ce9274b04781c9a
-rw-r--r-- | oslo_policy/tests/base.py | 8 | ||||
-rw-r--r-- | oslo_policy/tests/test_checks.py | 29 |
2 files changed, 13 insertions, 24 deletions
diff --git a/oslo_policy/tests/base.py b/oslo_policy/tests/base.py index e166cb2..d138438 100644 --- a/oslo_policy/tests/base.py +++ b/oslo_policy/tests/base.py @@ -14,7 +14,7 @@ # under the License. import os.path -from oslo_concurrency.fixture import lockutils + from oslo_config import cfg from oslo_config import fixture as config from oslotest import base as test_base @@ -23,19 +23,15 @@ from oslo_policy import policy TEST_VAR_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'tests/var')) -ENFORCER = policy.Enforcer(cfg.CONF) class PolicyBaseTestCase(test_base.BaseTestCase): def setUp(self): super(PolicyBaseTestCase, self).setUp() - # NOTE(bnemec): Many of these tests use the same ENFORCER object, so - # I believe we need to serialize them. - self.useFixture(lockutils.LockFixture('policy-lock')) self.CONF = self.useFixture(config.Config()).conf self.CONF(args=['--config-dir', TEST_VAR_DIR]) - self.enforcer = ENFORCER + self.enforcer = policy.Enforcer(cfg.CONF) self.addCleanup(self.enforcer.clear) diff --git a/oslo_policy/tests/test_checks.py b/oslo_policy/tests/test_checks.py index 93818e4..001f506 100644 --- a/oslo_policy/tests/test_checks.py +++ b/oslo_policy/tests/test_checks.py @@ -26,9 +26,6 @@ from oslo_policy import policy from oslo_policy.tests import base -ENFORCER = base.ENFORCER - - class CheckRegisterTestCase(test_base.BaseTestCase): @mock.patch.object(_checks, 'registered_checks', {}) def test_register_check(self): @@ -48,33 +45,29 @@ class CheckRegisterTestCase(test_base.BaseTestCase): self.assertEqual(_checks.registered_checks, dict(spam=TestCheck)) -class RuleCheckTestCase(test_base.BaseTestCase): - @mock.patch.object(ENFORCER, 'rules', {}) +class RuleCheckTestCase(base.PolicyBaseTestCase): def test_rule_missing(self): + self.enforcer.rules = {} check = _checks.RuleCheck('rule', 'spam') - self.assertEqual(check('target', 'creds', ENFORCER), False) + self.assertEqual(check('target', 'creds', self.enforcer), False) - @mock.patch.object(ENFORCER, 'rules', - dict(spam=mock.Mock(return_value=False))) def test_rule_false(self): - enforcer = ENFORCER + self.enforcer.rules = dict(spam=mock.Mock(return_value=False)) check = _checks.RuleCheck('rule', 'spam') - self.assertEqual(check('target', 'creds', enforcer), False) - enforcer.rules['spam'].assert_called_once_with('target', 'creds', - enforcer) + self.assertEqual(check('target', 'creds', self.enforcer), False) + self.enforcer.rules['spam'].assert_called_once_with('target', 'creds', + self.enforcer) - @mock.patch.object(ENFORCER, 'rules', - dict(spam=mock.Mock(return_value=True))) def test_rule_true(self): - enforcer = ENFORCER + self.enforcer.rules = dict(spam=mock.Mock(return_value=True)) check = _checks.RuleCheck('rule', 'spam') - self.assertEqual(check('target', 'creds', enforcer), True) - enforcer.rules['spam'].assert_called_once_with('target', 'creds', - enforcer) + self.assertEqual(check('target', 'creds', self.enforcer), True) + self.enforcer.rules['spam'].assert_called_once_with('target', 'creds', + self.enforcer) class RoleCheckTestCase(base.PolicyBaseTestCase): |