test db setup

This commit is contained in:
2026-09-04 15:34:02 +02:00
parent 923074fcf8
commit 153820772a
5 changed files with 67 additions and 5 deletions
+36
View File
@@ -0,0 +1,36 @@
#!/bin/python
import os
from collections.abc import Generator
os.environ["DATABASE_URL"] = "sqlite://"
import pytest
from alembic.config import Config
from sqlalchemy import StaticPool, create_engine
from sqlalchemy.orm import Session, sessionmaker
from alembic import command
from src.db import set_engine
@pytest.fixture()
def db_session() -> Generator[Session]:
engine = create_engine(
"sqlite://",
connect_args={"check_same_thread": False},
poolclass=StaticPool,
)
set_engine(engine)
alembic_cfg = Config("alembic.ini")
command.upgrade(alembic_cfg, "head")
SessionLocal = sessionmaker(bind=engine)
session = SessionLocal()
try:
yield session
finally:
session.close()
engine.dispose()
+10
View File
@@ -0,0 +1,10 @@
#!/bin/python
from sqlalchemy import inspect
from sqlalchemy.orm import Session
def test_db_reachable_and_not_empty(db_session: Session):
inspector = inspect(db_session.get_bind())
tables = inspector.get_table_names()
assert tables