Gespiegelt von Core QA-07 (internal/contracttest): jeder Vertragstest prueft die TATSAECHLICHE Antwort einer echten Archive-Komponente gegen ihr dokumentiertes Schema, nicht nur eine Annahme darueber. Zwei Vertraege abgedeckt: - RET-05 Registrierungs-Antwort (POST /register) - RegisterHandler echt aufgerufen, Antwortfelder (ID/TenantSlug/ModuleName/ObjectType/ RetentionClass/CallbackURL) geprueft. - RET-05 Vernichtungs-Rueckruf-Payload (NotifyDestruction) - echter HTTP-Request an Testserver, Payload-Felder (object_type/ object_reference/destroyed_at) geprueft. Je Vertrag ein Breaking-Change-Erkennungstest (entferntes bzw. umbenanntes Pflichtfeld in einer handgebauten Fixture) - beide werden zuverlaessig erkannt. .gitea/workflows/archive-contract-tests.yml fuehrt die Tests bei jedem Push/PR aus. Gitea-Actions-Runner auf 192.168.1.131 laeuft (nach Neustart wiederbelebt) und verarbeitet bereits den Ruecklauf aus den vorherigen Sessions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
24 lines
568 B
YAML
24 lines
568 B
YAML
name: Archive-Schnittstellen-Vertragstests
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- "archive/internal/contracttest/**"
|
|
- "archive/internal/moduleadapter/**"
|
|
pull_request:
|
|
paths:
|
|
- "archive/internal/contracttest/**"
|
|
- "archive/internal/moduleadapter/**"
|
|
|
|
jobs:
|
|
contract-tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
- name: Vertragstests ausfuehren
|
|
working-directory: archive
|
|
run: go test ./internal/contracttest/... -v
|