From ca550a280acde11ed5ed5385ef5525e24a981f95 Mon Sep 17 00:00:00 2001 From: Stephen Heywood Date: Thu, 16 Jul 2020 21:13:55 +0000 Subject: [PATCH] Relocate preferred version e2e test to discovery.go --- test/e2e/apimachinery/BUILD | 1 - .../apigroup_preferred_version.go | 61 ------------------- test/e2e/apimachinery/discovery.go | 35 +++++++++++ 3 files changed, 35 insertions(+), 62 deletions(-) delete mode 100644 test/e2e/apimachinery/apigroup_preferred_version.go diff --git a/test/e2e/apimachinery/BUILD b/test/e2e/apimachinery/BUILD index a7984b3be96..f57debecae8 100644 --- a/test/e2e/apimachinery/BUILD +++ b/test/e2e/apimachinery/BUILD @@ -9,7 +9,6 @@ go_library( name = "go_default_library", srcs = [ "aggregator.go", - "apigroup_preferred_version.go", "certs.go", "chunking.go", "crd_conversion_webhook.go", diff --git a/test/e2e/apimachinery/apigroup_preferred_version.go b/test/e2e/apimachinery/apigroup_preferred_version.go deleted file mode 100644 index bfdb83935f5..00000000000 --- a/test/e2e/apimachinery/apigroup_preferred_version.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package apimachinery - -import ( - "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/test/e2e/framework" - - "github.com/onsi/ginkgo" -) - -var _ = SIGDescribe("apigroup preferred version", func() { - f := framework.NewDefaultFramework("apigroup-preferred-version") - ginkgo.It("should validate PreferredVersion for each APIGroup", func() { - - // get list of APIGroup endpoints - list := &metav1.APIGroupList{} - err := f.ClientSet.Discovery().RESTClient().Get().AbsPath("/apis/").Do(context.TODO()).Into(list) - framework.ExpectNoError(err, "Failed to find /apis/") - framework.ExpectNotEqual(len(list.Groups), 0, "Missing APIGroups") - - for _, group := range list.Groups { - framework.Logf("Checking APIGroup: %v", group.Name) - - // locate APIGroup endpoint - 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) - framework.ExpectNotEqual(len(checkGroup.Versions), 0, "No version found for %v", group.Name) - 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") - } - }) -}) diff --git a/test/e2e/apimachinery/discovery.go b/test/e2e/apimachinery/discovery.go index ddc6ad3d2e9..6c30f317c29 100644 --- a/test/e2e/apimachinery/discovery.go +++ b/test/e2e/apimachinery/discovery.go @@ -17,6 +17,8 @@ limitations under the License. package apimachinery import ( + "context" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilversion "k8s.io/apimachinery/pkg/util/version" "k8s.io/apiserver/pkg/endpoints/discovery" "k8s.io/kubernetes/test/e2e/framework" @@ -77,4 +79,37 @@ var _ = SIGDescribe("Discovery", func() { framework.Failf("didn't find resource %s in the discovery doc", spec.Names.Plural) } }) + + ginkgo.It("should validate PreferredVersion for each APIGroup", func() { + + // get list of APIGroup endpoints + list := &metav1.APIGroupList{} + err := f.ClientSet.Discovery().RESTClient().Get().AbsPath("/apis/").Do(context.TODO()).Into(list) + framework.ExpectNoError(err, "Failed to find /apis/") + framework.ExpectNotEqual(len(list.Groups), 0, "Missing APIGroups") + + for _, group := range list.Groups { + framework.Logf("Checking APIGroup: %v", group.Name) + + // locate APIGroup endpoint + 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) + framework.ExpectNotEqual(len(checkGroup.Versions), 0, "No version found for %v", group.Name) + 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") + } + }) })