Make sure to test for unicode usernames, since the collate on the username field is latin1
This commit is contained in:
parent
76bef38d71
commit
7b35555776
2 changed files with 12 additions and 0 deletions
|
@ -792,6 +792,12 @@ def get_matching_users(username_prefix, robot_namespace=None,
|
||||||
|
|
||||||
|
|
||||||
def verify_user(username_or_email, password):
|
def verify_user(username_or_email, password):
|
||||||
|
# Make sure we didn't get any unicode for the username.
|
||||||
|
try:
|
||||||
|
str(username_or_email)
|
||||||
|
except ValueError:
|
||||||
|
return None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fetched = User.get((User.username == username_or_email) |
|
fetched = User.get((User.username == username_or_email) |
|
||||||
(User.email == username_or_email))
|
(User.email == username_or_email))
|
||||||
|
|
|
@ -470,6 +470,12 @@ class TestCreateNewUser(ApiTestCase):
|
||||||
self.assertInTeam(json, NEW_USER_DETAILS['username'])
|
self.assertInTeam(json, NEW_USER_DETAILS['username'])
|
||||||
|
|
||||||
|
|
||||||
|
class TestSignin(ApiTestCase):
|
||||||
|
def test_signin_unicode(self):
|
||||||
|
self.postResponse(Signin, data=dict(username=u'\xe5\x8c\x97\xe4\xba\xac\xe5\xb8\x82',
|
||||||
|
password='password'), expected_code=403)
|
||||||
|
|
||||||
|
|
||||||
class TestSignout(ApiTestCase):
|
class TestSignout(ApiTestCase):
|
||||||
def test_signout(self):
|
def test_signout(self):
|
||||||
self.login(READ_ACCESS_USER)
|
self.login(READ_ACCESS_USER)
|
||||||
|
|
Reference in a new issue