summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_security.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-25 17:52:01 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-25 17:52:01 +0000
commit7c7158db8d4e1a3cc52211b2ab5d679fab948823 (patch)
tree3c0995b334d4c49849f8c95bc5d9c37cbcb4cfdf /repoze/bfg/tests/test_security.py
parent23277531195c7d218f8d43768976e5fefb053991 (diff)
downloadpyramid-7c7158db8d4e1a3cc52211b2ab5d679fab948823.tar.gz
pyramid-7c7158db8d4e1a3cc52211b2ab5d679fab948823.tar.bz2
pyramid-7c7158db8d4e1a3cc52211b2ab5d679fab948823.zip
Minor speed tweaks.
Diffstat (limited to 'repoze/bfg/tests/test_security.py')
-rw-r--r--repoze/bfg/tests/test_security.py59
1 files changed, 33 insertions, 26 deletions
diff --git a/repoze/bfg/tests/test_security.py b/repoze/bfg/tests/test_security.py
index d6d653dba..3ee89d9c3 100644
--- a/repoze/bfg/tests/test_security.py
+++ b/repoze/bfg/tests/test_security.py
@@ -38,7 +38,7 @@ class TestACLSecurityPolicy(unittest.TestCase):
self.assertEqual(result.permission, 'view')
self.assertEqual(result.context, context)
- def test_permits_no_principals_acl_info_on_context(self):
+ def test_permits_no_principals_empty_acl_info_on_context(self):
context = DummyContext()
context.__acl__ = []
request = DummyRequest({})
@@ -50,7 +50,7 @@ class TestACLSecurityPolicy(unittest.TestCase):
self.assertEqual(result.permission, 'view')
self.assertEqual(result.context, context)
- def test_permits_no_principals_withparents_root_has_acl_info(self):
+ def test_permits_no_principals_root_has_empty_acl_info(self):
context = DummyContext()
context.__name__ = None
context.__parent__ = None
@@ -67,7 +67,7 @@ class TestACLSecurityPolicy(unittest.TestCase):
self.assertEqual(result.permission, 'view')
self.assertEqual(result.context, context)
- def test_permits_no_principals_withparents_root_allows_everyone(self):
+ def test_permits_no_principals_root_allows_everyone(self):
context = DummyContext()
context.__name__ = None
context.__parent__ = None
@@ -127,27 +127,22 @@ class TestACLSecurityPolicy(unittest.TestCase):
self.assertEqual(result.context, context)
self.assertEqual(result.ace, None)
- def test_permits_allow_via_location_parent(self):
- from repoze.bfg.security import Allow, Authenticated, Everyone
+ def test_permits_allow_twoacl_multiperm(self):
+ from repoze.bfg.security import Allow, Deny, Authenticated, Everyone
context = DummyContext()
- context.__parent__ = None
- context.__name__ = None
- context.__acl__ = [ (Allow, 'fred', 'read') ]
- context2 = DummyContext()
- context2.__parent__ = context
- context2.__name__ = 'myname'
-
+ acl = [ (Allow, 'fred', ('write', 'view') ), (Deny, 'fred', 'view') ]
+ context.__acl__ = acl
policy = self._makeOne(lambda *arg: ['fred'])
request = DummyRequest({})
- result = policy.permits(context2, request, 'read')
+ result = policy.permits(context, request, 'view')
self.assertEqual(result, True)
self.assertEqual(result.principals,
set(['fred', Authenticated, Everyone]))
- self.assertEqual(result.permission, 'read')
+ self.assertEqual(result.permission, 'view')
self.assertEqual(result.context, context)
- self.assertEqual(result.ace, ('Allow', 'fred', 'read'))
+ self.assertEqual(result.ace, (Allow, 'fred', ('write', 'view') ))
- def test_permits_multipermission(self):
+ def test_permits_deny_twoacl_multiperm(self):
from repoze.bfg.security import Allow, Deny, Authenticated, Everyone
context = DummyContext()
acl = []
@@ -164,6 +159,26 @@ class TestACLSecurityPolicy(unittest.TestCase):
self.assertEqual(result.context, context)
self.assertEqual(result.ace, deny)
+ def test_permits_allow_via_location_parent(self):
+ from repoze.bfg.security import Allow, Authenticated, Everyone
+ context = DummyContext()
+ context.__parent__ = None
+ context.__name__ = None
+ context.__acl__ = [ (Allow, 'fred', 'read') ]
+ context2 = DummyContext()
+ context2.__parent__ = context
+ context2.__name__ = 'myname'
+
+ policy = self._makeOne(lambda *arg: ['fred'])
+ request = DummyRequest({})
+ result = policy.permits(context2, request, 'read')
+ self.assertEqual(result, True)
+ self.assertEqual(result.principals,
+ set(['fred', Authenticated, Everyone]))
+ self.assertEqual(result.permission, 'read')
+ self.assertEqual(result.context, context)
+ self.assertEqual(result.ace, ('Allow', 'fred', 'read'))
+
def test_permits_deny_byorder(self):
from repoze.bfg.security import Allow, Deny, Authenticated, Everyone
context = DummyContext()
@@ -518,16 +533,8 @@ class TestACLDenied(unittest.TestCase):
class TestFlatten(unittest.TestCase):
def _callFUT(self, item):
- from repoze.bfg.security import flatten
- return flatten(item)
-
- def test_str(self):
- result = self._callFUT('a')
- self.assertEqual(result, ['a'])
-
- def test_unicode(self):
- result = self._callFUT(u'a')
- self.assertEqual(result, [u'a'])
+ from repoze.bfg.security import _flatten
+ return _flatten(item)
def test_flat_sequence(self):
result = self._callFUT([1, 2, 3])