This commit is contained in:
John Lancaster
2026-07-30 23:16:17 -05:00
parent 9eb0f40c08
commit ec6617a1c4
13 changed files with 101 additions and 120 deletions
+12 -8
View File
@@ -13,11 +13,12 @@ from sqlmodel.pool import StaticPool
from transcription.config import Settings
from transcription.config import get_settings
from transcription.db.engine import get_database_url
from transcription.db.engine import get_engine
from transcription.db.operations import create_all
from transcription.db.runtime import dispose_database_runtime
from transcription.db.runtime import get_engine
from transcription.db.runtime import get_session
from transcription.db.runtime import get_session_factory
from transcription.db.session import dispose_session_factory
from transcription.db.session import get_session_factory
from transcription.db.session import session_scope
from transcription.services.documents import DocumentService
from transcription.services.jobs import JobService
@@ -39,23 +40,26 @@ def session():
async def default_settings():
"""Provide default settings for tests."""
settings = get_settings(database_url="sqlite:///:memory:")
await create_all(engine=get_engine(settings=settings))
db_url = get_database_url(settings)
await create_all(engine=get_engine(database_url=db_url))
return settings
@pytest_asyncio.fixture
async def async_session(default_settings: Settings):
"""Provide a clean asynchronous database session for async tests."""
async with get_session(settings=default_settings) as async_session:
db_url = get_database_url(default_settings)
async with session_scope(database_url=db_url) as async_session:
yield async_session
await dispose_database_runtime()
await dispose_session_factory(db_url)
@pytest.fixture
def default_session_factory(default_settings: Settings):
"""Provide a base fixture for tests that require database access."""
session_factory = get_session_factory(settings=default_settings)
db_url = get_database_url(default_settings)
session_factory = get_session_factory(database_url=db_url)
return session_factory