open-cluster-management.io/governance-policy-propagator@v0.13.0/controllers/suite_test.go (about) 1 // Copyright (c) 2021 Red Hat, Inc. 2 // Copyright Contributors to the Open Cluster Management project 3 4 package controllers 5 6 import ( 7 "path/filepath" 8 "testing" 9 10 . "github.com/onsi/ginkgo/v2" 11 . "github.com/onsi/gomega" 12 "k8s.io/client-go/kubernetes/scheme" 13 "sigs.k8s.io/controller-runtime/pkg/client" 14 "sigs.k8s.io/controller-runtime/pkg/envtest" 15 logf "sigs.k8s.io/controller-runtime/pkg/log" 16 "sigs.k8s.io/controller-runtime/pkg/log/zap" 17 18 //+kubebuilder:scaffold:imports 19 policyv1 "open-cluster-management.io/governance-policy-propagator/api/v1" 20 policyv1beta1 "open-cluster-management.io/governance-policy-propagator/api/v1beta1" 21 ) 22 23 // These tests use Ginkgo (BDD-style Go testing framework). Refer to 24 // http://onsi.github.io/ginkgo/ to learn more about Ginkgo. 25 26 var ( 27 k8sClient client.Client 28 testEnv *envtest.Environment 29 ) 30 31 func TestAPIs(t *testing.T) { 32 RegisterFailHandler(Fail) 33 34 RunSpecs(t, "Controller Suite") 35 } 36 37 var _ = BeforeSuite(func() { 38 logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) 39 40 By("bootstrapping test environment") 41 testEnv = &envtest.Environment{ 42 CRDDirectoryPaths: []string{ 43 filepath.Join("..", "deploy", "crds", "policy.open-cluster-management.io_placementbindings.yaml"), 44 filepath.Join("..", "deploy", "crds", "policy.open-cluster-management.io_policies.yaml"), 45 filepath.Join("..", "deploy", "crds", "policy.open-cluster-management.io_policyautomations.yaml"), 46 }, 47 ErrorIfCRDPathMissing: true, 48 } 49 50 cfg, err := testEnv.Start() 51 Expect(err).NotTo(HaveOccurred()) 52 Expect(cfg).NotTo(BeNil()) 53 54 err = policyv1.AddToScheme(scheme.Scheme) 55 Expect(err).NotTo(HaveOccurred()) 56 57 err = policyv1beta1.AddToScheme(scheme.Scheme) 58 Expect(err).NotTo(HaveOccurred()) 59 60 //+kubebuilder:scaffold:scheme 61 62 k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) 63 Expect(err).NotTo(HaveOccurred()) 64 Expect(k8sClient).NotTo(BeNil()) 65 }) 66 67 var _ = AfterSuite(func() { 68 By("tearing down the test environment") 69 err := testEnv.Stop() 70 Expect(err).NotTo(HaveOccurred()) 71 })