RICS / app /tests /test_parallel_sections_stub.py
StormShadow308's picture
Speed up generation and ingestion; add live report progress on /status.
c893230
Raw
History Blame Contribute Delete
1.73 kB
"""SQLite parallel-section safety helpers."""
from __future__ import annotations
from app.db.database import (
is_sqlite_database,
multi_section_parallel_enabled,
parallel_section_writes_safe,
)
def test_sqlite_parallel_respects_opt_out(monkeypatch) -> None:
monkeypatch.setattr(
"app.db.database.settings.database_url",
"sqlite+aiosqlite:///./dev.db",
)
monkeypatch.setattr(
"app.db.database.settings.allow_sqlite_parallel_sections",
False,
)
assert is_sqlite_database() is True
assert parallel_section_writes_safe() is False
def test_multi_section_parallel_via_dedicated_flag(monkeypatch) -> None:
monkeypatch.setattr(
"app.db.database.settings.database_url",
"sqlite+aiosqlite:///./dev.db",
)
monkeypatch.setattr(
"app.db.database.settings.allow_sqlite_parallel_sections",
True,
)
monkeypatch.setattr(
"app.db.database.settings.enable_parallel_section_generation",
True,
)
monkeypatch.setattr("app.db.database.settings.enable_async_pipeline", False)
assert multi_section_parallel_enabled() is True
def test_multi_section_parallel_async_fallback(monkeypatch) -> None:
monkeypatch.setattr(
"app.db.database.settings.database_url",
"postgresql+asyncpg://localhost/db",
)
monkeypatch.setattr(
"app.db.database.settings.enable_parallel_section_generation",
False,
)
monkeypatch.setattr("app.db.database.settings.enable_async_pipeline", False)
assert multi_section_parallel_enabled() is False
monkeypatch.setattr("app.db.database.settings.enable_async_pipeline", True)
assert multi_section_parallel_enabled() is True