From 15d8cdcfcea222c8f3d8d1b2dabd061356b722a3 Mon Sep 17 00:00:00 2001 From: casey-coreweave Date: Wed, 29 Apr 2026 08:40:15 -0700 Subject: [PATCH] fix(controller): Fix infra registry check --- pkg/utils/gvk.go | 2 +- pkg/utils/gvk_test.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkg/utils/gvk_test.go diff --git a/pkg/utils/gvk.go b/pkg/utils/gvk.go index 6853732b..402c7df6 100644 --- a/pkg/utils/gvk.go +++ b/pkg/utils/gvk.go @@ -13,7 +13,7 @@ func IsRegistered(scheme *runtime.Scheme, obj runtime.Object) bool { if err != nil || len(gvks) == 0 { return false } - return IsServerResource(fmt.Sprintf("%s.%s/%s", gvks[0].Kind, gvks[0].Group, gvks[0].Kind)) + return IsServerResource(fmt.Sprintf("%s.%s/%s", gvks[0].Kind, gvks[0].Group, gvks[0].Version)) } func AddServerResource(resource string) { diff --git a/pkg/utils/gvk_test.go b/pkg/utils/gvk_test.go new file mode 100644 index 00000000..8f5fcb7c --- /dev/null +++ b/pkg/utils/gvk_test.go @@ -0,0 +1,32 @@ +package utils + +import ( + "testing" + + "k8s.io/apimachinery/pkg/runtime" + gatewayv1 "sigs.k8s.io/gateway-api/apis/v1" +) + +func TestIsRegisteredUsesKindGroupVersion(t *testing.T) { + scheme := runtime.NewScheme() + if err := gatewayv1.Install(scheme); err != nil { + t.Fatalf("install gateway api scheme: %v", err) + } + + t.Run("returns true when server resource key uses version", func(t *testing.T) { + serverResources = map[string]bool{} + AddServerResource("HTTPRoute.gateway.networking.k8s.io/v1") + + if !IsRegistered(scheme, &gatewayv1.HTTPRoute{}) { + t.Fatalf("expected HTTPRoute to be registered") + } + }) + + t.Run("returns false when server resource key is missing", func(t *testing.T) { + serverResources = map[string]bool{} + + if IsRegistered(scheme, &gatewayv1.HTTPRoute{}) { + t.Fatalf("expected HTTPRoute to be unregistered") + } + }) +}