diff options
| 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 |
| commit | 70a23ba6e872ae03988caa322f8dd2b03770515c (patch) | |
| tree | 06ffd4c5c36b4cb5b3723cb6e3a25d2fbec0572b /tests | |
| parent | baa59284e1ee26284ecb68d957d5607e40ed786f (diff) | |
| download | pyramid-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.py | 23 | ||||
| -rw-r--r-- | tests/test_config/test_routes.py | 12 | ||||
| -rw-r--r-- | tests/test_config/test_views.py | 40 | ||||
| -rw-r--r-- | tests/test_security.py | 23 |
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() |
