This commit is contained in:
parent
f5e9d67907
commit
774c16d16e
|
@ -86,6 +86,8 @@ class UserCreationForm(forms.ModelForm):
|
||||||
self.error_messages['password_mismatch'],
|
self.error_messages['password_mismatch'],
|
||||||
code='password_mismatch',
|
code='password_mismatch',
|
||||||
)
|
)
|
||||||
|
self.instance.username = self.cleaned_data.get('username')
|
||||||
|
password_validation.validate_password(self.cleaned_data.get('password2'), self.instance)
|
||||||
return password2
|
return password2
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
|
|
|
@ -132,6 +132,27 @@ class UserCreationFormTest(TestDataMixin, TestCase):
|
||||||
self.assertEqual(password_changed.call_count, 1)
|
self.assertEqual(password_changed.call_count, 1)
|
||||||
self.assertEqual(repr(u), '<User: jsmith@example.com>')
|
self.assertEqual(repr(u), '<User: jsmith@example.com>')
|
||||||
|
|
||||||
|
@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):
|
||||||
|
data = {
|
||||||
|
'username': 'testclient',
|
||||||
|
'password1': 'testclient',
|
||||||
|
'password2': 'testclient',
|
||||||
|
}
|
||||||
|
form = UserCreationForm(data)
|
||||||
|
self.assertFalse(form.is_valid())
|
||||||
|
self.assertEqual(len(form['password2'].errors), 2)
|
||||||
|
self.assertIn('The password is too similar to the username.', form['password2'].errors)
|
||||||
|
self.assertIn(
|
||||||
|
'This password is too short. It must contain at least 12 characters.',
|
||||||
|
form['password2'].errors
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@override_settings(USE_TZ=False, PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'])
|
@override_settings(USE_TZ=False, PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'])
|
||||||
class AuthenticationFormTest(TestDataMixin, TestCase):
|
class AuthenticationFormTest(TestDataMixin, TestCase):
|
||||||
|
|
Loading…
Reference in New Issue