From f886164491d1dadce8a19ab64fe188c47225806a Mon Sep 17 00:00:00 2001 From: Stephen Heywood Date: Tue, 7 Jul 2020 03:38:47 +0000 Subject: [PATCH] Validate that PreferredVersion contains a valid option --- test/e2e/apimachinery/BUILD | 2 +- ..._list.go => apigroup_preferred_version.go} | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) rename test/e2e/apimachinery/{apigroup_list.go => apigroup_preferred_version.go} (71%) diff --git a/test/e2e/apimachinery/BUILD b/test/e2e/apimachinery/BUILD index 56aa562b148..a7984b3be96 100644 --- a/test/e2e/apimachinery/BUILD +++ b/test/e2e/apimachinery/BUILD @@ -9,7 +9,7 @@ go_library( name = "go_default_library", srcs = [ "aggregator.go", - "apigroup_list.go", + "apigroup_preferred_version.go", "certs.go", "chunking.go", "crd_conversion_webhook.go", diff --git a/test/e2e/apimachinery/apigroup_list.go b/test/e2e/apimachinery/apigroup_preferred_version.go similarity index 71% rename from test/e2e/apimachinery/apigroup_list.go rename to test/e2e/apimachinery/apigroup_preferred_version.go index 8f5d325e345..f87ceb28518 100644 --- a/test/e2e/apimachinery/apigroup_list.go +++ b/test/e2e/apimachinery/apigroup_preferred_version.go @@ -28,9 +28,6 @@ var _ = SIGDescribe("apigroup list", func() { f := framework.NewDefaultFramework("apigroup-list") ginkgo.It("should locate PreferredVersion for each APIGroup", func() { - // TEST BEGINS HERE - ginkgo.By("[status] begin") - // get list of APIGroup endpoints list := &metav1.APIGroupList{} err := f.ClientSet.Discovery().RESTClient().Get().AbsPath("/apis/").Do(context.TODO()).Into(list) @@ -44,11 +41,21 @@ var _ = SIGDescribe("apigroup list", func() { checkGroup := &metav1.APIGroup{} apiPath := "/apis/" + group.Name + "/" err = f.ClientSet.Discovery().RESTClient().Get().AbsPath(apiPath).Do(context.TODO()).Into(checkGroup) - framework.ExpectNoError(err, "Fail to access: %s", apiPath) - // get PreferredVersion for endpoint - framework.Logf("PreferredVersion: %v", checkGroup.PreferredVersion) + framework.Logf("PreferredVersion.GroupVersion: %s", checkGroup.PreferredVersion.GroupVersion) + framework.Logf("Versions found %v", checkGroup.Versions) + + // confirm that the PreferredVersion is a valid version + match := false + for _, version := range checkGroup.Versions { + if version.GroupVersion == checkGroup.PreferredVersion.GroupVersion { + framework.Logf("%s matches %s", version.GroupVersion, checkGroup.PreferredVersion.GroupVersion) + match = true + break + } + } + framework.ExpectEqual(true, match, "failed to find a valid version for PreferredVersion") } }) })