Phase 12: Test-Suite (30 pytest-Tests) + CLAUDE.md aktualisiert
tests/: conftest.py - minimale Env-Vars + sys.path-Setup test_auth.py - Magic-Token + JWT Round-Trip (4 Tests) test_audit.py - diff() + _to_json() Helper (8 Tests) test_models.py - Pydantic-Validierung (7 Tests) test_source_meta.py - Single Source of Truth Konsistenz (7 Tests) test_imports.py - alle Backend-Module importierbar (4 Tests) requirements-dev.txt: pytest, ftfy, pyflakes Tests sind reine Unit-Tests (kein DB-Zugriff, kein HTTP-Server), laufen in <0.5s, geben sofortiges Catch-Net fuer Syntax/Import-Bugs. Aufruf: PYTHONPATH=src ./venv/bin/python -m pytest tests/ -v CLAUDE.md erweitert um: - Sektion Tests (Framework, Pfad, Ausfuehrung) - Sektion Phasen-Historie (alle 12 Phasen der Aufraeum-Aktion 2026-05-09 mit kurzer Erklaerung)
Dieser Commit ist enthalten in:
23
tests/conftest.py
Normale Datei
23
tests/conftest.py
Normale Datei
@@ -0,0 +1,23 @@
|
||||
"""Pytest-Fixtures für die Verwaltung-Tests.
|
||||
|
||||
Setzt minimale Env-Vars, damit src/config.py beim Import nicht scheitert.
|
||||
Tests bleiben Unit-Tests (kein DB-Zugriff, kein HTTP-Server).
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
# config.py erwartet PORTAL_JWT_SECRET zwingend.
|
||||
# Beim Test-Import setzen wir einen Wert.
|
||||
os.environ.setdefault("PORTAL_JWT_SECRET", "test-secret-not-for-production")
|
||||
os.environ.setdefault("DB_PATH", "/tmp/aegis-test-not-used.db")
|
||||
os.environ.setdefault("SMTP_HOST", "")
|
||||
os.environ.setdefault("SMTP_USER", "")
|
||||
os.environ.setdefault("SMTP_PASSWORD", "")
|
||||
|
||||
# src/ ist der Python-App-Dir
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
SRC = ROOT / "src"
|
||||
if str(SRC) not in sys.path:
|
||||
sys.path.insert(0, str(SRC))
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren