diff --git a/pkg/cmd/addon/enable/exec_test.go b/pkg/cmd/addon/enable/exec_test.go index 7673ed6ab..00b83b32e 100644 --- a/pkg/cmd/addon/enable/exec_test.go +++ b/pkg/cmd/addon/enable/exec_test.go @@ -4,12 +4,14 @@ package enable import ( "context" "fmt" + "os" "github.com/onsi/ginkgo" "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/rand" + "k8s.io/cli-runtime/pkg/genericclioptions" clusterapiv1 "open-cluster-management.io/api/cluster/v1" ) @@ -20,6 +22,8 @@ var _ = ginkgo.Describe("addon enable", func() { var suffix string var err error + appMgrAddonName := "application-manager" + ginkgo.BeforeEach(func() { suffix = rand.String(5) cluster1Name = fmt.Sprintf("cluster-%s", suffix) @@ -47,19 +51,21 @@ var _ = ginkgo.Describe("addon enable", func() { gomega.Expect(err).ToNot(gomega.HaveOccurred()) } + streams := genericclioptions.IOStreams{In: os.Stdin, Out: os.Stdout, ErrOut: os.Stderr} + ginkgo.Context("runWithClient", func() { ginkgo.It("Should create an application-manager ManagedClusterAddOn in ManagedCluster namespace successfully", func() { assertCreatingClusters(cluster1Name) o := Options{ - values: Values{ - clusters: []string{cluster1Name}, - addons: []string{appMgrAddonName}, - }, namespace: "open-cluster-management-agent-addon", + Streams: streams, } - err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false) + addons := []string{appMgrAddonName} + clusters := []string{cluster1Name} + + err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false, addons, clusters) gomega.Expect(err).ToNot(gomega.HaveOccurred()) gomega.Eventually(func() error { @@ -76,14 +82,14 @@ var _ = ginkgo.Describe("addon enable", func() { assertCreatingClusters(cluster2Name) o := Options{ - values: Values{ - clusters: []string{cluster1Name, cluster2Name}, - addons: []string{appMgrAddonName}, - }, namespace: "open-cluster-management-agent-addon", + Streams: streams, } - err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false) + addons := []string{appMgrAddonName} + clusters := []string{cluster1Name, cluster2Name} + + err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false, addons, clusters) gomega.Expect(err).ToNot(gomega.HaveOccurred()) gomega.Eventually(func() error { @@ -106,37 +112,15 @@ var _ = ginkgo.Describe("addon enable", func() { ginkgo.It("Should not create a ManagedClusterAddOn because ManagedCluster doesn't exist", func() { clusterName := "no-such-cluster" o := Options{ - values: Values{ - clusters: []string{clusterName}, - addons: []string{appMgrAddonName}, - }, + Streams: streams, } - err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false) + addons := []string{appMgrAddonName} + clusters := []string{clusterName} + + err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false, addons, clusters) gomega.Expect(err).To(gomega.HaveOccurred()) }) - ginkgo.It("Should not create a ManagedClusterAddOn because it's not a valid add-on name", func() { - assertCreatingClusters(cluster1Name) - - addonName := "no-such-addon" - o := Options{ - values: Values{ - clusters: []string{cluster1Name}, - addons: []string{addonName}, - }, - } - - err := o.runWithClient(clusterClient, kubeClient, apiExtensionsClient, dynamicClient, false) - gomega.Expect(err).ToNot(gomega.HaveOccurred()) - - gomega.Consistently(func() error { - _, err := addonClient.AddonV1alpha1().ManagedClusterAddOns(cluster1Name).Get(context.Background(), addonName, metav1.GetOptions{}) - if err != nil { - return err - } - return nil - }, consistentlyTimeout, consistentlyInterval).Should(gomega.HaveOccurred()) - }) }) }) diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole_agent.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole_agent.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole_agent.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole_agent.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole_binding.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole_binding.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/clusterrole_binding.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/clusterrole_binding.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_channel.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_channel.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_channel.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_channel.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_clusterreport.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_clusterreport.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_clusterreport.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_clusterreport.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_helmrelease.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_helmrelease.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_helmrelease.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_helmrelease.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_placementrule.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_placementrule.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_placementrule.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_placementrule.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_report.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_report.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_report.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_report.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_subscription.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_subscription.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_subscription.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_subscription.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/crd_subscriptionstatuses.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/crd_subscriptionstatuses.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/crd_subscriptionstatuses.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/crd_subscriptionstatuses.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/deployment_appsubsummary.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/deployment_appsubsummary.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/deployment_appsubsummary.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/deployment_appsubsummary.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/deployment_channel.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/deployment_channel.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/deployment_channel.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/deployment_channel.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/deployment_placementrule.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/deployment_placementrule.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/deployment_placementrule.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/deployment_placementrule.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/deployment_subscription.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/deployment_subscription.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/deployment_subscription.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/deployment_subscription.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/service.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/service.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/service.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/service.yaml diff --git a/pkg/cmd/install/addons/scenario/addons/appmgr/service_account.yaml b/pkg/cmd/install/addons/scenario/addon/appmgr/service_account.yaml similarity index 100% rename from pkg/cmd/install/addons/scenario/addons/appmgr/service_account.yaml rename to pkg/cmd/install/addons/scenario/addon/appmgr/service_account.yaml diff --git a/pkg/cmd/install/addons/scenario/resources.go b/pkg/cmd/install/addons/scenario/resources.go index bb09bcd80..029ceba86 100644 --- a/pkg/cmd/install/addons/scenario/resources.go +++ b/pkg/cmd/install/addons/scenario/resources.go @@ -7,7 +7,7 @@ import ( "open-cluster-management.io/clusteradm/pkg/helpers/asset" ) -//go:embed addons +//go:embed addon var files embed.FS func GetScenarioResourcesReader() *asset.ScenarioResourcesReader { diff --git a/test/integration-test.mk b/test/integration-test.mk index 511e147fe..6625a6ea6 100644 --- a/test/integration-test.mk +++ b/test/integration-test.mk @@ -30,5 +30,5 @@ clean-integration-test: clean: clean-integration-test test-integration: ensure-kubebuilder-tools - go test -v ./pkg/cmd/enable/addons ./pkg/cmd/install/addons + go test -v ./pkg/cmd/addon/enable ./pkg/cmd/install/addons .PHONY: test-integration