[P2] Testabdeckung 304 von 18.285 Zeilen (1,7 %) — kritische Pfade absichern vor Produktivbetrieb #230
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
server/**/*.py(ohne Tests)server/tests/*.pyVorhandene Tests:
Fünf davon prüfen Mandanten-Scope-Filter, zwei sind Smoke-Tests. Die Harness in
tests/conftest.pyist gut gebaut — eigene Postgres-Datenbanktheprox_test, echte ORM-Modelle, keine SQLite-Krücken. Das Fundament ist also da und wird nur kaum genutzt.Ungetestet ist unter anderem
agent_ws.py, 918 Zeilen) — Authentifizierung, Enrollment, Nachrichtenverarbeitungwebsocket/manager.py— Kommando-Lebenszyklus, Timeouts, Future-Aufräumen, Owner-Prüfung (#115)scheduler.py— Job-Auslösung, Cron-Auswertung, Intervall-Gatestunneling/manager.py(619 Zeilen) — Tunnel-Wiederherstellung, Aufräumenservices/docgen.py— Rendering, Backup-CSV-MergeWarum das jetzt relevant ist
Vor dem Anbinden von Produktiv-Nodes stehen mehrere invasive Änderungen an — Scheduler-Nebenläufigkeit, Pool-Dimensionierung,
guest_view-Extraktion (#212), Autorisierung im Scheduler-Pfad. Ohne Tests ist nach jeder dieser Änderungen unklar, ob etwas kaputtgegangen ist. Insbesondere die Scope-Durchsetzung ist der Teil, dessen Bruch man erst merkt, wenn ein Mandant Daten eines anderen sieht.Das ist keine Aufforderung, 18.000 Zeilen nachzutesten. Es geht um die Pfade, deren Fehlverhalten teuer ist.
Prompt für Claude Code
Definition of Done
Aus dem Code-Review vom 2026-07-27 (Commit
4152c4d). Gesamtblock: #226, #227, #228, #229, #230, #231.Abarbeitung niedrig → hoch: #231 → #230 → #229 → #228 → #227 → #226.