summaryrefslogtreecommitdiff
path: root/tests/test_security.py
diff options
context:
space:
mode:
authorTheron Luhn <theron@luhn.com>2019-03-30 10:31:17 -0700
committerTheron Luhn <theron@luhn.com>2019-03-30 10:31:17 -0700
commit6aba89d19cc384021864d3b83d53082f56c3f419 (patch)
treeb58eb5b0ada99abdfe12108eb3ad1f6b8664a82a /tests/test_security.py
parent31998bcdd0396316c1a0fdeb50bee59e4b9e14ed (diff)
downloadpyramid-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.py49
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, [])