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:
claude-dev
2026-05-09 03:55:30 +00:00
Ursprung 9000750df2
Commit 00cd81f177
9 geänderte Dateien mit 299 neuen und 0 gelöschten Zeilen

23
tests/conftest.py Normale Datei
Datei anzeigen

@@ -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))