diff options
| author | Éric Araujo <merwok@netwok.org> | 2020-06-22 16:33:13 -0400 |
|---|---|---|
| committer | Éric Araujo <merwok@netwok.org> | 2020-06-22 16:33:13 -0400 |
| commit | baa59284e1ee26284ecb68d957d5607e40ed786f (patch) | |
| tree | f41bff89b8c65ea4bcdc557a4e1dd4c35ddb4f1c /tests | |
| parent | 48a04855ad4f1f1ae6af934090f35a4ad035ed67 (diff) | |
| download | pyramid-baa59284e1ee26284ecb68d957d5607e40ed786f.tar.gz pyramid-baa59284e1ee26284ecb68d957d5607e40ed786f.tar.bz2 pyramid-baa59284e1ee26284ecb68d957d5607e40ed786f.zip | |
first shot for #1602
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_config/test_predicates.py | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/tests/test_config/test_predicates.py b/tests/test_config/test_predicates.py index 8017fc898..6797e71bc 100644 --- a/tests/test_config/test_predicates.py +++ b/tests/test_config/test_predicates.py @@ -19,6 +19,7 @@ class TestPredicateList(unittest.TestCase): ('containment', predicates.ContainmentPredicate), ('request_type', predicates.RequestTypePredicate), ('match_param', predicates.MatchParamPredicate), + ('is_authenticated', predicates.IsAuthenticatedPredicate), ('custom', predicates.CustomPredicate), ('traverse', predicates.TraversePredicate), ): @@ -38,6 +39,19 @@ class TestPredicateList(unittest.TestCase): def test_ordering_number_of_predicates(self): from pyramid.config.predicates import predvalseq + order0, _, _ = self._callFUT( + xhr='xhr', + request_method='request_method', + path_info='path_info', + request_param='param', + match_param='foo=bar', + header='header', + accept='accept', + is_authenticated=True, + containment='containment', + request_type='request_type', + custom=predvalseq([DummyCustomPredicate()]), + ) order1, _, _ = self._callFUT( xhr='xhr', request_method='request_method', @@ -121,6 +135,7 @@ class TestPredicateList(unittest.TestCase): ) order11, _, _ = self._callFUT(xhr='xhr') order12, _, _ = self._callFUT() + self.assertTrue(order1 > order0) self.assertEqual(order1, order2) self.assertTrue(order3 > order2) self.assertTrue(order4 > order3) @@ -131,7 +146,7 @@ class TestPredicateList(unittest.TestCase): self.assertTrue(order9 > order8) self.assertTrue(order10 > order9) self.assertTrue(order11 > order10) - self.assertTrue(order12 > order10) + self.assertTrue(order12 > order11) def test_ordering_importance_of_predicates(self): from pyramid.config.predicates import predvalseq @@ -145,7 +160,8 @@ class TestPredicateList(unittest.TestCase): order7, _, _ = self._callFUT(containment='containment') order8, _, _ = self._callFUT(request_type='request_type') order9, _, _ = self._callFUT(match_param='foo=bar') - order10, _, _ = self._callFUT( + order10, _, _ = self._callFUT(is_authenticated=True) + order11, _, _ = self._callFUT( custom=predvalseq([DummyCustomPredicate()]) ) self.assertTrue(order1 > order2) @@ -157,6 +173,7 @@ class TestPredicateList(unittest.TestCase): self.assertTrue(order7 > order8) self.assertTrue(order8 > order9) self.assertTrue(order9 > order10) + self.assertTrue(order10 > order11) def test_ordering_importance_and_number(self): from pyramid.config.predicates import predvalseq @@ -296,6 +313,7 @@ class TestPredicateList(unittest.TestCase): ] ), match_param='foo=bar', + is_authenticated=False, ) self.assertEqual(predicates[0].text(), 'xhr = True') self.assertEqual( @@ -308,9 +326,10 @@ class TestPredicateList(unittest.TestCase): self.assertEqual(predicates[6].text(), 'containment = containment') self.assertEqual(predicates[7].text(), 'request_type = request_type') self.assertEqual(predicates[8].text(), "match_param foo=bar") - self.assertEqual(predicates[9].text(), 'custom predicate') - self.assertEqual(predicates[10].text(), 'classmethod predicate') - self.assertTrue(predicates[11].text().startswith('custom predicate')) + self.assertEqual(predicates[9].text(), "is_authenticated = False") + self.assertEqual(predicates[10].text(), 'custom predicate') + self.assertEqual(predicates[11].text(), 'classmethod predicate') + self.assertTrue(predicates[12].text().startswith('custom predicate')) def test_predicate_text_is_correct_when_multiple(self): _, predicates, _ = self._callFUT( @@ -434,6 +453,15 @@ class TestPredicateList(unittest.TestCase): request.headers = {'foo': 'nobar', 'spamme': 'ham'} self.assertFalse(predicates[0](Dummy(), request)) + def test_is_authenticated_true_matches(self): + ... + def test_is_authenticated_true_fails(self): + ... + def test_is_authenticated_false_matches(self): + ... + def test_is_authenticated_false_fails(self): + ... + def test_unknown_predicate(self): from pyramid.exceptions import ConfigurationError |
