Merge pull request 'workflow: Pflichttest-Gate fuer bearerauth' (#415) from feat/workflow-gate-bearerauth into main
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Successful in 38s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 2s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Successful in 4s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 14s
CI / Web (dms-browser) (push) Failing after 54s
CI / Web (pdf-viewer) (push) Failing after 39s
CI / Web (shl) (push) Failing after 8s
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 51s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 4s

This commit was merged in pull request #415.
This commit is contained in:
patrick committed 2026-10-28 22:15:58 +01:00
commit 237403e27d
3 files changed
+12 -1

No files matched your search

+3 -1
View File
@@ -63,7 +63,9 @@ aendert — **jede geaenderte `.go`-Datei muss von einer geaenderten oder neuen
- **Auth-nahe Logik:** `workflow/internal/svcauth/` (Service-Token-Vergleich in
konstanter Zeit), `workflow/internal/moduleadapter/` (prueft `X-Service-Token`
gegen `svcauth.Equal` — der tatsaechliche Durchsetzungspunkt)
gegen `svcauth.Equal` — der tatsaechliche Durchsetzungspunkt),
`workflow/internal/bearerauth/` (prueft das Bearer-Token der Frontends gegen
die Core-JWKS; `X-User-Id` nur noch ueber den Uebergangsschalter)
- **Tenant-Scoping:** `workflow/internal/tenantregistryclient/` (fragt Core TEN-01,
muss bei Fehler fail-closed bleiben), `workflow/internal/backchannel/` und
`workflow/internal/backchannelapi/` (extern erreichbarer Eingang, der den
@@ -18,6 +18,7 @@ import (
// workflow/docs/TESTSTRATEGIE.md Abschnitt 4.
var sensitivePathPatterns = []*regexp.Regexp{
regexp.MustCompile(`(^|/)workflow/internal/moduleadapter/`),
regexp.MustCompile(`(^|/)workflow/internal/bearerauth/`),
regexp.MustCompile(`(^|/)workflow/internal/backchannel/`),
regexp.MustCompile(`(^|/)workflow/internal/backchannelapi/`),
regexp.MustCompile(`(^|/)workflow/internal/dualcheck/`),
@@ -35,6 +35,7 @@ func TestCheckDiff_IgnoresNonSensitivePaths(t *testing.T) {
func TestCheckDiff_CoversAllSensitivePackages(t *testing.T) {
files := []string{
"workflow/internal/moduleadapter/x.go",
"workflow/internal/bearerauth/x.go",
"workflow/internal/backchannel/x.go",
"workflow/internal/backchannelapi/x.go",
"workflow/internal/dualcheck/x.go",
@@ -45,3 +46,10 @@ func TestCheckDiff_CoversAllSensitivePackages(t *testing.T) {
t.Fatalf("erwartet %d verstoesse (je package einer), habe %d: %+v", len(files), len(violations), violations)
}
}
func TestCheckDiff_FlagsBearerAuthChangeWithoutTest(t *testing.T) {
violations := CheckDiff([]string{"workflow/internal/bearerauth/bearerauth.go"})
if len(violations) != 1 || violations[0].Package != "workflow/internal/bearerauth" {
t.Fatalf("erwartet 1 verstoss fuer bearerauth, habe: %+v", violations)
}
}