From 4ac0ff3cace7dd91c3f3d945b96932deb610d4f7 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 16 Jul 2008 10:48:38 +0000 Subject: Add convenience has_permission function. --- repoze/bfg/tests/test_security.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'repoze/bfg/tests/test_security.py') diff --git a/repoze/bfg/tests/test_security.py b/repoze/bfg/tests/test_security.py index 8a4c624e9..832cc8a43 100644 --- a/repoze/bfg/tests/test_security.py +++ b/repoze/bfg/tests/test_security.py @@ -276,6 +276,27 @@ class RemoteUserACLSecurityPolicy(unittest.TestCase, PlacelessSetup): self.assertEqual(authorizer_factory.permission, 'view') self.assertEqual(authorizer_factory.context, context) +class TestHasPermission(unittest.TestCase): + def _getFUT(self): + from repoze.bfg.security import has_permission + return has_permission + + def _registerSecurityPolicy(self, secpol): + import zope.component + gsm = zope.component.getGlobalSiteManager() + from repoze.bfg.interfaces import ISecurityPolicy + gsm.registerUtility(secpol, ISecurityPolicy) + + def test_registered(self): + secpol = DummySecurityPolicy(False) + self._registerSecurityPolicy(secpol) + has_permission = self._getFUT() + self.assertEqual(has_permission('view', None, None), False) + + def test_not_registered(self): + has_permission = self._getFUT() + self.assertEqual(has_permission('view', None, None), True) + class TestViewPermission(unittest.TestCase): def _getTargetClass(self): @@ -352,7 +373,9 @@ class make_authorizer_factory: raise NoAuthorizationInformation() return result return Authorizer() - + + + -- cgit v1.2.3