add resource enablement check for e2e tests of beta APIs
This commit is contained in:
@@ -21,8 +21,10 @@ import (
|
||||
"strings"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
utilversion "k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/apiserver/pkg/endpoints/discovery"
|
||||
clientdiscovery "k8s.io/client-go/discovery"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
"k8s.io/kubernetes/test/utils/crd"
|
||||
@@ -45,6 +47,33 @@ var _ = SIGDescribe("Discovery", func() {
|
||||
setupServerCert(namespaceName, serviceName)
|
||||
})
|
||||
|
||||
ginkgo.It("should accurately determine present and missing resources", func() {
|
||||
// checks that legacy api group resources function
|
||||
ok, err := clientdiscovery.IsResourceEnabled(f.ClientSet.Discovery(), schema.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"})
|
||||
framework.ExpectNoError(err)
|
||||
if !ok {
|
||||
framework.Failf("namespace.v1 should always be present")
|
||||
}
|
||||
// checks that non-legacy api group resources function
|
||||
ok, err = clientdiscovery.IsResourceEnabled(f.ClientSet.Discovery(), schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "deployments"})
|
||||
framework.ExpectNoError(err)
|
||||
if !ok {
|
||||
framework.Failf("deployments.v1.apps should always be present")
|
||||
}
|
||||
// checks that nonsense resources in existing api groups function
|
||||
ok, err = clientdiscovery.IsResourceEnabled(f.ClientSet.Discovery(), schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "please-dont-ever-create-this"})
|
||||
framework.ExpectNoError(err)
|
||||
if ok {
|
||||
framework.Failf("please-dont-ever-create-this.v1.apps should never be present")
|
||||
}
|
||||
// checks that resources resources in nonsense api groups function
|
||||
ok, err = clientdiscovery.IsResourceEnabled(f.ClientSet.Discovery(), schema.GroupVersionResource{Group: "not-these-apps", Version: "v1", Resource: "deployments"})
|
||||
framework.ExpectNoError(err)
|
||||
if ok {
|
||||
framework.Failf("deployments.v1.not-these-apps should never be present")
|
||||
}
|
||||
})
|
||||
|
||||
ginkgo.It("Custom resource should have storage version hash", func() {
|
||||
testcrd, err := crd.CreateTestCRD(f)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user