summaryrefslogtreecommitdiff
path: root/tests/auth_tests/test_models.py
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-06-21 09:06:34 -0400
committerTim Graham <timograham@gmail.com>2016-06-21 16:19:37 -0400
commit39805686b364358af725b695924a5a6dfa7f5302 (patch)
tree5b637ab2856e755b70e5147f55dc82a62237644c /tests/auth_tests/test_models.py
parent5ce660cd65a4ffcf74d94ba987fe03a16b7436a0 (diff)
Refs #21379, #26719 -- Moved username normalization to AbstractBaseUser.
Thanks Huynh Thanh Tam for the initial patch and Claude Paroz for review.
Diffstat (limited to 'tests/auth_tests/test_models.py')
-rw-r--r--tests/auth_tests/test_models.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auth_tests/test_models.py b/tests/auth_tests/test_models.py
index 1f9edbc77c..7967306c43 100644
--- a/tests/auth_tests/test_models.py
+++ b/tests/auth_tests/test_models.py
@@ -1,3 +1,6 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
from django.conf.global_settings import PASSWORD_HASHERS
from django.contrib.auth import get_user_model
from django.contrib.auth.hashers import get_hasher
@@ -143,6 +146,21 @@ class UserManagerTestCase(TestCase):
)
+class AbstractBaseUserTests(TestCase):
+
+ def test_clean_normalize_username(self):
+ # The normalization happens in AbstractBaseUser.clean()
+ ohm_username = 'iamtheΩ' # U+2126 OHM SIGN
+ for model in ('auth.User', 'auth_tests.CustomUser'):
+ with self.settings(AUTH_USER_MODEL=model):
+ User = get_user_model()
+ user = User(**{User.USERNAME_FIELD: ohm_username, 'password': 'foo'})
+ user.clean()
+ username = user.get_username()
+ self.assertNotEqual(username, ohm_username)
+ self.assertEqual(username, 'iamtheΩ') # U+03A9 GREEK CAPITAL LETTER OMEGA
+
+
class AbstractUserTestCase(TestCase):
def test_email_user(self):
# valid send_mail parameters