mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 10:17:34 +00:00
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:
@@ -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)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user