fix(tests): check eventual web key state (#8587)

# Which Problems Are Solved

Deal with eventual consistency in the webkey integration tests.

# How the Problems Are Solved

Use an eventual with T for the list state check.

# Additional Changes

- none

# Additional Context

- none

---------

Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
Tim Möhlmann
2024-09-10 14:15:25 +03:00
committed by GitHub
parent 650c21f18a
commit 622a176be4

View File

@@ -191,13 +191,13 @@ func createInstance(t *testing.T, enableFeature bool) (*integration.Instance, co
}) })
require.NoError(t, err) require.NoError(t, err)
} }
assert.EventuallyWithT(t, func(ttt *assert.CollectT) { assert.EventuallyWithT(t, func(collect *assert.CollectT) {
resp, err := instance.Client.WebKeyV3Alpha.ListWebKeys(iamCTX, &webkey.ListWebKeysRequest{}) resp, err := instance.Client.WebKeyV3Alpha.ListWebKeys(iamCTX, &webkey.ListWebKeysRequest{})
if enableFeature { if enableFeature {
assert.NoError(ttt, err) assert.NoError(collect, err)
assert.Len(t, resp.GetWebKeys(), 2) assert.Len(collect, resp.GetWebKeys(), 2)
} else { } else {
assert.Error(t, err) assert.Error(collect, err)
} }
}, time.Minute, time.Second) }, time.Minute, time.Second)
@@ -213,10 +213,11 @@ func assertFeatureDisabledError(t *testing.T, err error) {
} }
func checkWebKeyListState(ctx context.Context, t *testing.T, instance *integration.Instance, nKeys int, expectActiveKeyID string, config any) { func checkWebKeyListState(ctx context.Context, t *testing.T, instance *integration.Instance, nKeys int, expectActiveKeyID string, config any) {
assert.EventuallyWithT(t, func(collect *assert.CollectT) {
resp, err := instance.Client.WebKeyV3Alpha.ListWebKeys(ctx, &webkey.ListWebKeysRequest{}) resp, err := instance.Client.WebKeyV3Alpha.ListWebKeys(ctx, &webkey.ListWebKeysRequest{})
require.NoError(t, err) require.NoError(collect, err)
list := resp.GetWebKeys() list := resp.GetWebKeys()
require.Len(t, list, nKeys) assert.Len(collect, list, nKeys)
now := time.Now() now := time.Now()
var gotActiveKeyID string var gotActiveKeyID string
@@ -229,17 +230,18 @@ func checkWebKeyListState(ctx context.Context, t *testing.T, instance *integrati
Id: instance.ID(), Id: instance.ID(),
}, },
}, key.GetDetails()) }, key.GetDetails())
assert.WithinRange(t, key.GetDetails().GetChanged().AsTime(), now.Add(-time.Minute), now.Add(time.Minute)) assert.WithinRange(collect, key.GetDetails().GetChanged().AsTime(), now.Add(-time.Minute), now.Add(time.Minute))
assert.NotEqual(t, webkey.WebKeyState_STATE_UNSPECIFIED, key.GetState()) assert.NotEqual(collect, webkey.WebKeyState_STATE_UNSPECIFIED, key.GetState())
assert.NotEqual(t, webkey.WebKeyState_STATE_REMOVED, key.GetState()) assert.NotEqual(collect, webkey.WebKeyState_STATE_REMOVED, key.GetState())
assert.Equal(t, config, key.GetConfig().GetConfig()) assert.Equal(collect, config, key.GetConfig().GetConfig())
if key.GetState() == webkey.WebKeyState_STATE_ACTIVE { if key.GetState() == webkey.WebKeyState_STATE_ACTIVE {
gotActiveKeyID = key.GetDetails().GetId() gotActiveKeyID = key.GetDetails().GetId()
} }
} }
assert.NotEmpty(t, gotActiveKeyID) assert.NotEmpty(collect, gotActiveKeyID)
if expectActiveKeyID != "" { if expectActiveKeyID != "" {
assert.Equal(t, expectActiveKeyID, gotActiveKeyID) assert.Equal(collect, expectActiveKeyID, gotActiveKeyID)
} }
}, time.Minute, time.Second)
} }