summaryrefslogtreecommitdiff
path: root/tests/test_authentication.py
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2019-09-30 22:23:02 -0500
committerGitHub <noreply@github.com>2019-09-30 22:23:02 -0500
commit849463d3c2f5ad2c89b3d10a2abce63e4892082d (patch)
tree5bc507d427d8d2000c59ad7837cc03099decf1b5 /tests/test_authentication.py
parentada0a977d9190520c21ffaf9500860db2f3a1b3e (diff)
parentcdb26610782176955cd8cfb0b3c3e242ca819f74 (diff)
downloadpyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.tar.gz
pyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.tar.bz2
pyramid-849463d3c2f5ad2c89b3d10a2abce63e4892082d.zip
Merge pull request #3465 from luhn/security-policy
Security policy implementation
Diffstat (limited to 'tests/test_authentication.py')
-rw-r--r--tests/test_authentication.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/test_authentication.py b/tests/test_authentication.py
index 8671eba05..710e87423 100644
--- a/tests/test_authentication.py
+++ b/tests/test_authentication.py
@@ -1693,6 +1693,56 @@ class TestSessionAuthenticationPolicy(unittest.TestCase):
self.assertEqual(result, [])
+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.authentication 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, [])
+
+
class TestBasicAuthAuthenticationPolicy(unittest.TestCase):
def _getTargetClass(self):
from pyramid.authentication import BasicAuthAuthenticationPolicy as cls