Fixed #21627 -- Added unicode_literals to changepassword command.

Fixed a crash when executing changepassword command when the user object
representation contained non-ASCII characters.
This commit is contained in:
Jon Lønne 2013-12-18 20:04:53 +01:00 committed by Tim Graham
parent 318cdc07de
commit 398642fd9b
3 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
import getpass import getpass
from optparse import make_option from optparse import make_option

View File

@ -82,6 +82,18 @@ class ChangepasswordManagementCommandTestCase(TestCase):
with self.assertRaises(CommandError): with self.assertRaises(CommandError):
command.execute("joe", stdout=self.stdout, stderr=self.stderr) command.execute("joe", stdout=self.stdout, stderr=self.stderr)
def test_that_changepassword_command_works_with_nonascii_output(self):
"""
#21627 -- Executing the changepassword management command should allow
non-ASCII characters from the User object representation.
"""
# 'Julia' with accented 'u':
models.User.objects.create_user(username='J\xfalia', password='qwerty')
command = changepassword.Command()
command._get_pass = lambda *args: 'not qwerty'
command.execute("J\xfalia", stdout=self.stdout)
@skipIfCustomUser @skipIfCustomUser
class CreatesuperuserManagementCommandTestCase(TestCase): class CreatesuperuserManagementCommandTestCase(TestCase):

View File

@ -11,3 +11,6 @@ Bug fixes
* Prevented the base geometry object of a prepared geometry to be garbage * Prevented the base geometry object of a prepared geometry to be garbage
collected, which could lead to crash Django (#21662). collected, which could lead to crash Django (#21662).
* Fixed a crash when executing the :djadmin:`changepassword` command when the
user object representation contained non-ASCII characters (#21627).