From ce11a0ca590b6e932af44c8192dd714bd33c22f2 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 13 Nov 2026 03:10:41 -0800 Subject: [PATCH] credential: test a deleted per-entry file the legacy file also holds Co-Authored-By: Claude Opus 5.5 --- .../filer_etc/filer_etc_identity_test.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/weed/credential/filer_etc/filer_etc_identity_test.go b/weed/credential/filer_etc/filer_etc_identity_test.go index 6e5ce74723..08d6aab065 100644 --- a/weed/credential/filer_etc/filer_etc_identity_test.go +++ b/weed/credential/filer_etc/filer_etc_identity_test.go @@ -217,6 +217,20 @@ func TestMigrationKeepsChangesMadeAfterTheLoad(t *testing.T) { assert.NotNil(t, storedIdentity(t, server, "alice")) }) + t.Run("removed identity file also in the legacy file", func(t *testing.T) { + store, server := newPolicyTestStoreWithServer(t) + setEntry(server, filer.IamConfigDirectory, IamLegacyIdentityFile, legacy(`{"name":"alice"},{"name":"bob","actions":["Read:b"]}`)) + setEntry(server, identDir, "bob.json", []byte(`{"name":"bob","actions":["Read:b"]}`)) + changeAfterLoad(server, func() { + _, _ = server.DeleteEntry(ctx, &filer_pb.DeleteEntryRequest{Directory: identDir, Name: "bob.json"}) + }) + + _, err := store.LoadConfiguration(ctx) + require.NoError(t, err) + assert.Nil(t, storedIdentity(t, server, "bob")) + assert.NotNil(t, storedIdentity(t, server, "alice")) + }) + t.Run("rewritten legacy file", func(t *testing.T) { store, server := newPolicyTestStoreWithServer(t) setEntry(server, filer.IamConfigDirectory, IamLegacyIdentityFile, legacy(string(granted)))