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  })