mirror of
https://github.com/django/django.git
synced 2025-09-26 12:09:19 +00:00
Fixed #26334 -- Removed whitespace stripping from contrib.auth password fields.
This commit is contained in:
parent
b4347d82b7
commit
d0fe6c9156
3 changed files with 70 additions and 1 deletions
|
@ -139,6 +139,17 @@ class UserCreationFormTest(TestDataMixin, TestCase):
|
|||
form = CustomUserCreationForm(data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
def test_password_whitespace_not_stripped(self):
|
||||
data = {
|
||||
'username': 'testuser',
|
||||
'password1': ' testpassword ',
|
||||
'password2': ' testpassword ',
|
||||
}
|
||||
form = UserCreationForm(data)
|
||||
self.assertTrue(form.is_valid())
|
||||
self.assertEqual(form.cleaned_data['password1'], data['password1'])
|
||||
self.assertEqual(form.cleaned_data['password2'], data['password2'])
|
||||
|
||||
|
||||
class AuthenticationFormTest(TestDataMixin, TestCase):
|
||||
|
||||
|
@ -248,6 +259,15 @@ class AuthenticationFormTest(TestDataMixin, TestCase):
|
|||
form = CustomAuthenticationForm()
|
||||
self.assertEqual(form.fields['username'].label, "")
|
||||
|
||||
def test_password_whitespace_not_stripped(self):
|
||||
data = {
|
||||
'username': 'testuser',
|
||||
'password': ' pass ',
|
||||
}
|
||||
form = AuthenticationForm(None, data)
|
||||
form.is_valid() # Not necessary to have valid credentails for the test.
|
||||
self.assertEqual(form.cleaned_data['password'], data['password'])
|
||||
|
||||
|
||||
class SetPasswordFormTest(TestDataMixin, TestCase):
|
||||
|
||||
|
@ -298,6 +318,17 @@ class SetPasswordFormTest(TestDataMixin, TestCase):
|
|||
form["new_password2"].errors
|
||||
)
|
||||
|
||||
def test_password_whitespace_not_stripped(self):
|
||||
user = User.objects.get(username='testclient')
|
||||
data = {
|
||||
'new_password1': ' password ',
|
||||
'new_password2': ' password ',
|
||||
}
|
||||
form = SetPasswordForm(user, data)
|
||||
self.assertTrue(form.is_valid())
|
||||
self.assertEqual(form.cleaned_data['new_password1'], data['new_password1'])
|
||||
self.assertEqual(form.cleaned_data['new_password2'], data['new_password2'])
|
||||
|
||||
|
||||
class PasswordChangeFormTest(TestDataMixin, TestCase):
|
||||
|
||||
|
@ -348,6 +379,20 @@ class PasswordChangeFormTest(TestDataMixin, TestCase):
|
|||
self.assertEqual(list(PasswordChangeForm(user, {}).fields),
|
||||
['old_password', 'new_password1', 'new_password2'])
|
||||
|
||||
def test_password_whitespace_not_stripped(self):
|
||||
user = User.objects.get(username='testclient')
|
||||
user.set_password(' oldpassword ')
|
||||
data = {
|
||||
'old_password': ' oldpassword ',
|
||||
'new_password1': ' pass ',
|
||||
'new_password2': ' pass ',
|
||||
}
|
||||
form = PasswordChangeForm(user, data)
|
||||
self.assertTrue(form.is_valid())
|
||||
self.assertEqual(form.cleaned_data['old_password'], data['old_password'])
|
||||
self.assertEqual(form.cleaned_data['new_password1'], data['new_password1'])
|
||||
self.assertEqual(form.cleaned_data['new_password2'], data['new_password2'])
|
||||
|
||||
|
||||
class UserChangeFormTest(TestDataMixin, TestCase):
|
||||
|
||||
|
@ -635,3 +680,14 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
|
|||
self.assertEqual(password_changed.call_count, 0)
|
||||
form.save()
|
||||
self.assertEqual(password_changed.call_count, 1)
|
||||
|
||||
def test_password_whitespace_not_stripped(self):
|
||||
user = User.objects.get(username='testclient')
|
||||
data = {
|
||||
'password1': ' pass ',
|
||||
'password2': ' pass ',
|
||||
}
|
||||
form = AdminPasswordChangeForm(user, data)
|
||||
self.assertTrue(form.is_valid())
|
||||
self.assertEqual(form.cleaned_data['password1'], data['password1'])
|
||||
self.assertEqual(form.cleaned_data['password2'], data['password2'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue