@@ -25,11 +25,14 @@ import (
2525 . "github.com/onsi/gomega"
2626 ocp_config "github.com/openshift/api/config/v1"
2727 corev1 "k8s.io/api/core/v1"
28+ "k8s.io/apimachinery/pkg/api/meta"
2829 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
30+ "k8s.io/apimachinery/pkg/runtime/schema"
2931 "k8s.io/client-go/kubernetes/scheme"
3032 ctrl "sigs.k8s.io/controller-runtime"
3133 "sigs.k8s.io/controller-runtime/pkg/client"
3234 "sigs.k8s.io/controller-runtime/pkg/client/fake"
35+ "sigs.k8s.io/controller-runtime/pkg/client/interceptor"
3336)
3437
3538func setupHelper (objs ... client.Object ) (* helper.Helper , error ) {
@@ -54,6 +57,39 @@ func setupHelper(objs ...client.Object) (*helper.Helper, error) {
5457 return helper .NewHelper (ns , fakeClient , nil , s , ctrl .Log )
5558}
5659
60+ func setupHelperWithoutOCPScheme (objs ... client.Object ) (* helper.Helper , error ) {
61+ s := scheme .Scheme
62+ err := ocp_config .AddToScheme (s )
63+ if err != nil {
64+ return nil , err
65+ }
66+
67+ fakeClient := fake .NewClientBuilder ().
68+ WithScheme (s ).
69+ WithObjects (objs ... ).
70+ WithInterceptorFuncs (interceptor.Funcs {
71+ Get : func (ctx context.Context , client client.WithWatch , key client.ObjectKey , obj client.Object , opts ... client.GetOption ) error {
72+ if _ , ok := obj .(* ocp_config.Network ); ok {
73+ return & meta.NoKindMatchError {
74+ GroupKind : schema.GroupKind {Group : "config.openshift.io" , Kind : "Network" },
75+ SearchedVersions : []string {"v1" },
76+ }
77+ }
78+ return client .Get (ctx , key , obj , opts ... )
79+ },
80+ }).
81+ Build ()
82+
83+ // Create a minimal namespace object for helper
84+ ns := & corev1.Namespace {
85+ ObjectMeta : metav1.ObjectMeta {
86+ Name : "test-namespace" ,
87+ },
88+ }
89+
90+ return helper .NewHelper (ns , fakeClient , nil , s , ctrl .Log )
91+ }
92+
5793func TestHasIPv6ClusterNetwork_OCP_IPv4 (t * testing.T ) {
5894 g := NewWithT (t )
5995
@@ -135,7 +171,7 @@ func TestHasIPv6ClusterNetwork_MicroShift_IPv4_NodePodCIDR(t *testing.T) {
135171 },
136172 }
137173
138- h , err := setupHelper (node )
174+ h , err := setupHelperWithoutOCPScheme (node )
139175 g .Expect (err ).NotTo (HaveOccurred ())
140176
141177 hasIPv6 , err := HasIPv6ClusterNetwork (context .TODO (), h )
@@ -155,7 +191,7 @@ func TestHasIPv6ClusterNetwork_MicroShift_IPv6_NodePodCIDR(t *testing.T) {
155191 },
156192 }
157193
158- h , err := setupHelper (node )
194+ h , err := setupHelperWithoutOCPScheme (node )
159195 g .Expect (err ).NotTo (HaveOccurred ())
160196
161197 hasIPv6 , err := HasIPv6ClusterNetwork (context .TODO (), h )
@@ -175,7 +211,7 @@ func TestHasIPv6ClusterNetwork_MicroShift_DualStack_NodePodCIDRs(t *testing.T) {
175211 },
176212 }
177213
178- h , err := setupHelper (node )
214+ h , err := setupHelperWithoutOCPScheme (node )
179215 g .Expect (err ).NotTo (HaveOccurred ())
180216
181217 hasIPv6 , err := HasIPv6ClusterNetwork (context .TODO (), h )
@@ -193,7 +229,7 @@ func TestHasIPv6ClusterNetwork_MicroShift_NoPodCIDR(t *testing.T) {
193229 Spec : corev1.NodeSpec {},
194230 }
195231
196- h , err := setupHelper (node )
232+ h , err := setupHelperWithoutOCPScheme (node )
197233 g .Expect (err ).NotTo (HaveOccurred ())
198234
199235 hasIPv6 , err := HasIPv6ClusterNetwork (context .TODO (), h )
@@ -259,7 +295,7 @@ func TestFirstClusterNetworkIsIPv6_MicroShift_IPv4First(t *testing.T) {
259295 },
260296 }
261297
262- h , err := setupHelper (node )
298+ h , err := setupHelperWithoutOCPScheme (node )
263299 g .Expect (err ).NotTo (HaveOccurred ())
264300
265301 isIPv6 , err := FirstClusterNetworkIsIPv6 (context .TODO (), h )
@@ -279,7 +315,7 @@ func TestFirstClusterNetworkIsIPv6_MicroShift_IPv6First(t *testing.T) {
279315 },
280316 }
281317
282- h , err := setupHelper (node )
318+ h , err := setupHelperWithoutOCPScheme (node )
283319 g .Expect (err ).NotTo (HaveOccurred ())
284320
285321 isIPv6 , err := FirstClusterNetworkIsIPv6 (context .TODO (), h )
@@ -297,7 +333,7 @@ func TestFirstClusterNetworkIsIPv6_MicroShift_NoPodCIDR(t *testing.T) {
297333 Spec : corev1.NodeSpec {},
298334 }
299335
300- h , err := setupHelper (node )
336+ h , err := setupHelperWithoutOCPScheme (node )
301337 g .Expect (err ).NotTo (HaveOccurred ())
302338
303339 isIPv6 , err := FirstClusterNetworkIsIPv6 (context .TODO (), h )
0 commit comments