summaryrefslogtreecommitdiff
path: root/tests/auth_tests/test_forms.py
diff options
context:
space:
mode:
authorErik Romijn <eromijn@solidlinks.nl>2015-03-08 15:07:57 +0100
committerErik Romijn <eromijn@solidlinks.nl>2015-06-07 19:31:20 +0200
commit1daae25bdcd735151de394a5578c22257e3e5dc7 (patch)
tree5d03536fe9cf69bf0fcf1a1997db713ce52a880b /tests/auth_tests/test_forms.py
parentf4416b1a8b92e492707a6261b7a1132f8550457f (diff)
Fixed #16860 -- Added password validation to django.contrib.auth.
Diffstat (limited to 'tests/auth_tests/test_forms.py')
-rw-r--r--tests/auth_tests/test_forms.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auth_tests/test_forms.py b/tests/auth_tests/test_forms.py
index 2595cd7540..c469201408 100644
--- a/tests/auth_tests/test_forms.py
+++ b/tests/auth_tests/test_forms.py
@@ -263,6 +263,24 @@ class SetPasswordFormTest(TestDataMixin, TestCase):
form = SetPasswordForm(user, data)
self.assertTrue(form.is_valid())
+ @override_settings(AUTH_PASSWORD_VALIDATORS=[
+ {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'},
+ {'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 'OPTIONS': {
+ 'min_length': 12,
+ }},
+ ])
+ def test_validates_password(self):
+ user = User.objects.get(username='testclient')
+ data = {
+ 'new_password1': 'testclient',
+ 'new_password2': 'testclient',
+ }
+ form = SetPasswordForm(user, data)
+ self.assertFalse(form.is_valid())
+ self.assertEqual(len(form["new_password2"].errors), 2)
+ self.assertTrue('The password is too similar to the username.' in form["new_password2"].errors)
+ self.assertTrue('This password is too short. It must contain at least 12 characters.' in form["new_password2"].errors)
+
@override_settings(USE_TZ=False, PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'])
class PasswordChangeFormTest(TestDataMixin, TestCase):