Files
2026-09-04 15:34:02 +02:00

37 lines
781 B
Python

#!/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()