diff --git a/internal/kek/kek_test.go b/internal/kek/kek_test.go index 160d71e..1095ae3 100644 --- a/internal/kek/kek_test.go +++ b/internal/kek/kek_test.go @@ -167,15 +167,19 @@ func TestRotateMasterKey_AllTenantKEKsRemainDecryptableWithSamePlaintext(t *test } newMasterKeyVal := newMasterKey(t) - rotated, failed, err := store.RotateMasterKey(ctx, oldMasterKey, newMasterKeyVal) + _, failed, err := store.RotateMasterKey(ctx, oldMasterKey, newMasterKeyVal) if err != nil { t.Fatalf("rotatemasterkey: %v", err) } - if len(failed) != 0 { - t.Fatalf("erwartet keine fehlgeschlagenen tenants, habe: %v", failed) - } - if rotated < 2 { - t.Fatalf("erwartet mindestens 2 rotierte tenant-keks, habe %d", rotated) + // RotateMasterKey verarbeitet ALLE tenant_keks-Zeilen der (in Tests + // geteilten) Datenbank — Zeilen anderer Tests, die unter einem ANDEREN + // zufaelligen Master-Key verpackt wurden, schlagen hier ERWARTBAR fehl + // (das ist die korrekte Fehler-Isolation von RotateMasterKey, kein Bug). + // Relevant ist nur, dass GENAU DIESE beiden Tenants NICHT scheitern. + for _, id := range failed { + if id == tenantA || id == tenantB { + t.Fatalf("tenant %s haette bei der rotation nicht fehlschlagen duerfen", id) + } } // Entschluesselung mit dem NEUEN master-key liefert EXAKT denselben