Make the get_user_by_email_address case insenstive.

This commit is contained in:
Rebecca Law
2016-05-20 13:43:31 +01:00
parent 297f8aac6e
commit 0f9a019945
2 changed files with 9 additions and 1 deletions

View File

@@ -1,6 +1,8 @@
import random import random
from datetime import (datetime, timedelta) from datetime import (datetime, timedelta)
from sqlalchemy import func
from app import db from app import db
from app.models import (User, VerifyCode) from app.models import (User, VerifyCode)
@@ -79,7 +81,7 @@ def get_model_users(user_id=None):
def get_user_by_email(email): def get_user_by_email(email):
return User.query.filter_by(email_address=email).one() return User.query.filter(func.lower(User.email_address) == func.lower(email)).one()
def increment_failed_login_count(user): def increment_failed_login_count(user):

View File

@@ -97,6 +97,12 @@ def test_get_user_by_email(sample_user):
assert sample_user == user_from_db assert sample_user == user_from_db
def test_get_user_by_email_is_case_insensitive(sample_user):
email = sample_user.email_address
user_from_db = get_user_by_email(email.upper())
assert sample_user == user_from_db
def test_should_delete_all_verification_codes_more_than_one_day_old(sample_user): def test_should_delete_all_verification_codes_more_than_one_day_old(sample_user):
make_verify_code(sample_user, age=timedelta(hours=24), code="54321") make_verify_code(sample_user, age=timedelta(hours=24), code="54321")
make_verify_code(sample_user, age=timedelta(hours=24), code="54321") make_verify_code(sample_user, age=timedelta(hours=24), code="54321")