src/auth/routes.py : route /auth/verify-email (#73)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-04-20 17:38:13 +02:00
parent e275f10dbd
commit 4d9a300e0c
2 changed files with 43 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
from src.auth import db, tokens
def test_verify_email_valid_token_marks_user_verified(client, users_db_path):
db.init_schema()
uid = db.create_user("a@b.c", "hash")
token = tokens.create_verification_token(uid)
resp = client.get(f"/auth/verify-email?token={token}")
assert resp.status_code == 302
assert "/connexion?verified=1" in resp.headers["Location"]
assert db.get_user_by_id(uid)["email_verified"] == 1
def test_verify_email_invalid_token(client):
resp = client.get("/auth/verify-email?token=invalide")
assert "error=invalid_token" in resp.headers["Location"]
def test_verify_email_missing_token(client):
resp = client.get("/auth/verify-email")
assert "error=invalid_token" in resp.headers["Location"]
def test_verify_email_single_use(client, users_db_path):
db.init_schema()
uid = db.create_user("a@b.c", "h")
token = tokens.create_verification_token(uid)
client.get(f"/auth/verify-email?token={token}")
resp = client.get(f"/auth/verify-email?token={token}")
assert "error=invalid_token" in resp.headers["Location"]