workflow: Pflichttest-Gate fuer bearerauth #415
No files matched your search
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user