summaryrefslogtreecommitdiff
path: root/tests/test_security.py
diff options
context:
space:
mode:
authorTheron Luhn <theron@luhn.com>2019-02-26 17:49:36 -0800
committerTheron Luhn <theron@luhn.com>2019-02-26 17:49:36 -0800
commitaae1c513c0a940c1c31c97b4d79fec3d09cbd01e (patch)
tree19f33de44c58daad78be653b978de3ab1023fe41 /tests/test_security.py
parentf1709eb287f6a2a4bf7504d5d18c2e7a529636f1 (diff)
downloadpyramid-aae1c513c0a940c1c31c97b4d79fec3d09cbd01e.tar.gz
pyramid-aae1c513c0a940c1c31c97b4d79fec3d09cbd01e.tar.bz2
pyramid-aae1c513c0a940c1c31c97b4d79fec3d09cbd01e.zip
Add `request.identity`.
Diffstat (limited to 'tests/test_security.py')
-rw-r--r--tests/test_security.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test_security.py b/tests/test_security.py
index ee4340ced..514175a92 100644
--- a/tests/test_security.py
+++ b/tests/test_security.py
@@ -338,6 +338,23 @@ class TestViewExecutionPermitted(unittest.TestCase):
self.assertTrue(result)
+class TestIdentity(unittest.TestCase):
+ def setUp(self):
+ testing.setUp()
+
+ def tearDown(self):
+ testing.tearDown()
+
+ def test_identity_no_security_policy(self):
+ request = _makeRequest()
+ self.assertEquals(request.identity, None)
+
+ def test_identity(self):
+ request = _makeRequest()
+ _registerSecurityPolicy(request.registry, 'yo')
+ self.assertEqual(request.identity, 'yo')
+
+
class TestAuthenticatedUserId(unittest.TestCase):
def setUp(self):
testing.setUp()
@@ -533,6 +550,27 @@ class DummyContext:
self.__dict__.update(kw)
+class DummySecurityPolicy:
+ def __init__(self, result):
+ self.result = result
+
+ def identify(self, request):
+ return self.result
+
+ def permits(self, request, context, identity, permission):
+ return self.result
+
+ def remember(self, request, userid, **kw):
+ headers = [(_TEST_HEADER, userid)]
+ self._header_remembered = headers[0]
+ return headers
+
+ def forget(self, request):
+ headers = [(_TEST_HEADER, 'logout')]
+ self._header_forgotten = headers[0]
+ return headers
+
+
class DummyAuthenticationPolicy:
def __init__(self, result):
self.result = result
@@ -568,6 +606,14 @@ class DummyAuthorizationPolicy:
return self.result
+def _registerSecurityPolicy(reg, result):
+ from pyramid.interfaces import ISecurityPolicy
+
+ policy = DummySecurityPolicy(result)
+ reg.registerUtility(policy, ISecurityPolicy)
+ return policy
+
+
def _registerAuthenticationPolicy(reg, result):
from pyramid.interfaces import IAuthenticationPolicy