...
1
16
17 package main
18
19 import (
20 "fmt"
21 "os"
22 "path"
23 "testing"
24
25 v1 "sigs.k8s.io/gateway-api/apis/v1"
26 "sigs.k8s.io/gateway-api/apis/v1alpha2"
27 "sigs.k8s.io/gateway-api/apis/v1beta1"
28
29 "k8s.io/client-go/tools/clientcmd"
30 "sigs.k8s.io/controller-runtime/pkg/client"
31 )
32
33 var k8sClient client.Client
34
35 func TestMain(m *testing.M) {
36 kubeconfig := os.Getenv("KUBECONFIG")
37 if kubeconfig == "" {
38 kubeconfig = path.Join(os.Getenv("HOME"), ".kube/config")
39 }
40
41 restConfig, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
42 if err != nil {
43 panic(fmt.Sprintf("Failed to get restConfig from BuildConfigFromFlags: %v", err))
44 }
45
46 k8sClient, err = client.New(restConfig, client.Options{})
47 if err != nil {
48 panic(fmt.Sprintf("Error initializing Kubernetes client: %v", err))
49 }
50 v1alpha2.AddToScheme(k8sClient.Scheme())
51 v1beta1.AddToScheme(k8sClient.Scheme())
52 v1.AddToScheme(k8sClient.Scheme())
53
54 os.Exit(m.Run())
55 }
56
57 func ptrTo[T any](a T) *T {
58 return &a
59 }
60
View as plain text