mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
apiextension: fixup defaulting tests
This commit is contained in:
parent
78f3ab2ef0
commit
927a93d38a
@ -83,6 +83,7 @@ func TestValidateCustomResourceDefinition(t *testing.T) {
|
|||||||
requestGV schema.GroupVersion
|
requestGV schema.GroupVersion
|
||||||
errors []validationMatch
|
errors []validationMatch
|
||||||
enabledFeatures []featuregate.Feature
|
enabledFeatures []featuregate.Feature
|
||||||
|
disabledFeatures []featuregate.Feature
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "invalid types allowed via v1beta1",
|
name: "invalid types allowed via v1beta1",
|
||||||
@ -1600,6 +1601,7 @@ func TestValidateCustomResourceDefinition(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
requestGV: apiextensionsv1beta1.SchemeGroupVersion,
|
requestGV: apiextensionsv1beta1.SchemeGroupVersion,
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
errors: []validationMatch{
|
errors: []validationMatch{
|
||||||
forbidden("spec", "validation", "openAPIV3Schema", "properties[a]", "default"), // disabled feature-gate
|
forbidden("spec", "validation", "openAPIV3Schema", "properties[a]", "default"), // disabled feature-gate
|
||||||
},
|
},
|
||||||
@ -4086,6 +4088,10 @@ func TestValidateCustomResourceDefinition(t *testing.T) {
|
|||||||
for _, gate := range tc.enabledFeatures {
|
for _, gate := range tc.enabledFeatures {
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, true)()
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, true)()
|
||||||
}
|
}
|
||||||
|
for _, gate := range tc.disabledFeatures {
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, false)()
|
||||||
|
}
|
||||||
|
|
||||||
// duplicate defaulting behaviour
|
// duplicate defaulting behaviour
|
||||||
if tc.resource.Spec.Conversion != nil && tc.resource.Spec.Conversion.Strategy == apiextensions.WebhookConverter && len(tc.resource.Spec.Conversion.ConversionReviewVersions) == 0 {
|
if tc.resource.Spec.Conversion != nil && tc.resource.Spec.Conversion.Strategy == apiextensions.WebhookConverter && len(tc.resource.Spec.Conversion.ConversionReviewVersions) == 0 {
|
||||||
tc.resource.Spec.Conversion.ConversionReviewVersions = []string{"v1beta1"}
|
tc.resource.Spec.Conversion.ConversionReviewVersions = []string{"v1beta1"}
|
||||||
@ -4125,6 +4131,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
requestGV schema.GroupVersion
|
requestGV schema.GroupVersion
|
||||||
errors []validationMatch
|
errors []validationMatch
|
||||||
enabledFeatures []featuregate.Feature
|
enabledFeatures []featuregate.Feature
|
||||||
|
disabledFeatures []featuregate.Feature
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "invalid type updates allowed via v1beta1",
|
name: "invalid type updates allowed via v1beta1",
|
||||||
@ -5905,6 +5912,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
requestGV: apiextensionsv1beta1.SchemeGroupVersion,
|
requestGV: apiextensionsv1beta1.SchemeGroupVersion,
|
||||||
errors: []validationMatch{},
|
errors: []validationMatch{},
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ratcheting validation of defaults with disabled feature gate via v1",
|
name: "ratcheting validation of defaults with disabled feature gate via v1",
|
||||||
@ -5992,6 +6000,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
requestGV: apiextensionsv1.SchemeGroupVersion,
|
requestGV: apiextensionsv1.SchemeGroupVersion,
|
||||||
errors: []validationMatch{},
|
errors: []validationMatch{},
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ratcheting validation of defaults with disabled feature gate via v1, non-structural, no defaults before",
|
name: "ratcheting validation of defaults with disabled feature gate via v1, non-structural, no defaults before",
|
||||||
@ -6074,6 +6083,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
errors: []validationMatch{
|
errors: []validationMatch{
|
||||||
forbidden("spec", "validation", "openAPIV3Schema", "properties[a]", "default"),
|
forbidden("spec", "validation", "openAPIV3Schema", "properties[a]", "default"),
|
||||||
},
|
},
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ratcheting validation of defaults with disabled feature gate via v1, unpruned => unpruned",
|
name: "ratcheting validation of defaults with disabled feature gate via v1, unpruned => unpruned",
|
||||||
@ -6176,6 +6186,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
requestGV: apiextensionsv1.SchemeGroupVersion,
|
requestGV: apiextensionsv1.SchemeGroupVersion,
|
||||||
errors: []validationMatch{},
|
errors: []validationMatch{},
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ratcheting validation of defaults with disabled feature gate via v1, pruned => unpruned",
|
name: "ratcheting validation of defaults with disabled feature gate via v1, pruned => unpruned",
|
||||||
@ -6280,6 +6291,7 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
errors: []validationMatch{
|
errors: []validationMatch{
|
||||||
invalid("spec", "validation", "openAPIV3Schema", "properties[b]", "default"),
|
invalid("spec", "validation", "openAPIV3Schema", "properties[b]", "default"),
|
||||||
},
|
},
|
||||||
|
disabledFeatures: []featuregate.Feature{features.CustomResourceDefaulting},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "add default with enabled feature gate, structural schema, without pruning",
|
name: "add default with enabled feature gate, structural schema, without pruning",
|
||||||
@ -6355,6 +6367,9 @@ func TestValidateCustomResourceDefinitionUpdate(t *testing.T) {
|
|||||||
for _, gate := range tc.enabledFeatures {
|
for _, gate := range tc.enabledFeatures {
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, true)()
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, true)()
|
||||||
}
|
}
|
||||||
|
for _, gate := range tc.disabledFeatures {
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, gate, false)()
|
||||||
|
}
|
||||||
|
|
||||||
errs := ValidateCustomResourceDefinitionUpdate(tc.resource, tc.old, tc.requestGV)
|
errs := ValidateCustomResourceDefinitionUpdate(tc.resource, tc.old, tc.requestGV)
|
||||||
seenErrs := make([]bool, len(errs))
|
seenErrs := make([]bool, len(errs))
|
||||||
|
Loading…
Reference in New Issue
Block a user