github.com/kotalco/kotal@v0.3.0/controllers/graph/suite_test.go (about) 1 package graph 2 3 import ( 4 "path/filepath" 5 "testing" 6 7 . "github.com/onsi/ginkgo/v2" 8 . "github.com/onsi/gomega" 9 "k8s.io/client-go/kubernetes/scheme" 10 "k8s.io/client-go/rest" 11 "sigs.k8s.io/controller-runtime/pkg/client" 12 "sigs.k8s.io/controller-runtime/pkg/envtest" 13 logf "sigs.k8s.io/controller-runtime/pkg/log" 14 "sigs.k8s.io/controller-runtime/pkg/log/zap" 15 //+kubebuilder:scaffold:imports 16 ) 17 18 var cfg *rest.Config 19 var k8sClient client.Client 20 var testEnv *envtest.Environment 21 22 func TestAPIs(t *testing.T) { 23 RegisterFailHandler(Fail) 24 25 suiteConfig, reporterConfig := GinkgoConfiguration() 26 27 RunSpecs(t, 28 "Controller Suite", 29 suiteConfig, 30 reporterConfig) 31 } 32 33 var _ = BeforeSuite(func() { 34 logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) 35 36 By("bootstrapping test environment") 37 testEnv = &envtest.Environment{ 38 CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")}, 39 ErrorIfCRDPathMissing: false, 40 } 41 42 var err error 43 // cfg is defined in this file globally. 44 cfg, err = testEnv.Start() 45 Expect(err).NotTo(HaveOccurred()) 46 Expect(cfg).NotTo(BeNil()) 47 48 //+kubebuilder:scaffold:scheme 49 50 k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) 51 Expect(err).NotTo(HaveOccurred()) 52 Expect(k8sClient).NotTo(BeNil()) 53 54 }) 55 56 var _ = AfterSuite(func() { 57 By("tearing down the test environment") 58 err := testEnv.Stop() 59 Expect(err).NotTo(HaveOccurred()) 60 })