File size: 1,064 Bytes
732b14f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""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_disabled_by_default(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_requires_async(monkeypatch) -> None:
    monkeypatch.setattr(
        "app.db.database.settings.database_url",
        "postgresql+asyncpg://localhost/db",
    )
    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