32 lines
892 B
Python
32 lines
892 B
Python
from src.auth.db import get_conn, init_schema
|
|
|
|
|
|
def test_init_schema_creates_tables(users_db_path):
|
|
init_schema()
|
|
conn = get_conn()
|
|
tables = {
|
|
row[0]
|
|
for row in conn.execute(
|
|
"SELECT name FROM sqlite_master WHERE type='table'"
|
|
).fetchall()
|
|
}
|
|
assert {"users", "email_verification_tokens", "password_reset_tokens"} <= tables
|
|
|
|
|
|
def test_init_schema_is_idempotent(users_db_path):
|
|
init_schema()
|
|
init_schema()
|
|
conn = get_conn()
|
|
tables = conn.execute(
|
|
"SELECT name FROM sqlite_master WHERE type='table'"
|
|
).fetchall()
|
|
names = [r[0] for r in tables]
|
|
assert names.count("users") == 1
|
|
|
|
|
|
def test_pragmas_active(users_db_path):
|
|
init_schema()
|
|
conn = get_conn()
|
|
assert conn.execute("PRAGMA foreign_keys").fetchone()[0] == 1
|
|
assert conn.execute("PRAGMA journal_mode").fetchone()[0].lower() == "wal"
|