diff options
Diffstat (limited to 'repoze/bfg/tests/test_security.py')
| -rw-r--r-- | repoze/bfg/tests/test_security.py | 25 |
1 files changed, 24 insertions, 1 deletions
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() - + + + |
