Commit Graph
3 Commits
Author SHA1 Message Date
patrickandClaude Sonnet 5 4e7ef754a0 QA-01: teststrategie & testdatenbestand
CI / Core-Modul (Build/Vet/Test) (push) Failing after 3s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 2s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 58s
CI / Web (dms-browser) (push) Failing after 51s
CI / Web (pdf-viewer) (push) Failing after 45s
CI / Web (shl) (push) Failing after 20s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 2s
Testpyramide, Abdeckungsziele und verbindliches Security-Merge-Gate
schriftlich festgelegt (dms/docs/QA-01-TESTSTRATEGIE.md). Merge-Gate aus
FDN-07 (check-security-test-coverage.sh) um drei real identifizierte,
tenant-bezogene Pakete erweitert (documentapi, upload, versioning).
Reproduzierbarer, vollstaendig synthetischer Referenzkorpus (PDF, Office,
TIFF-Scan-Ersatz) ueber dms/internal/testcorpus + go run ./cmd/gen-test-corpus,
mit Test, der Formatabdeckung und Parsbarkeit der erzeugten Dateien prueft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 14:56:50 +02:00
patrickandClaude Sonnet 5 6f31d22396 FDN-07: ci-pipeline & testharness
CI / Core-Modul (Build/Vet/Test) (push) Failing after 3s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 2s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 1m2s
CI / Web (dms-browser) (push) Failing after 50s
CI / Web (pdf-viewer) (push) Failing after 42s
CI / Web (shl) (push) Failing after 17s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 3s
.gitea/workflows/ci.yml deckt Core-Modul, DMS-Modul und die drei
Frontend-Pakete (shl, dms-browser, pdf-viewer) ab: Build/Vet/Test mit
Testabdeckung, golangci-lint, govulncheck (Go) und npm audit (JS/TS) als
Supply-Chain-Scan, reproduzierbarer Artefakt-Build (zweifacher Build +
cmp). Läuft auf dem bestehenden act_runner (192.168.1.131, aus QA-07).

Neues Merge-Gate dms/scripts/check-security-test-coverage.sh erzwingt
Tests für sicherheitsrelevante Pakete (crypto, storage, downloadapi,
versioningapi, audittrail) als eigener CI-Job vor dem eigentlichen
Testlauf (needs:), mit Selbstbeweis (_selftest.sh), der die Ablehnung bei
fehlenden Tests tatsächlich provoziert statt sie nur zu behaupten.

Offen und im Prüfprotokoll dokumentiert: NEXARCH_DMS_TEST_DB_PASSWORD als
Gitea-Actions-Secret und die Branch-Protection-Regel für main konnten in
dieser Sitzung nicht gesetzt werden (Auto-Mode-Classifier blockiert
schreibende Zugriffe auf Secret-Store und sicherheitsrelevante
Server-/Repo-Einstellungen) - beides erfordert eine einmalige manuelle
Aktion einer berechtigten Person.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:47:31 +02:00
sysopsandClaude Sonnet 5 bfea94b032 FDN-04: job-queue & worker-runtime
Postgres-Jobqueue (processing_jobs, FOR UPDATE SKIP LOCKED), In-Prozess-
Worker-Goroutinen, kein Redis/AMQP. Enqueue mit Idempotency-Key-Dedup,
Dequeue mit Stale-Lock-Wiedervorlage (Absturzsicherheit), Fail mit
arithmetischem Backoff und Dead-Letter-Queue nach erschoepften Versuchen,
RequeueDeadLetter fuer manuelle Wiederholung.

Auf 192.168.1.131 verifiziert: Absturz-Wiedervorlage (Job von einem
"abgestuerzten" Worker nie completed/failed, zweiter Worker holt ihn nach
Ablauf der Sperre erneut), Idempotenz bei Doppelzustellung (gleicher
idempotency_key erzeugt nur 1 Zeile), DLQ-Eintrag manuell wiederholbar.

Vier reale Fehler beim Testen gefunden und behoben: zwei pgx-Typinferenz-
Bugs im SQL-Parameterhandling (toter workerID-Parameter ohne Referenz in
der Query; untypisiertes any statt []string fuer den ::text[]-Cast), sowie
zwei Testinfrastruktur-Bugs (dms_tenant_test sammelte schema_migrations-
Zustand ueber Sitzungen hinweg an, jobqueue-Testfixture raeumte
processing_jobs nicht auf) - neues scripts/reset-test-env.sh + make check
(-p 1) analog Core behoben.

Siehe dms/docs/FDN-04-PRUEFPROTOKOLL.md fuer alle Pruefungsergebnisse.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhgFcLS8tYMhDJpP74C6AQ
2026-08-29 20:58:26 +02:00