summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pyramid/testing.py5
-rw-r--r--tests/test_testing.py7
2 files changed, 11 insertions, 1 deletions
diff --git a/src/pyramid/testing.py b/src/pyramid/testing.py
index 6831ea4e2..ffddd233f 100644
--- a/src/pyramid/testing.py
+++ b/src/pyramid/testing.py
@@ -89,7 +89,10 @@ class DummySecurityPolicy(object):
return self.permissive
def principals_allowed_by_permission(self, context, permission):
- return self.effective_principals(None)
+ if self.permissive:
+ return self.effective_principals(None)
+ else:
+ return []
class DummyTemplateRenderer(object):
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 5e11c2487..5b3ad0f22 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -63,6 +63,13 @@ class TestDummySecurityPolicy(unittest.TestCase):
result = policy.principals_allowed_by_permission(None, None)
self.assertEqual(result, [Everyone, Authenticated, 'user', 'group1'])
+ def test_principals_allowed_by_permission_not_permissive(self):
+ policy = self._makeOne('user', ('group1',))
+ policy.permissive = False
+
+ result = policy.principals_allowed_by_permission(None, None)
+ self.assertEqual(result, [])
+
def test_forget(self):
policy = self._makeOne()
self.assertEqual(policy.forget(None), [])