diff options
| author | Tim Graham <timograham@gmail.com> | 2016-11-10 06:30:38 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-11-16 17:40:37 -0500 |
| commit | 0d9ff873d9f93efbba875efbf582db88bb0e30ce (patch) | |
| tree | eefc9f9c29b24b9482d39efb6c0d9d40ee3977cb /tests/auth_tests/test_validators.py | |
| parent | 45e01df37353324c3ca9cca1b330bc2841468f82 (diff) | |
Fixed #27467 -- Made UserAttributeSimilarityValidator max_similarity=0/1 work as documented.
Thanks goblinJoel for the report and feedback.
Diffstat (limited to 'tests/auth_tests/test_validators.py')
| -rw-r--r-- | tests/auth_tests/test_validators.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/auth_tests/test_validators.py b/tests/auth_tests/test_validators.py index 97cf396b1a..e074716f46 100644 --- a/tests/auth_tests/test_validators.py +++ b/tests/auth_tests/test_validators.py @@ -124,7 +124,22 @@ class UserAttributeSimilarityValidatorTest(TestCase): max_similarity=0.3, ).validate('testclient', user=user) self.assertEqual(cm.exception.messages, [expected_error % "first name"]) - + # max_similarity=1 doesn't allow passwords that are identical to the + # attribute's value. + with self.assertRaises(ValidationError) as cm: + UserAttributeSimilarityValidator( + user_attributes=['first_name'], + max_similarity=1, + ).validate(user.first_name, user=user) + self.assertEqual(cm.exception.messages, [expected_error % "first name"]) + # max_similarity=0 rejects all passwords. + with self.assertRaises(ValidationError) as cm: + UserAttributeSimilarityValidator( + user_attributes=['first_name'], + max_similarity=0, + ).validate('XXX', user=user) + self.assertEqual(cm.exception.messages, [expected_error % "first name"]) + # Passes validation. self.assertIsNone( UserAttributeSimilarityValidator(user_attributes=['first_name']).validate('testclient', user=user) ) |
