summaryrefslogtreecommitdiff
path: root/tests/auth_tests/test_validators.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auth_tests/test_validators.py')
-rw-r--r--tests/auth_tests/test_validators.py17
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)
)