From 1fb88eda0bea0ba09153c9e5e495c19ec6ab73f7 Mon Sep 17 00:00:00 2001 From: Karel Suta Date: Wed, 30 Aug 2023 09:48:47 +0200 Subject: [PATCH] Test support: Return AppWrappers based on prefix --- test/support/client.go | 26 ++++++++++++++++++++++++++ test/support/mcad.go | 12 ++++++++++++ 2 files changed, 38 insertions(+) diff --git a/test/support/client.go b/test/support/client.go index 86a895eec..1a02e7eb8 100644 --- a/test/support/client.go +++ b/test/support/client.go @@ -20,10 +20,12 @@ import ( mcadclient "github.com/project-codeflare/multi-cluster-app-dispatcher/pkg/client/clientset/versioned" rayclient "github.com/ray-project/kuberay/ray-operator/pkg/client/clientset/versioned" + "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" _ "k8s.io/client-go/plugin/pkg/client/auth" "k8s.io/client-go/tools/clientcmd" + imagev1 "github.com/openshift/client-go/image/clientset/versioned" routev1 "github.com/openshift/client-go/route/clientset/versioned" codeflareclient "github.com/project-codeflare/codeflare-operator/client/clientset/versioned" @@ -34,17 +36,21 @@ import ( type Client interface { Core() kubernetes.Interface Route() routev1.Interface + Image() imagev1.Interface CodeFlare() codeflareclient.Interface MCAD() mcadclient.Interface Ray() rayclient.Interface + Dynamic() dynamic.Interface } type testClient struct { core kubernetes.Interface route routev1.Interface + image imagev1.Interface codeflare codeflareclient.Interface mcad mcadclient.Interface ray rayclient.Interface + dynamic dynamic.Interface } var _ Client = (*testClient)(nil) @@ -57,6 +63,10 @@ func (t *testClient) Route() routev1.Interface { return t.route } +func (t *testClient) Image() imagev1.Interface { + return t.image +} + func (t *testClient) CodeFlare() codeflareclient.Interface { return t.codeflare } @@ -69,6 +79,10 @@ func (t *testClient) Ray() rayclient.Interface { return t.ray } +func (t *testClient) Dynamic() dynamic.Interface { + return t.dynamic +} + func newTestClient() (Client, error) { cfg, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( clientcmd.NewDefaultClientConfigLoadingRules(), @@ -88,6 +102,11 @@ func newTestClient() (Client, error) { return nil, err } + imageClient, err := imagev1.NewForConfig(cfg) + if err != nil { + return nil, err + } + codeFlareClient, err := codeflareclient.NewForConfig(cfg) if err != nil { return nil, err @@ -103,11 +122,18 @@ func newTestClient() (Client, error) { return nil, err } + dynamicClient, err := dynamic.NewForConfig(cfg) + if err != nil { + return nil, err + } + return &testClient{ core: kubeClient, route: routeClient, + image: imageClient, codeflare: codeFlareClient, mcad: mcadClient, ray: rayClient, + dynamic: dynamicClient, }, nil } diff --git a/test/support/mcad.go b/test/support/mcad.go index a5ce310f8..d243852dc 100644 --- a/test/support/mcad.go +++ b/test/support/mcad.go @@ -32,6 +32,18 @@ func AppWrapper(t Test, namespace *corev1.Namespace, name string) func(g gomega. } } +func AppWrappers(t Test, namespace *corev1.Namespace) func(g gomega.Gomega) []mcadv1beta1.AppWrapper { + return func(g gomega.Gomega) []mcadv1beta1.AppWrapper { + aws, err := t.Client().MCAD().WorkloadV1beta1().AppWrappers(namespace.Name).List(t.Ctx(), metav1.ListOptions{}) + g.Expect(err).NotTo(gomega.HaveOccurred()) + return aws.Items + } +} + +func AppWrapperName(aw *mcadv1beta1.AppWrapper) string { + return aw.Name +} + func AppWrapperState(aw *mcadv1beta1.AppWrapper) mcadv1beta1.AppWrapperState { return aw.Status.State }