diff --git a/test/e2e/work_api_e2e_test.go b/test/e2e/work_api_e2e_test.go index a1c03a811..cbcbfa1ff 100644 --- a/test/e2e/work_api_e2e_test.go +++ b/test/e2e/work_api_e2e_test.go @@ -14,12 +14,13 @@ import ( "k8s.io/apimachinery/pkg/types" workapi "sigs.k8s.io/work-api/pkg/apis/v1alpha1" + "go.goms.io/fleet/apis/v1alpha1" "go.goms.io/fleet/pkg/utils" testutils "go.goms.io/fleet/test/e2e/utils" ) // TODO: enable this when join/leave logic is connected to work-api, join the Hub and Member for this test. -var _ = XDescribe("Work API Controller test", func() { +var _ = Describe("Work API Controller test", func() { const ( conditionTypeApplied = "Applied" @@ -29,6 +30,9 @@ var _ = XDescribe("Work API Controller test", func() { var ( ctx context.Context + // These variables are used to join the member cluster. + mc *v1alpha1.MemberCluster + // Includes all works applied to the hub cluster. Used for garbage collection. works []workapi.Work @@ -51,12 +55,22 @@ var _ = XDescribe("Work API Controller test", func() { resourceNamespace = testutils.NewNamespace(resourceNamespaceName) testutils.CreateNamespace(*MemberCluster, resourceNamespace) + // Member Cluster must join the fleet for Work API to work. + By("deploy member cluster in the hub cluster") + mc = testutils.NewMemberCluster(MemberCluster.ClusterName, 60, v1alpha1.ClusterStateJoin) + testutils.CreateMemberCluster(*HubCluster, mc) + + By("check if member cluster condition is updated to Joined") + testutils.WaitConditionMemberCluster(*HubCluster, mc, v1alpha1.ConditionTypeMemberClusterJoined, metav1.ConditionTrue, testutils.PollTimeout) + //Empties the works since they were garbage collected earlier. works = []workapi.Work{} }) AfterEach(func() { testutils.DeleteWork(ctx, *HubCluster, works) + testutils.DeleteMemberCluster(ctx, *HubCluster, mc) + testutils.DeleteNamespace(*MemberCluster, resourceNamespace) })