mirror of https://github.com/k3s-io/k3s
apiextensions: fix conversion tests to enable pruning
parent
83322bd928
commit
c692875277
|
@ -31,6 +31,7 @@ go_test(
|
|||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
||||
|
|
|
@ -11,6 +11,7 @@ go_test(
|
|||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures:go_default_library",
|
||||
"//staging/src/k8s.io/apiextensions-apiserver/test/integration/storage:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||
|
@ -23,7 +24,9 @@ go_test(
|
|||
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/storage/etcd3:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
|
||||
"//staging/src/k8s.io/component-base/featuregate/testing:go_default_library",
|
||||
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
|
||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||
],
|
||||
|
|
|
@ -27,11 +27,6 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
|
||||
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
|
||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
@ -43,13 +38,16 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
etcd3watcher "k8s.io/apiserver/pkg/storage/etcd3"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/client-go/dynamic"
|
||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||
"k8s.io/utils/pointer"
|
||||
|
||||
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||
"k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
"k8s.io/apiextensions-apiserver/pkg/cmd/server/options"
|
||||
serveroptions "k8s.io/apiextensions-apiserver/pkg/cmd/server/options"
|
||||
apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
|
||||
"k8s.io/apiextensions-apiserver/test/integration/fixtures"
|
||||
"k8s.io/apiextensions-apiserver/test/integration/storage"
|
||||
)
|
||||
|
@ -61,18 +59,14 @@ func checks(checkers ...Checker) []Checker {
|
|||
}
|
||||
|
||||
func TestWebhookConverter(t *testing.T) {
|
||||
testWebhookConverter(t, false, false)
|
||||
}
|
||||
|
||||
func TestWebhookConverterWithPruning(t *testing.T) {
|
||||
testWebhookConverter(t, true, false)
|
||||
testWebhookConverter(t, false)
|
||||
}
|
||||
|
||||
func TestWebhookConverterWithDefaulting(t *testing.T) {
|
||||
testWebhookConverter(t, true, true)
|
||||
testWebhookConverter(t, true)
|
||||
}
|
||||
|
||||
func testWebhookConverter(t *testing.T, pruning, defaulting bool) {
|
||||
func testWebhookConverter(t *testing.T, defaulting bool) {
|
||||
tests := []struct {
|
||||
group string
|
||||
handler http.Handler
|
||||
|
@ -140,7 +134,6 @@ func testWebhookConverter(t *testing.T, pruning, defaulting bool) {
|
|||
defer tearDown()
|
||||
|
||||
crd := multiVersionFixture.DeepCopy()
|
||||
crd.Spec.PreserveUnknownFields = pointer.BoolPtr(!pruning)
|
||||
|
||||
if !defaulting {
|
||||
for i := range crd.Spec.Versions {
|
||||
|
@ -995,7 +988,8 @@ var multiVersionFixture = &apiextensionsv1beta1.CustomResourceDefinition{
|
|||
ListKind: "MultiVersionList",
|
||||
Categories: []string{"all"},
|
||||
},
|
||||
Scope: apiextensionsv1beta1.NamespaceScoped,
|
||||
Scope: apiextensionsv1beta1.NamespaceScoped,
|
||||
PreserveUnknownFields: pointer.BoolPtr(false),
|
||||
Versions: []apiextensionsv1beta1.CustomResourceDefinitionVersion{
|
||||
{
|
||||
// storage version, same schema as v1alpha1
|
||||
|
|
|
@ -61,11 +61,28 @@ var apiVersions = []v1beta1.CustomResourceDefinitionVersion{
|
|||
Name: "v1",
|
||||
Served: true,
|
||||
Storage: true,
|
||||
Schema: &v1beta1.CustomResourceValidation{
|
||||
OpenAPIV3Schema: &v1beta1.JSONSchemaProps{
|
||||
Type: "object",
|
||||
Properties: map[string]v1beta1.JSONSchemaProps{
|
||||
"hostPort": {Type: "string"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "v2",
|
||||
Served: true,
|
||||
Storage: false,
|
||||
Schema: &v1beta1.CustomResourceValidation{
|
||||
OpenAPIV3Schema: &v1beta1.JSONSchemaProps{
|
||||
Type: "object",
|
||||
Properties: map[string]v1beta1.JSONSchemaProps{
|
||||
"host": {Type: "string"},
|
||||
"port": {Type: "string"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -74,11 +91,28 @@ var alternativeAPIVersions = []v1beta1.CustomResourceDefinitionVersion{
|
|||
Name: "v1",
|
||||
Served: true,
|
||||
Storage: false,
|
||||
Schema: &v1beta1.CustomResourceValidation{
|
||||
OpenAPIV3Schema: &v1beta1.JSONSchemaProps{
|
||||
Type: "object",
|
||||
Properties: map[string]v1beta1.JSONSchemaProps{
|
||||
"hostPort": {Type: "string"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "v2",
|
||||
Served: true,
|
||||
Storage: true,
|
||||
Schema: &v1beta1.CustomResourceValidation{
|
||||
OpenAPIV3Schema: &v1beta1.JSONSchemaProps{
|
||||
Type: "object",
|
||||
Properties: map[string]v1beta1.JSONSchemaProps{
|
||||
"host": {Type: "string"},
|
||||
"port": {Type: "string"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -122,6 +156,7 @@ var _ = SIGDescribe("CustomResourceConversionWebhook", func() {
|
|||
},
|
||||
},
|
||||
}
|
||||
crd.Spec.PreserveUnknownFields = pointer.BoolPtr(false)
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -145,6 +180,7 @@ var _ = SIGDescribe("CustomResourceConversionWebhook", func() {
|
|||
},
|
||||
},
|
||||
}
|
||||
crd.Spec.PreserveUnknownFields = pointer.BoolPtr(false)
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue