
The auth service (Dex) does not depend on the SIP scheduling output like the other services do, so it can be put in place independet of SIP. This will remove complexity from SIP and give more flexibility in how we deploy Dex through kustomize. Change-Id: I1f871ae3be7d228cef867af6bed8ffffd6d0ea56
86 lines
2.1 KiB
Go
86 lines
2.1 KiB
Go
package services_test
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
airshipv1 "sipcluster/pkg/api/v1"
|
|
"sipcluster/pkg/controllers"
|
|
|
|
metal3 "github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1"
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
"k8s.io/client-go/kubernetes/scheme"
|
|
"k8s.io/client-go/rest"
|
|
ctrl "sigs.k8s.io/controller-runtime"
|
|
"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"
|
|
)
|
|
|
|
func TestServices(t *testing.T) {
|
|
RegisterFailHandler(Fail)
|
|
RunSpecs(t, "Services Suite")
|
|
}
|
|
|
|
var cfg *rest.Config
|
|
var k8sClient client.Client
|
|
var testEnv *envtest.Environment
|
|
|
|
var logger = zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))
|
|
|
|
var _ = BeforeSuite(func(done Done) {
|
|
logf.SetLogger(logger)
|
|
|
|
By("bootstrapping test environment")
|
|
testEnv = &envtest.Environment{
|
|
CRDInstallOptions: envtest.CRDInstallOptions{
|
|
ErrorIfPathMissing: true,
|
|
Paths: []string{
|
|
filepath.Join("..", "..", "config", "crd", "bases"), // SIP CRD
|
|
filepath.Join("..", "..", "config", "samples", "bmh", "crd"), // BMH CRD
|
|
},
|
|
},
|
|
}
|
|
|
|
var err error
|
|
cfg, err = testEnv.Start()
|
|
Expect(err).ToNot(HaveOccurred())
|
|
Expect(cfg).ToNot(BeNil())
|
|
|
|
err = airshipv1.AddToScheme(scheme.Scheme)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
err = metal3.AddToScheme(scheme.Scheme)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
k8sManager, err := ctrl.NewManager(cfg, ctrl.Options{
|
|
Scheme: scheme.Scheme,
|
|
MetricsBindAddress: "0",
|
|
})
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme})
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
err = (&controllers.SIPClusterReconciler{
|
|
Client: k8sClient,
|
|
Scheme: scheme.Scheme,
|
|
}).SetupWithManager(k8sManager)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
go func() {
|
|
err = k8sManager.Start(ctrl.SetupSignalHandler())
|
|
Expect(err).ToNot(HaveOccurred())
|
|
}()
|
|
|
|
close(done)
|
|
}, 60)
|
|
|
|
var _ = AfterSuite(func() {
|
|
By("tearing down the test environment")
|
|
err := testEnv.Stop()
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|