...
1
16
17 package controllers
18
19 import (
20 "path/filepath"
21 "testing"
22
23 . "github.com/onsi/ginkgo"
24 . "github.com/onsi/gomega"
25 "k8s.io/client-go/kubernetes/scheme"
26 "k8s.io/client-go/rest"
27 "sigs.k8s.io/controller-runtime/pkg/client"
28 "sigs.k8s.io/controller-runtime/pkg/envtest"
29 "sigs.k8s.io/controller-runtime/pkg/envtest/printer"
30 logf "sigs.k8s.io/controller-runtime/pkg/log"
31 "sigs.k8s.io/controller-runtime/pkg/log/zap"
32
33 dnsmasqv1beta1 "github.com/kvaps/dnsmasq-controller/api/v1beta1"
34
35 )
36
37
38
39
40 var cfg *rest.Config
41 var k8sClient client.Client
42 var testEnv *envtest.Environment
43
44 func TestAPIs(t *testing.T) {
45 RegisterFailHandler(Fail)
46
47 RunSpecsWithDefaultAndCustomReporters(t,
48 "Controller Suite",
49 []Reporter{printer.NewlineReporter{}})
50 }
51
52 var _ = BeforeSuite(func(done Done) {
53 logf.SetLogger(zap.LoggerTo(GinkgoWriter, true))
54
55 By("bootstrapping test environment")
56 testEnv = &envtest.Environment{
57 CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")},
58 }
59
60 var err error
61 cfg, err = testEnv.Start()
62 Expect(err).ToNot(HaveOccurred())
63 Expect(cfg).ToNot(BeNil())
64
65 err = dnsmasqv1beta1.AddToScheme(scheme.Scheme)
66 Expect(err).NotTo(HaveOccurred())
67
68 err = dnsmasqv1beta1.AddToScheme(scheme.Scheme)
69 Expect(err).NotTo(HaveOccurred())
70
71 err = dnsmasqv1beta1.AddToScheme(scheme.Scheme)
72 Expect(err).NotTo(HaveOccurred())
73
74 err = dnsmasqv1beta1.AddToScheme(scheme.Scheme)
75 Expect(err).NotTo(HaveOccurred())
76
77
78
79 k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme})
80 Expect(err).ToNot(HaveOccurred())
81 Expect(k8sClient).ToNot(BeNil())
82
83 close(done)
84 }, 60)
85
86 var _ = AfterSuite(func() {
87 By("tearing down the test environment")
88 err := testEnv.Stop()
89 Expect(err).ToNot(HaveOccurred())
90 })
91
View as plain text