summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Hellmann <doug@doughellmann.com>2015-02-05 13:15:47 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2015-02-06 00:41:42 -0500
commit3eb921578aa27a759b06a963055296689dec043e (patch)
treed4f049d98bd8647e0b01e361bf717c8f53c49a23
parentdf5d80759e7c7a05d7a8ef8120d86bb934b23b37 (diff)
downloadoslo-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.py8
-rw-r--r--oslo_policy/tests/test_checks.py29
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):