From 08cdb1c9dff270906e85cf6bd6a6e8b645e62ee3 Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Fri, 29 Sep 2023 10:31:40 +0200 Subject: [PATCH] Delete infra test helpers This is necessary to remove a dependency cycle. The helpers are moved to infra-operator/apis module. --- modules/certmanager/go.mod | 1 - modules/certmanager/go.sum | 2 - modules/test/go.mod | 1 - modules/test/go.sum | 2 - modules/test/helpers/memcached.go | 102 ------------------------------ modules/test/helpers/transport.go | 60 ------------------ 6 files changed, 168 deletions(-) delete mode 100644 modules/test/helpers/memcached.go delete mode 100644 modules/test/helpers/transport.go diff --git a/modules/certmanager/go.mod b/modules/certmanager/go.mod index 4799e383..3b0b6d97 100644 --- a/modules/certmanager/go.mod +++ b/modules/certmanager/go.mod @@ -41,7 +41,6 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/openshift/api v3.9.0+incompatible // indirect - github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 // indirect github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.14.0 // indirect diff --git a/modules/certmanager/go.sum b/modules/certmanager/go.sum index f90b5b6c..96a69f99 100644 --- a/modules/certmanager/go.sum +++ b/modules/certmanager/go.sum @@ -234,8 +234,6 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxCMwNRnMjhhIDOWHJowi6q8G6koI= github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4= -github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 h1:W2HZy+uk5fnVwvw3+/Jd/k7sNiVXCOd8SiV0dMvmjys= -github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44/go.mod h1:fOJ95wMSymtfoellY/TFKcrzW6bu/nTCTzEnFEgCGCc= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c h1:9R8T1WRwuPS5KMfsQWxAMSGPuJrGMJ7bODKK9dirhHA= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c/go.mod h1:xXHF/R/L0XamRHR/UkzlgzSTocBQ6GSQ2U16Q9Mf/bA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= diff --git a/modules/test/go.mod b/modules/test/go.mod index 083c966e..ce860a33 100644 --- a/modules/test/go.mod +++ b/modules/test/go.mod @@ -6,7 +6,6 @@ require ( github.com/cert-manager/cert-manager v1.11.5 github.com/go-logr/logr v1.2.4 github.com/onsi/gomega v1.27.10 - github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216 github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c golang.org/x/mod v0.12.0 diff --git a/modules/test/go.sum b/modules/test/go.sum index 6848494d..743365e1 100644 --- a/modules/test/go.sum +++ b/modules/test/go.sum @@ -228,8 +228,6 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxCMwNRnMjhhIDOWHJowi6q8G6koI= github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4= -github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 h1:W2HZy+uk5fnVwvw3+/Jd/k7sNiVXCOd8SiV0dMvmjys= -github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44/go.mod h1:fOJ95wMSymtfoellY/TFKcrzW6bu/nTCTzEnFEgCGCc= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c h1:9R8T1WRwuPS5KMfsQWxAMSGPuJrGMJ7bODKK9dirhHA= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c/go.mod h1:xXHF/R/L0XamRHR/UkzlgzSTocBQ6GSQ2U16Q9Mf/bA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= diff --git a/modules/test/helpers/memcached.go b/modules/test/helpers/memcached.go deleted file mode 100644 index 756d38ca..00000000 --- a/modules/test/helpers/memcached.go +++ /dev/null @@ -1,102 +0,0 @@ -/* -Copyright 2023 Red Hat -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package helpers - -import ( - "fmt" - - t "github.com/onsi/gomega" - memcachedv1 "github.com/openstack-k8s-operators/infra-operator/apis/memcached/v1beta1" - "github.com/openstack-k8s-operators/lib-common/modules/common/condition" - k8s_errors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" - - corev1 "k8s.io/api/core/v1" -) - -// CreateMemcached creates a new Memcached instance with the specified namespace in the Kubernetes cluster. -func (tc *TestHelper) CreateMemcached(namespace string, memcachedName string, spec memcachedv1.MemcachedSpec) types.NamespacedName { - name := types.NamespacedName{ - Name: memcachedName, - Namespace: namespace, - } - - mc := &memcachedv1.Memcached{ - TypeMeta: metav1.TypeMeta{ - APIVersion: "memcached.openstack.org/v1beta1", - Kind: "Memcached", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: memcachedName, - Namespace: namespace, - }, - Spec: spec, - } - - t.Expect(tc.K8sClient.Create(tc.Ctx, mc)).Should(t.Succeed()) - - return name -} - -// DeleteMemcached deletes a Memcached instance from the Kubernetes cluster. -func (tc *TestHelper) DeleteMemcached(name types.NamespacedName) { - t.Eventually(func(g t.Gomega) { - service := &corev1.Service{} - err := tc.K8sClient.Get(tc.Ctx, name, service) - // if it is already gone that is OK - if k8s_errors.IsNotFound(err) { - return - } - g.Expect(err).NotTo(t.HaveOccurred()) - - g.Expect(tc.K8sClient.Delete(tc.Ctx, service)).Should(t.Succeed()) - - err = tc.K8sClient.Get(tc.Ctx, name, service) - g.Expect(k8s_errors.IsNotFound(err)).To(t.BeTrue()) - }, tc.Timeout, tc.Interval).Should(t.Succeed()) -} - -// GetMemcached waits for and retrieves a Memcached instance from the Kubernetes cluster -func (tc *TestHelper) GetMemcached(name types.NamespacedName) *memcachedv1.Memcached { - mc := &memcachedv1.Memcached{} - t.Eventually(func(g t.Gomega) { - g.Expect(tc.K8sClient.Get(tc.Ctx, name, mc)).Should(t.Succeed()) - }, tc.Timeout, tc.Interval).Should(t.Succeed()) - return mc -} - -// SimulateMemcachedReady simulates a ready state for a Memcached instance in a Kubernetes cluster. -func (tc *TestHelper) SimulateMemcachedReady(name types.NamespacedName) { - t.Eventually(func(g t.Gomega) { - mc := tc.GetMemcached(name) - mc.Status.Conditions.MarkTrue(condition.ReadyCondition, condition.ReadyMessage) - mc.Status.ReadyCount = *mc.Spec.Replicas - - serverList := []string{} - serverListWithInet := []string{} - for i := 0; i < int(*mc.Spec.Replicas); i++ { - serverList = append(serverList, fmt.Sprintf("%s-%d.%s:11211", mc.Name, i, mc.Name)) - serverListWithInet = append(serverListWithInet, fmt.Sprintf("inet:[%s-%d.%s]:11211", mc.Name, i, mc.Name)) - } - mc.Status.ServerList = serverList - mc.Status.ServerListWithInet = serverListWithInet - - // This can return conflict so we have the t.Eventually block to retry - g.Expect(tc.K8sClient.Status().Update(tc.Ctx, mc)).To(t.Succeed()) - - }, tc.Timeout, tc.Interval).Should(t.Succeed()) - - tc.Logger.Info("Simulated memcached ready", "on", name) -} diff --git a/modules/test/helpers/transport.go b/modules/test/helpers/transport.go deleted file mode 100644 index 24ed923e..00000000 --- a/modules/test/helpers/transport.go +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2023 Red Hat -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package helpers - -import ( - "github.com/onsi/gomega" - rabbitmqv1 "github.com/openstack-k8s-operators/infra-operator/apis/rabbitmq/v1beta1" - k8s_errors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/types" -) - -// GetTransportURL retrieves a TransportURL resource with the specified name. -// -// Example usage: -// -// th.GetTransportURL(types.NamespacedName{Name: "test-transporturl", Namespace: "test-namespace"}) -func (tc *TestHelper) GetTransportURL(name types.NamespacedName) *rabbitmqv1.TransportURL { - instance := &rabbitmqv1.TransportURL{} - gomega.Eventually(func(g gomega.Gomega) { - g.Expect(tc.K8sClient.Get(tc.Ctx, name, instance)).Should(gomega.Succeed()) - }, tc.Timeout, tc.Interval).Should(gomega.Succeed()) - return instance -} - -// SimulateTransportURLReady function retrieves the TransportURL and -// simulates the readiness of a TransportURL resource. -// -// Example usage: -// -// th.SimulateTransportURLReady(types.NamespacedName{Name: "test-transporturl", Namespace: "test-namespace"}) -func (tc *TestHelper) SimulateTransportURLReady(name types.NamespacedName) { - gomega.Eventually(func(g gomega.Gomega) { - transport := tc.GetTransportURL(name) - transport.Status.SecretName = transport.Spec.RabbitmqClusterName + "-secret" - transport.Status.Conditions.MarkTrue("TransportURLReady", "Ready") - g.Expect(tc.K8sClient.Status().Update(tc.Ctx, transport)).To(gomega.Succeed()) - - }, tc.Timeout, tc.Interval).Should(gomega.Succeed()) - tc.Logger.Info("Simulated TransportURL ready", "on", name) -} - -// AssertTransportURLDoesNotExist ensures the TransportURL resource does not exist in a k8s cluster. -func (tc *TestHelper) AssertTransportURLDoesNotExist(name types.NamespacedName) { - instance := &rabbitmqv1.TransportURL{} - gomega.Eventually(func(g gomega.Gomega) { - err := tc.K8sClient.Get(tc.Ctx, name, instance) - g.Expect(k8s_errors.IsNotFound(err)).To(gomega.BeTrue()) - }, tc.Timeout, tc.Interval).Should(gomega.Succeed()) -}