From 46fccd9c09e80e0b38a2a2ad20c5ad8c6d1ec4e3 Mon Sep 17 00:00:00 2001 From: sysops Date: Fri, 28 Aug 2026 10:04:51 +0200 Subject: [PATCH] =?UTF-8?q?API-10:=20test-fix=20=E2=80=94=20rotatemasterke?= =?UTF-8?q?y-assertion=20nur=20fuer=20eigene=20test-tenants=20pruefen=20(g?= =?UTF-8?q?eteilte=20test-db)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/kek/kek_test.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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