From f6367347b8c78ff0edae609c4ecd6b024744328e Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Fri, 20 Mar 2026 12:20:25 +0100 Subject: [PATCH] Wrap workspace creation in EventuallyWithT Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../reconciler/workspace/controller_test.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/test/e2e/reconciler/workspace/controller_test.go b/test/e2e/reconciler/workspace/controller_test.go index 0f00d9b6ca9..849b2106a3c 100644 --- a/test/e2e/reconciler/workspace/controller_test.go +++ b/test/e2e/reconciler/workspace/controller_test.go @@ -21,12 +21,15 @@ import ( "fmt" "strings" "testing" + "time" "github.com/google/go-cmp/cmp" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "github.com/kcp-dev/sdk/apis/core" corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" @@ -73,8 +76,12 @@ func TestWorkspaceController(t *testing.T) { // note that the root shard always exists if not deleted t.Logf("Create a workspace with a shard") - workspace, err := server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{ObjectMeta: metav1.ObjectMeta{Name: "steve"}}, metav1.CreateOptions{}) - require.NoError(t, err, "failed to create workspace") + var workspace *tenancyv1alpha1.Workspace + require.EventuallyWithT(t, func(c *assert.CollectT) { + var err error + workspace, err = server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{ObjectMeta: metav1.ObjectMeta{Name: "steve"}}, metav1.CreateOptions{}) + require.NoError(c, err, "failed to create workspace") + }, wait.ForeverTestTimeout, 100*time.Millisecond) server.RunningServer.Artifact(t, func() (runtime.Object, error) { return server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Get(ctx, workspace.Name, metav1.GetOptions{}) }) @@ -102,8 +109,12 @@ func TestWorkspaceController(t *testing.T) { require.NoError(t, err) t.Logf("Create a workspace without shards") - workspace, err := server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{ObjectMeta: metav1.ObjectMeta{Name: "steve"}}, metav1.CreateOptions{}) - require.NoError(t, err, "failed to create workspace") + var workspace *tenancyv1alpha1.Workspace + require.EventuallyWithT(t, func(c *assert.CollectT) { + var err error + workspace, err = server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{ObjectMeta: metav1.ObjectMeta{Name: "steve"}}, metav1.CreateOptions{}) + require.NoError(c, err, "failed to create workspace") + }, wait.ForeverTestTimeout, 100*time.Millisecond) server.RunningServer.Artifact(t, func() (runtime.Object, error) { return server.orgWorkspaceKcpClient.TenancyV1alpha1().Workspaces().Get(ctx, workspace.Name, metav1.GetOptions{}) })