QA-06: Schnittstellen-Vertragstests (Mail) #301

Closed
patrick wants to merge 0 commits from feature/qa-06-schnittstellen-vertragstests into main
pull from: feature/qa-06-schnittstellen-vertragstests
Owner

Schnittstellen-Vertragstests fuer Mail-API v1 gegen OpenAPI-Beschreibung (mail/internal/mailapi/contract_test.go), echte Schema-Validierung via kin-openapi/openapi3filter gegen echten httptest-Server. CI-Job .gitea/workflows/mail-contract-tests.yml ergaenzt (Muster von Core/Archive uebernommen).

Praezisierung ggue Ticket-Text: openapi.yaml deckt nur die 3 INT-01-Endpunkte ab, INT-06 (/rules) und INT-07 (/health) haben keine eigene OpenAPI-Beschreibung - ausserhalb AC1-Scope, dokumentiert als bekannte Luecke statt Umbau angrenzender Bereiche.

AC1/AC2 real getestet inkl. TestContract_DetectsBreakingChange (fehlendes Pflichtfeld wird real erkannt). AC3: CI-Workflow-Datei angelegt, lokal zweimal gruen reproduziert, echter Gitea-Actions-Lauf nicht moeglich (Branch ungepusht zum Zeitpunkt der Implementierung).

Siehe mail/docs/QA-06-PRUEFPROTOKOLL.md.

🤖 Generated with Claude Code

Schnittstellen-Vertragstests fuer Mail-API v1 gegen OpenAPI-Beschreibung (mail/internal/mailapi/contract_test.go), echte Schema-Validierung via kin-openapi/openapi3filter gegen echten httptest-Server. CI-Job .gitea/workflows/mail-contract-tests.yml ergaenzt (Muster von Core/Archive uebernommen). Praezisierung ggue Ticket-Text: openapi.yaml deckt nur die 3 INT-01-Endpunkte ab, INT-06 (/rules) und INT-07 (/health) haben keine eigene OpenAPI-Beschreibung - ausserhalb AC1-Scope, dokumentiert als bekannte Luecke statt Umbau angrenzender Bereiche. AC1/AC2 real getestet inkl. TestContract_DetectsBreakingChange (fehlendes Pflichtfeld wird real erkannt). AC3: CI-Workflow-Datei angelegt, lokal zweimal gruen reproduziert, echter Gitea-Actions-Lauf nicht moeglich (Branch ungepusht zum Zeitpunkt der Implementierung). Siehe mail/docs/QA-06-PRUEFPROTOKOLL.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 3 commits 2026-10-16 09:14:16 +02:00
Vertragstests fuer mail-internal/mailapi gegen openapi.yaml mit
openapi3filter: Request-/Response-Validierung je dokumentiertem
Endpunkt und Statuscode, programmatischer Vollstaendigkeitsabgleich
gegen alle in openapi.yaml definierten Pfade, sowie ein
DetectsBreakingChange-Gegentest.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CI-Job fuer die mail-Vertragstests, nach demselben Muster wie
contract-tests.yml (Core) und archive-contract-tests.yml (Archive):
eigener Job, Trigger auf push/pull_request bei Aenderungen unter
mail/internal/mailapi/**.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
QA-06: schnittstellen-vertragstests
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
Archive-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Mail-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Mail-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (push) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Mail-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
e25781a63e
Pruefprotokoll: Ausgangslagepruefung (INT-09/INT-10 Branches ohne
OpenAPI-Auswirkung verifiziert, direkt auf main aufgebaut),
Nachweise je Akzeptanzkriterium, Ersatz fuer Stichprobenreview durch
zweite Person (zwei getrennte Selbstpruefungsrunden inkl. je einem
dokumentierten Fund), bekannte Scope-Luecke (mailrulesapi/healthcheck
ohne eigenen OpenAPI-Beitrag).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Author
Owner

Inhalt bereits in main enthalten (geprueft per merge_all_prs.sh: leerer Merge-Diff). Geschlossen ohne Merge.

Inhalt bereits in main enthalten (geprueft per merge_all_prs.sh: leerer Merge-Diff). Geschlossen ohne Merge.
patrick closed this pull request 2026-10-19 12:29:41 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#301