Skip to content

Commit 74e1dc8

Browse files
authored
Wrap workspace creation in eventually (#3939)
Signed-off-by: Nelo-T. Wallus <red.brush9525@fastmail.com> Signed-off-by: Nelo-T. Wallus <n.wallus@sap.com>
1 parent 8595640 commit 74e1dc8

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

test/e2e/reconciler/workspacedeletion/controller_test.go

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"testing"
2323
"time"
2424

25+
"github.com/stretchr/testify/assert"
2526
"github.com/stretchr/testify/require"
2627
"sigs.k8s.io/yaml"
2728

@@ -65,23 +66,27 @@ func TestWorkspaceDeletion(t *testing.T) {
6566
orgPath, _ := kcptesting.NewWorkspaceFixture(t, server, core.RootCluster.Path(), kcptesting.WithType(core.RootCluster.Path(), "organization"))
6667

6768
t.Logf("Create a workspace with a shard")
68-
workspace, err := server.kcpClusterClient.Cluster(orgPath).TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{
69-
ObjectMeta: metav1.ObjectMeta{Name: "ws-cleanup"},
70-
Spec: tenancyv1alpha1.WorkspaceSpec{
71-
Type: &tenancyv1alpha1.WorkspaceTypeReference{
72-
Name: "universal",
73-
Path: "root",
74-
},
75-
Location: &tenancyv1alpha1.WorkspaceLocation{
76-
Selector: &metav1.LabelSelector{
77-
MatchLabels: map[string]string{
78-
"name": corev1alpha1.RootShard,
69+
var workspace *tenancyv1alpha1.Workspace
70+
require.EventuallyWithT(t, func(c *assert.CollectT) {
71+
var err error
72+
workspace, err = server.kcpClusterClient.Cluster(orgPath).TenancyV1alpha1().Workspaces().Create(ctx, &tenancyv1alpha1.Workspace{
73+
ObjectMeta: metav1.ObjectMeta{Name: "ws-cleanup"},
74+
Spec: tenancyv1alpha1.WorkspaceSpec{
75+
Type: &tenancyv1alpha1.WorkspaceTypeReference{
76+
Name: "universal",
77+
Path: "root",
78+
},
79+
Location: &tenancyv1alpha1.WorkspaceLocation{
80+
Selector: &metav1.LabelSelector{
81+
MatchLabels: map[string]string{
82+
"name": corev1alpha1.RootShard,
83+
},
7984
},
8085
},
8186
},
82-
},
83-
}, metav1.CreateOptions{})
84-
require.NoError(t, err, "failed to create workspace")
87+
}, metav1.CreateOptions{})
88+
require.NoError(c, err, "failed to create workspace")
89+
}, wait.ForeverTestTimeout, 100*time.Millisecond)
8590

8691
t.Logf("Workspace should be scheduled")
8792
kcptestinghelpers.EventuallyCondition(t, func() (conditions.Getter, error) {
@@ -122,7 +127,7 @@ func TestWorkspaceDeletion(t *testing.T) {
122127
}, wait.ForeverTestTimeout, 100*time.Millisecond, "default namespace was never created")
123128

124129
t.Logf("Delete default ns should be forbidden")
125-
err = server.kubeClusterClient.Cluster(workspaceCluster).CoreV1().Namespaces().Delete(ctx, metav1.NamespaceDefault, metav1.DeleteOptions{})
130+
err := server.kubeClusterClient.Cluster(workspaceCluster).CoreV1().Namespaces().Delete(ctx, metav1.NamespaceDefault, metav1.DeleteOptions{})
126131
if !apierrors.IsForbidden(err) {
127132
t.Fatalf("expect default namespace deletion to be forbidden")
128133
}

0 commit comments

Comments
 (0)