From 61d6026d23ad86e359b38d4357579db70f22bf2b Mon Sep 17 00:00:00 2001 From: Joe Betz Date: Wed, 28 Feb 2024 15:49:44 -0500 Subject: [PATCH] Fix field paths --- .../apis/apiextensions/validation/validation.go | 6 +++--- .../apiextensions/validation/validation_test.go | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go index 3df56bc9bbe..970a6519c1a 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go @@ -808,13 +808,13 @@ func ValidateCustomResourceSelectableFields(selectableFields []apiextensions.Sel continue } if path.Root().String() == "metadata" { - allErrs = append(allErrs, field.Invalid(indexFldPath, selectableField.JSONPath, "must not point to fields in metadata")) + allErrs = append(allErrs, field.Invalid(indexFldPath.Child("jsonPath"), selectableField.JSONPath, "must not point to fields in metadata")) } if !allowedSelectableFieldSchema(foundSchema) { - allErrs = append(allErrs, field.Invalid(indexFldPath, selectableField.JSONPath, "must point to a field of type string, boolean or integer. Enum string fields and strings with formats are allowed.")) + allErrs = append(allErrs, field.Invalid(indexFldPath.Child("jsonPath"), selectableField.JSONPath, "must point to a field of type string, boolean or integer. Enum string fields and strings with formats are allowed.")) } if uniqueSelectableFields.Has(path.String()) { - allErrs = append(allErrs, field.Duplicate(indexFldPath, selectableField.JSONPath)) + allErrs = append(allErrs, field.Duplicate(indexFldPath.Child("jsonPath"), selectableField.JSONPath)) } else { uniqueSelectableFields.Insert(path.String()) } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go index d3520681f22..760a37edc3d 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go @@ -4429,9 +4429,9 @@ func TestSelectableFields(t *testing.T) { }, }, errors: []validationMatch{ - invalid("spec", "versions[0]", "selectableFields[1]"), - invalid("spec", "versions[1]", "selectableFields[0]"), - invalid("spec", "versions[1]", "selectableFields[2]"), + invalid("spec", "versions[0]", "selectableFields[1].jsonPath"), + invalid("spec", "versions[1]", "selectableFields[0].jsonPath"), + invalid("spec", "versions[1]", "selectableFields[2].jsonPath"), }, }, { @@ -4474,7 +4474,7 @@ func TestSelectableFields(t *testing.T) { }, }, errors: []validationMatch{ - invalid("spec", "selectableFields[1]"), + invalid("spec", "selectableFields[1].jsonPath"), }, }, { @@ -4520,8 +4520,8 @@ func TestSelectableFields(t *testing.T) { }, }, errors: []validationMatch{ - invalid("spec", "versions[0]", "selectableFields[1]"), - invalid("spec", "versions[1]", "selectableFields[0]"), + invalid("spec", "versions[0]", "selectableFields[1].jsonPath"), + invalid("spec", "versions[1]", "selectableFields[0].jsonPath"), }, }, { @@ -4567,8 +4567,8 @@ func TestSelectableFields(t *testing.T) { }, }, errors: []validationMatch{ - duplicate("spec", "versions[0]", "selectableFields[1]"), - duplicate("spec", "versions[1]", "selectableFields[1]"), + duplicate("spec", "versions[0]", "selectableFields[1].jsonPath"), + duplicate("spec", "versions[1]", "selectableFields[1].jsonPath"), }, }, {