summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2020-07-01 18:33:12 -0400
committerÉric Araujo <merwok@netwok.org>2020-07-02 13:09:45 -0400
commit70a23ba6e872ae03988caa322f8dd2b03770515c (patch)
tree06ffd4c5c36b4cb5b3723cb6e3a25d2fbec0572b /tests
parentbaa59284e1ee26284ecb68d957d5607e40ed786f (diff)
downloadpyramid-70a23ba6e872ae03988caa322f8dd2b03770515c.tar.gz
pyramid-70a23ba6e872ae03988caa322f8dd2b03770515c.tar.bz2
pyramid-70a23ba6e872ae03988caa322f8dd2b03770515c.zip
add tests and docs
Diffstat (limited to 'tests')
-rw-r--r--tests/test_config/test_predicates.py23
-rw-r--r--tests/test_config/test_routes.py12
-rw-r--r--tests/test_config/test_views.py40
-rw-r--r--tests/test_security.py23
4 files changed, 94 insertions, 4 deletions
diff --git a/tests/test_config/test_predicates.py b/tests/test_config/test_predicates.py
index 6797e71bc..7e2f32786 100644
--- a/tests/test_config/test_predicates.py
+++ b/tests/test_config/test_predicates.py
@@ -454,13 +454,28 @@ class TestPredicateList(unittest.TestCase):
self.assertFalse(predicates[0](Dummy(), request))
def test_is_authenticated_true_matches(self):
- ...
+ _, predicates, _ = self._callFUT(is_authenticated=True)
+ request = DummyRequest()
+ request.is_authenticated = True
+ self.assertTrue(predicates[0](Dummy(), request))
+
def test_is_authenticated_true_fails(self):
- ...
+ _, predicates, _ = self._callFUT(is_authenticated=True)
+ request = DummyRequest()
+ request.is_authenticated = False
+ self.assertFalse(predicates[0](Dummy(), request))
+
def test_is_authenticated_false_matches(self):
- ...
+ _, predicates, _ = self._callFUT(is_authenticated=False)
+ request = DummyRequest()
+ request.is_authenticated = False
+ self.assertTrue(predicates[0](Dummy(), request))
+
def test_is_authenticated_false_fails(self):
- ...
+ _, predicates, _ = self._callFUT(is_authenticated=False)
+ request = DummyRequest()
+ request.is_authenticated = True
+ self.assertFalse(predicates[0](Dummy(), request))
def test_unknown_predicate(self):
from pyramid.exceptions import ConfigurationError
diff --git a/tests/test_config/test_routes.py b/tests/test_config/test_routes.py
index 8227784ec..605f61857 100644
--- a/tests/test_config/test_routes.py
+++ b/tests/test_config/test_routes.py
@@ -184,6 +184,18 @@ class RoutesConfiguratorMixinTests(unittest.TestCase):
request.params = {}
self.assertEqual(predicate(None, request), False)
+ def test_add_route_with_is_authenticated(self):
+ config = self._makeOne(autocommit=True)
+ config.add_route('name', 'path', is_authenticated=True)
+ route = self._assertRoute(config, 'name', 'path', 1)
+ predicate = route.predicates[0]
+ request = self._makeRequest(config)
+ request.is_authenticated = True
+ self.assertEqual(predicate(None, request), True)
+ request = self._makeRequest(config)
+ request.is_authenticated = False
+ self.assertEqual(predicate(None, request), False)
+
def test_add_route_with_custom_predicates(self):
import warnings
diff --git a/tests/test_config/test_views.py b/tests/test_config/test_views.py
index 2a55ad45d..09714d82e 100644
--- a/tests/test_config/test_views.py
+++ b/tests/test_config/test_views.py
@@ -1742,6 +1742,46 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request.is_xhr = False
self._assertNotFound(wrapper, None, request)
+ def test_add_view_with_is_authenticated_true_matches(self):
+ from pyramid.renderers import null_renderer as nr
+
+ view = lambda *arg: 'OK'
+ config = self._makeOne(autocommit=True)
+ config.add_view(view=view, is_authenticated=True, renderer=nr)
+ wrapper = self._getViewCallable(config)
+ request = self._makeRequest(config)
+ request.is_authenticated = True
+ self.assertEqual(wrapper(None, request), 'OK')
+
+ def test_add_view_with_is_authenticated_true_no_match(self):
+ view = lambda *arg: 'OK'
+ config = self._makeOne(autocommit=True)
+ config.add_view(view=view, is_authenticated=True)
+ wrapper = self._getViewCallable(config)
+ request = self._makeRequest(config)
+ request.is_authenticated = False
+ self._assertNotFound(wrapper, None, request)
+
+ def test_add_view_with_is_authenticated_false_matches(self):
+ from pyramid.renderers import null_renderer as nr
+
+ view = lambda *arg: 'OK'
+ config = self._makeOne(autocommit=True)
+ config.add_view(view=view, is_authenticated=False, renderer=nr)
+ wrapper = self._getViewCallable(config)
+ request = self._makeRequest(config)
+ request.is_authenticated = False
+ self.assertEqual(wrapper(None, request), 'OK')
+
+ def test_add_view_with_is_authenticated_false_no_match(self):
+ view = lambda *arg: 'OK'
+ config = self._makeOne(autocommit=True)
+ config.add_view(view=view, is_authenticated=False)
+ wrapper = self._getViewCallable(config)
+ request = self._makeRequest(config)
+ request.is_authenticated = True
+ self._assertNotFound(wrapper, None, request)
+
def test_add_view_with_header_badregex(self):
view = lambda *arg: 'OK'
config = self._makeOne()
diff --git a/tests/test_security.py b/tests/test_security.py
index bf2908100..72598f570 100644
--- a/tests/test_security.py
+++ b/tests/test_security.py
@@ -393,6 +393,29 @@ class TestUnAuthenticatedUserId(unittest.TestCase):
self.assertEqual(request.unauthenticated_userid, 'wat')
+class TestIsAuthenticated(unittest.TestCase):
+ def setUp(self):
+ testing.setUp()
+
+ def tearDown(self):
+ testing.tearDown()
+
+ def test_no_security_policy(self):
+ request = _makeRequest()
+ self.assertIs(request.is_authenticated, False)
+
+ def test_with_security_policy(self):
+ request = _makeRequest()
+ _registerSecurityPolicy(request.registry, '123')
+ self.assertIs(request.is_authenticated, True)
+
+ def test_with_legacy_security_policy(self):
+ request = _makeRequest()
+ _registerAuthenticationPolicy(request.registry, 'yo')
+ _registerLegacySecurityPolicy(request.registry)
+ self.assertEqual(request.authenticated_userid, 'yo')
+
+
class TestEffectivePrincipals(unittest.TestCase):
def setUp(self):
testing.setUp()