From 87dfbebdf5076b9905ee12b4743020cd43b7e767 Mon Sep 17 00:00:00 2001 From: Yugo Kobayashi Date: Fri, 24 Jul 2026 22:51:07 +0900 Subject: [PATCH] test(chart): verify per-group version priority Signed-off-by: Yugo Kobayashi --- pkg/chart/common/default_versions_test.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkg/chart/common/default_versions_test.go b/pkg/chart/common/default_versions_test.go index fc0e5b56e..a2959cbc7 100644 --- a/pkg/chart/common/default_versions_test.go +++ b/pkg/chart/common/default_versions_test.go @@ -23,6 +23,7 @@ import ( apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" clientgoscheme "k8s.io/client-go/kubernetes/scheme" ) @@ -32,11 +33,17 @@ func TestDefaultVersionSetMatchesScheme(t *testing.T) { require.NoError(t, apiextensionsv1beta1.AddToScheme(scheme)) require.NoError(t, apiextensionsv1.AddToScheme(scheme)) - groups := scheme.PrioritizedVersionsAllGroups() - schemeVersions := make(VersionSet, 0, len(groups)) - for _, group := range groups { - schemeVersions = append(schemeVersions, group.String()) + defaultVersionsByGroup := make(map[string][]string) + for _, apiVersion := range DefaultVersionSet { + groupVersion, err := schema.ParseGroupVersion(apiVersion) + require.NoErrorf(t, err, "invalid API version %q in DefaultVersionSet", apiVersion) + defaultVersionsByGroup[groupVersion.Group] = append(defaultVersionsByGroup[groupVersion.Group], groupVersion.Version) } - require.ElementsMatch(t, DefaultVersionSet, schemeVersions, "DefaultVersionSet must stay in sync with the Kubernetes scheme") + schemeVersionsByGroup := make(map[string][]string) + for _, groupVersion := range scheme.PrioritizedVersionsAllGroups() { + schemeVersionsByGroup[groupVersion.Group] = append(schemeVersionsByGroup[groupVersion.Group], groupVersion.Version) + } + + require.Equal(t, schemeVersionsByGroup, defaultVersionsByGroup, "DefaultVersionSet must stay in sync with the Kubernetes scheme") }