Testcases for controller. 77/12077/2
authornaman.gupta <naman.gupta@samsung.com>
Wed, 22 Nov 2023 07:28:56 +0000 (12:58 +0530)
committerThoralf Czichy <thoralf.czichy@nokia.com>
Thu, 7 Dec 2023 09:17:51 +0000 (09:17 +0000)
Testcases for controller.

Change-Id: I4971c72fb45eb370e6af5c0051a2dd3f815e8229
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
depRicKubernetesOperator/internal/controller/suite_test.go [new file with mode: 0644]

diff --git a/depRicKubernetesOperator/internal/controller/suite_test.go b/depRicKubernetesOperator/internal/controller/suite_test.go
new file mode 100644 (file)
index 0000000..c0f2769
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+Copyright 2023.
+
+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 controller
+
+import (
+       "path/filepath"
+       "testing"
+
+       . "github.com/onsi/ginkgo/v2"
+       . "github.com/onsi/gomega"
+
+       "k8s.io/client-go/kubernetes/scheme"
+       "k8s.io/client-go/rest"
+       "sigs.k8s.io/controller-runtime/pkg/client"
+       "sigs.k8s.io/controller-runtime/pkg/envtest"
+       logf "sigs.k8s.io/controller-runtime/pkg/log"
+       "sigs.k8s.io/controller-runtime/pkg/log/zap"
+
+       ricdeployv1 "ricdeploy/api/v1"
+       //+kubebuilder:scaffold:imports
+)
+
+// These tests use Ginkgo (BDD-style Go testing framework). Refer to
+// http://onsi.github.io/ginkgo/ to learn more about Ginkgo.
+
+var cfg *rest.Config
+var k8sClient client.Client
+var testEnv *envtest.Environment
+
+func TestControllers(t *testing.T) {
+       RegisterFailHandler(Fail)
+
+       RunSpecs(t, "Controller Suite")
+}
+
+var _ = BeforeSuite(func() {
+       logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true)))
+
+       By("bootstrapping test environment")
+       testEnv = &envtest.Environment{
+               CRDDirectoryPaths:     []string{filepath.Join("..", "..", "config", "crd", "bases")},
+               ErrorIfCRDPathMissing: true,
+       }
+
+       var err error
+       // cfg is defined in this file globally.
+       cfg, err = testEnv.Start()
+       Expect(err).NotTo(HaveOccurred())
+       Expect(cfg).NotTo(BeNil())
+
+       err = ricdeployv1.AddToScheme(scheme.Scheme)
+       Expect(err).NotTo(HaveOccurred())
+
+       //+kubebuilder:scaffold:scheme
+
+       k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme})
+       Expect(err).NotTo(HaveOccurred())
+       Expect(k8sClient).NotTo(BeNil())
+
+})
+
+var _ = AfterSuite(func() {
+       By("tearing down the test environment")
+       err := testEnv.Stop()
+       Expect(err).NotTo(HaveOccurred())
+})