Commit ed7f32ee by Edward Zarecor Committed by GitHub

Merge pull request #13678 from edx/e0d/ignore-email-case

comparison should be case-insensitive
parents cf2c48ab 569e6745
...@@ -50,7 +50,7 @@ class Command(BaseCommand): ...@@ -50,7 +50,7 @@ class Command(BaseCommand):
certain issues, for example if the expected username has already been certain issues, for example if the expected username has already been
taken by someone else. taken by someone else.
""" """
if user.email != email: if user.email.lower() != email.lower():
# The passed email address doesn't match this username's email address. # The passed email address doesn't match this username's email address.
# Assume a problem and fail. # Assume a problem and fail.
raise CommandError( raise CommandError(
......
...@@ -117,6 +117,16 @@ class TestManageUserCommand(TestCase): ...@@ -117,6 +117,16 @@ class TestManageUserCommand(TestCase):
self.assertIn('email addresses do not match', str(exc_context.exception).lower()) self.assertIn('email addresses do not match', str(exc_context.exception).lower())
self.assertEqual([(TEST_USERNAME, TEST_EMAIL)], [(u.username, u.email) for u in User.objects.all()]) self.assertEqual([(TEST_USERNAME, TEST_EMAIL)], [(u.username, u.email) for u in User.objects.all()])
def test_same_email_varied_case(self):
"""
Ensure that the operation continues if the username matches an
existing user account and the supplied email differs only in cases.
"""
User.objects.create(username=TEST_USERNAME, email=TEST_EMAIL.upper())
call_command('manage_user', TEST_USERNAME, TEST_EMAIL.lower())
user = User.objects.get(username=TEST_USERNAME)
self.assertEqual(user.email, TEST_EMAIL.upper())
@ddt.data(*itertools.product([(True, True), (True, False), (False, True), (False, False)], repeat=2)) @ddt.data(*itertools.product([(True, True), (True, False), (False, True), (False, False)], repeat=2))
@ddt.unpack @ddt.unpack
def test_bits(self, initial_bits, expected_bits): def test_bits(self, initial_bits, expected_bits):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment