32 lines
929 B
Python
32 lines
929 B
Python
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
|
|
|
|
import database # noqa: E402
|
|
|
|
|
|
@pytest.fixture
|
|
async def testdb(tmp_path, monkeypatch):
|
|
"""Fresh sqlite file per test; resets the module-global connection."""
|
|
monkeypatch.setattr(database, "DB_PATH", tmp_path / "test.db")
|
|
database._db = None
|
|
await database.init_db()
|
|
yield database
|
|
await database.close_db()
|
|
|
|
|
|
@pytest.fixture
|
|
async def fake_welt(testdb, tmp_path, monkeypatch):
|
|
"""E2E ohne LLM: run_agent überall durch die Fake-Welt ersetzt, Tempo-Bremsen raus.
|
|
Alle echten Schichten (_race, Quorum, Panels, Producer, QA-Gate) laufen mit."""
|
|
import qa
|
|
from fake_agents import Welt, aktivieren
|
|
|
|
welt = Welt()
|
|
aktivieren(welt, setattr_fn=monkeypatch.setattr)
|
|
monkeypatch.setattr(qa, "QA_DIR", tmp_path / "qa") # Reports nie in echte Nutzdaten
|
|
return welt
|