diff options
| author | Theron Luhn <theron@luhn.com> | 2019-02-26 17:49:36 -0800 |
|---|---|---|
| committer | Theron Luhn <theron@luhn.com> | 2019-02-26 17:49:36 -0800 |
| commit | aae1c513c0a940c1c31c97b4d79fec3d09cbd01e (patch) | |
| tree | 19f33de44c58daad78be653b978de3ab1023fe41 /tests/test_security.py | |
| parent | f1709eb287f6a2a4bf7504d5d18c2e7a529636f1 (diff) | |
| download | pyramid-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.py | 46 |
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 |
