Fix #245 : handle email as case insensitive while retrieving user in DB (#250)

* Add unit tests to enforce email case insensitivity

* Handle email as case insentitive while retrieving user in DB

* Apply isort/black

* Add migration doc
This commit is contained in:
François Voron
2020-07-09 18:44:25 +02:00
committed by GitHub
parent e63a67ead3
commit b7dbdf6ea6
12 changed files with 70 additions and 25 deletions

View File

@@ -95,6 +95,11 @@ async def test_queries(sqlalchemy_user_db: SQLAlchemyUserDatabase[UserDB]):
assert email_user is not None
assert email_user.id == user_db.id
# Get by uppercased email
email_user = await sqlalchemy_user_db.get_by_email("Lancelot@camelot.bt")
assert email_user is not None
assert email_user.id == user_db.id
# Exception when inserting existing email
with pytest.raises(sqlite3.IntegrityError):
await sqlalchemy_user_db.create(user)