diff options
| author | Theron Luhn <theron@luhn.com> | 2019-03-30 10:31:17 -0700 |
|---|---|---|
| committer | Theron Luhn <theron@luhn.com> | 2019-03-30 10:31:17 -0700 |
| commit | 6aba89d19cc384021864d3b83d53082f56c3f419 (patch) | |
| tree | b58eb5b0ada99abdfe12108eb3ad1f6b8664a82a /tests/test_security.py | |
| parent | 31998bcdd0396316c1a0fdeb50bee59e4b9e14ed (diff) | |
| download | pyramid-6aba89d19cc384021864d3b83d53082f56c3f419.tar.gz pyramid-6aba89d19cc384021864d3b83d53082f56c3f419.tar.bz2 pyramid-6aba89d19cc384021864d3b83d53082f56c3f419.zip | |
Add SessionAuthenticationHelper.
Diffstat (limited to 'tests/test_security.py')
| -rw-r--r-- | tests/test_security.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_security.py b/tests/test_security.py index b91aa7682..73d8ba6fc 100644 --- a/tests/test_security.py +++ b/tests/test_security.py @@ -886,3 +886,52 @@ GUEST_PERMS = (VIEW, COMMENT) MEMBER_PERMS = GUEST_PERMS + (EDIT, CREATE, DELETE) MODERATOR_PERMS = MEMBER_PERMS + (MODERATE,) ADMINISTRATOR_PERMS = MODERATOR_PERMS + (ADMINISTER,) + + +class TestSessionAuthenticationHelper(unittest.TestCase): + def _makeRequest(self, session=None): + from types import SimpleNamespace + if session is None: + session = dict() + return SimpleNamespace(session=session) + + def _makeOne(self, prefix=''): + from pyramid.security import SessionAuthenticationHelper + + return SessionAuthenticationHelper(prefix=prefix) + + def test_identify(self): + request = self._makeRequest({'userid': 'fred'}) + helper = self._makeOne() + self.assertEqual(helper.identify(request), 'fred') + + def test_identify_with_prefix(self): + request = self._makeRequest({'foo.userid': 'fred'}) + helper = self._makeOne(prefix='foo.') + self.assertEqual(helper.identify(request), 'fred') + + def test_identify_none(self): + request = self._makeRequest() + helper = self._makeOne() + self.assertEqual(helper.identify(request), None) + + def test_remember(self): + request = self._makeRequest() + helper = self._makeOne() + result = helper.remember(request, 'fred') + self.assertEqual(request.session.get('userid'), 'fred') + self.assertEqual(result, []) + + def test_forget(self): + request = self._makeRequest({'userid': 'fred'}) + helper = self._makeOne() + result = helper.forget(request) + self.assertEqual(request.session.get('userid'), None) + self.assertEqual(result, []) + + def test_forget_no_identity(self): + request = self._makeRequest() + helper = self._makeOne() + result = helper.forget(request) + self.assertEqual(request.session.get('userid'), None) + self.assertEqual(result, []) |
