From 7dfb44d1bd3f6de9aba3299d6043a226dff18008 Mon Sep 17 00:00:00 2001 From: Erik Godding Boye Date: Sun, 26 Jan 2025 15:34:41 +0100 Subject: [PATCH] test(go): remove unused controller-runtime Manager --- core/server/suite_test.go | 9 ++-- pkg/run/install/install_suite_test.go | 4 ++ pkg/run/run_suite_test.go | 4 ++ pkg/server/auth/auth_test.go | 6 +-- pkg/testutils/testutils.go | 77 +++------------------------ 5 files changed, 21 insertions(+), 79 deletions(-) diff --git a/core/server/suite_test.go b/core/server/suite_test.go index 33eec593a3..e1781139b7 100644 --- a/core/server/suite_test.go +++ b/core/server/suite_test.go @@ -44,14 +44,13 @@ func TestMain(m *testing.M) { "../../tools/testcrds", }) if err != nil { - fmt.Fprintf(os.Stderr, "Failed to start test environment: %v\n", err) - os.Exit(1) + panic(err) } code := m.Run() - if k8sEnv != nil { - k8sEnv.Stop() // No return value to handle here - } + + k8sEnv.Stop() + os.Exit(code) } diff --git a/pkg/run/install/install_suite_test.go b/pkg/run/install/install_suite_test.go index 9be37908bb..54e5349eb4 100644 --- a/pkg/run/install/install_suite_test.go +++ b/pkg/run/install/install_suite_test.go @@ -33,3 +33,7 @@ var _ = BeforeSuite(func() { cleanupK8s = k8sEnv.Stop k8sClient = k8sEnv.Client }) + +var _ = AfterSuite(func() { + cleanupK8s() +}) diff --git a/pkg/run/run_suite_test.go b/pkg/run/run_suite_test.go index 2760abe407..a5d06c676b 100644 --- a/pkg/run/run_suite_test.go +++ b/pkg/run/run_suite_test.go @@ -33,3 +33,7 @@ var _ = BeforeSuite(func() { cleanupK8s = k8sEnv.Stop k8sClient = k8sEnv.Client }) + +var _ = AfterSuite(func() { + cleanupK8s() +}) diff --git a/pkg/server/auth/auth_test.go b/pkg/server/auth/auth_test.go index b49b2603cb..6d7c15b38b 100644 --- a/pkg/server/auth/auth_test.go +++ b/pkg/server/auth/auth_test.go @@ -346,9 +346,9 @@ func TestRateLimit(t *testing.T) { g.Expect(err).NotTo(HaveOccurred()) g.Expect(res1).To(HaveHTTPStatus(http.StatusOK)) - res2, err := http.Post(s.URL+"/oauth2/sign_in", "application/json", bytes.NewReader([]byte(`{"password":"my-secret-password"}`))) - g.Expect(err).NotTo(HaveOccurred()) - g.Expect(res2).To(HaveHTTPStatus(http.StatusTooManyRequests)) + g.Eventually(func() (*http.Response, error) { + return http.Post(s.URL+"/oauth2/sign_in", "application/json", bytes.NewReader([]byte(`{"password":"my-secret-password"}`))) + }).Should(HaveHTTPStatus(http.StatusTooManyRequests)) time.Sleep(time.Second) diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go index 796b4f25bf..4e3b77d73d 100644 --- a/pkg/testutils/testutils.go +++ b/pkg/testutils/testutils.go @@ -9,20 +9,13 @@ import ( "log" "net/http" "net/http/httptest" - "os" - "strings" "testing" "time" - kustomizev2 "github.com/fluxcd/kustomize-controller/api/v1" - sourcev1 "github.com/fluxcd/source-controller/api/v1" "github.com/go-jose/go-jose/v4" "github.com/go-jose/go-jose/v4/jwt" - "github.com/go-logr/logr" "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/discovery" @@ -31,16 +24,12 @@ import ( "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/restmapper" - ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/envtest" "github.com/weaveworks/weave-gitops/pkg/kube" - "github.com/weaveworks/weave-gitops/pkg/vendorfakes/fakelogr" ) -const BaseURI = "https://weave.works/api" - var k8sEnv *K8sTestEnv type K8sTestEnv struct { @@ -80,38 +69,8 @@ func StartK8sTestEnvironment(crdPaths []string) (*K8sTestEnv, error) { return nil, fmt.Errorf("could not create scheme: %w", err) } - k8sManager, err := ctrl.NewManager(cfg, ctrl.Options{ - Client: client.Options{ - Cache: &client.CacheOptions{ - DisableFor: []client.Object{ - &corev1.Namespace{}, - &corev1.Secret{}, - &appsv1.Deployment{}, - &corev1.ConfigMap{}, - &kustomizev2.Kustomization{}, - &sourcev1.GitRepository{}, - &v1.CustomResourceDefinition{}, - }, - }, - Scheme: scheme, - }, - }) - if err != nil { - return nil, fmt.Errorf("could not create controller manager: %w", err) - } - - ctrlCtx, ctrlCancel := context.WithCancel(context.Background()) - - go func() { - err := k8sManager.Start(ctrlCtx) - if err != nil { - log.Fatal(err.Error()) - } - }() - dc, err := discovery.NewDiscoveryClientForConfig(cfg) if err != nil { - ctrlCancel() return nil, fmt.Errorf("failed to initialize discovery client: %w", err) } @@ -119,18 +78,21 @@ func StartK8sTestEnvironment(crdPaths []string) (*K8sTestEnv, error) { dyn, err := dynamic.NewForConfig(cfg) if err != nil { - ctrlCancel() return nil, fmt.Errorf("failed to initialize dynamic client: %w", err) } + k8sClient, err := client.New(cfg, client.Options{Scheme: scheme}) + if err != nil { + return nil, fmt.Errorf("failed to initialize client: %w", err) + } + k8sEnv = &K8sTestEnv{ Env: testEnv, - Client: k8sManager.GetClient(), + Client: k8sClient, DynClient: dyn, RestMapper: mapper, Rest: cfg, Stop: func() { - ctrlCancel() err := testEnv.Stop() if err != nil { log.Fatal(err.Error()) @@ -141,33 +103,6 @@ func StartK8sTestEnvironment(crdPaths []string) (*K8sTestEnv, error) { return k8sEnv, nil } -// MakeFakeLogr returns an API compliant logr object that can be used for unit testing. -func MakeFakeLogr() (logr.Logger, *fakelogr.LogSink) { - sink := &fakelogr.LogSink{} - sink.WithValuesStub = func(i ...interface{}) logr.LogSink { - return sink - } - sink.EnabledStub = func(i int) bool { - return true - } - - return logr.New(sink), sink -} - -func Setenv(k, v string) func() { - prev := os.Environ() - os.Setenv(k, v) - - return func() { - os.Unsetenv(k) - - for _, kv := range prev { - parts := strings.SplitN(kv, "=", 2) - os.Setenv(parts[0], parts[1]) - } - } -} - // MakeRSAPrivateKey generates and returns an RSA Private Key. func MakeRSAPrivateKey(t *testing.T) *rsa.PrivateKey { t.Helper()