mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #27467 -- Made UserAttributeSimilarityValidator max_similarity=0/1 work as documented.
Thanks goblinJoel for the report and feedback.
This commit is contained in:
@@ -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)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user