Add settings and history archive repository protocols and DI support

This commit is contained in:
2026-04-17 20:54:08 +02:00
parent 7055971163
commit db5b4cb77e
8 changed files with 137 additions and 27 deletions

View File

@@ -14,9 +14,11 @@ from app.dependencies import (
get_app_context,
get_db,
get_http_session,
get_history_archive_repo,
get_scheduler,
get_settings,
get_session_cache,
get_settings_repo,
)
from app.main import create_app
from app.models.server import ServerStatus
@@ -65,6 +67,21 @@ async def test_app_context_dependency_exposes_shared_resources(test_settings: Se
await session.close()
@pytest.mark.asyncio
async def test_settings_and_history_archive_repo_dependencies_return_modules() -> None:
settings_repo = await get_settings_repo()
history_archive_repo = await get_history_archive_repo()
assert hasattr(settings_repo, "get_setting")
assert hasattr(settings_repo, "set_setting")
assert hasattr(settings_repo, "delete_setting")
assert hasattr(settings_repo, "get_all_settings")
assert hasattr(history_archive_repo, "archive_ban_event")
assert hasattr(history_archive_repo, "get_max_timeofban")
assert hasattr(history_archive_repo, "get_archived_history")
@pytest.mark.asyncio
async def test_get_db_uses_effective_runtime_database_path(test_settings: Settings) -> None:
"""Database connections should use effective runtime settings when overridden."""