diff --git a/controller/northbound/server/utils_test.go b/controller/northbound/server/utils_test.go index d86de701bf8e6c97d960497b6c8e42f8aeb6c268..7a4636caabf0f8d66d6e36383e59026d2f376315 100644 --- a/controller/northbound/server/utils_test.go +++ b/controller/northbound/server/utils_test.go @@ -9,7 +9,7 @@ import ( func contains(array []*validate.Violation, err *validate.Violation) bool { for _, v := range array { - if *v.FieldPath == *err.FieldPath && *v.ConstraintId == *err.ConstraintId && *v.Message == *err.Message { + if isEqualFieldPaths(v.Field, err.Field) && *v.ConstraintId == *err.ConstraintId && *v.Message == *err.Message { return true } } @@ -17,6 +17,20 @@ func contains(array []*validate.Violation, err *validate.Violation) bool { return false } +func isEqualFieldPaths(violationFieldPath, errFieldPath *validate.FieldPath) bool { + if len(violationFieldPath.GetElements()) != len(errFieldPath.GetElements()) { + return false + } + + for i, elem := range violationFieldPath.GetElements() { + if elem != errFieldPath.GetElements()[i] { + return false + } + } + + return true +} + func assertValidationErrors(t *testing.T, err error, expectedValidationErrors []*validate.Violation) { st := status.Convert(err) errDetails := st.Details() diff --git a/go.mod b/go.mod index dbbfdd3ed5391e493fae76feb673f9586c226fe9..d6e62cc423f51afa44e495794a8a2d97608b52c0 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,7 @@ require ( ) require ( - buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20240920164238-5a7b106cbb87.1 + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20241127180247-a33202765966.1 github.com/bufbuild/protovalidate-go v0.7.3 github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-plugin v1.4.10 diff --git a/go.sum b/go.sum index 343846eb2d2d89b5eceefdc875c252a408425d51..9f6fbc9f31c106f354eb0916ce4c3f3ab7f85bf2 100644 --- a/go.sum +++ b/go.sum @@ -14,6 +14,8 @@ buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.1-2024092016423 buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.1-20240920164238-5a7b106cbb87.1/go.mod h1:Duw/9JoXkXIydyASnLYIiufkzySThoqavOsF+IihqvM= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20240920164238-5a7b106cbb87.1 h1:7QIeAuTdLp173vC/9JojRMDFcpmqtoYrxPmvdHAOynw= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20240920164238-5a7b106cbb87.1/go.mod h1:mnHCFccv4HwuIAOHNGdiIc5ZYbBCvbTWZcodLN5wITI= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20241127180247-a33202765966.1 h1:jLd96rDDNJ+zIJxvV/L855VEtrjR0G4aePVDlCpf6kw= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.35.2-20241127180247-a33202765966.1/go.mod h1:mnHCFccv4HwuIAOHNGdiIc5ZYbBCvbTWZcodLN5wITI= cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=