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
from datetime import (datetime, timedelta)
from sqlalchemy import func
from app import db
from app.models import (User, VerifyCode)
@@ -79,7 +81,7 @@ def get_model_users(user_id=None):
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):

View File

@@ -97,6 +97,12 @@ def test_get_user_by_email(sample_user):
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):
make_verify_code(sample_user, age=timedelta(hours=24), code="54321")
make_verify_code(sample_user, age=timedelta(hours=24), code="54321")