From 7635778b82d2490e49203c9471b516daafb14e97 Mon Sep 17 00:00:00 2001 From: Steve Ayers Date: Fri, 31 Jan 2025 16:25:08 -0500 Subject: [PATCH 1/2] Add new test cases for URI encoding --- .../internal/cases/cases_strings.go | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tools/protovalidate-conformance/internal/cases/cases_strings.go b/tools/protovalidate-conformance/internal/cases/cases_strings.go index 26b3d8c4..824d9e27 100644 --- a/tools/protovalidate-conformance/internal/cases/cases_strings.go +++ b/tools/protovalidate-conformance/internal/cases/cases_strings.go @@ -1048,6 +1048,16 @@ func stringSuite() suites.Suite { }, ), }, + "uri/invalid/encoding": { + Message: &cases.StringURI{Val: "http://example.com/foo/bar?baz=%x"}, + Expected: results.Violations( + &validate.Violation{ + Field: results.FieldPath("val"), + Rule: results.FieldPath("string.uri"), + ConstraintId: proto.String("string.uri"), + }, + ), + }, "uri/invalid/not_checked/empty": { Message: &cases.StringNotURI{Val: ""}, Expected: results.Success(true), @@ -1076,6 +1086,26 @@ func stringSuite() suites.Suite { }, ), }, + "uri/invalid/absolute/encoding": { + Message: &cases.StringURI{Val: "https://example.com/foo/bar?baz=%x"}, + Expected: results.Violations( + &validate.Violation{ + Field: results.FieldPath("val"), + Rule: results.FieldPath("string.uri"), + ConstraintId: proto.String("string.uri"), + }, + ), + }, + "uri/invalid/relative/encoding": { + Message: &cases.StringURI{Val: "/foo/bar?baz=%x"}, + Expected: results.Violations( + &validate.Violation{ + Field: results.FieldPath("val"), + Rule: results.FieldPath("string.uri"), + ConstraintId: proto.String("string.uri"), + }, + ), + }, "uri_ref/valid/absolute": { Message: &cases.StringURIRef{Val: "https://example.com/foo/bar?baz=quux"}, Expected: results.Success(true), @@ -1094,6 +1124,7 @@ func stringSuite() suites.Suite { }, ), }, + "uri_ref/invalid/not_checked/empty": { Message: &cases.StringNotURIRef{Val: ""}, Expected: results.Success(true), From cf741672a82588666a9c1591df1accce09ae4288 Mon Sep 17 00:00:00 2001 From: Steve Ayers Date: Fri, 31 Jan 2025 16:25:44 -0500 Subject: [PATCH 2/2] Remove spaces --- tools/protovalidate-conformance/internal/cases/cases_strings.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/protovalidate-conformance/internal/cases/cases_strings.go b/tools/protovalidate-conformance/internal/cases/cases_strings.go index 824d9e27..681d0dc4 100644 --- a/tools/protovalidate-conformance/internal/cases/cases_strings.go +++ b/tools/protovalidate-conformance/internal/cases/cases_strings.go @@ -1124,7 +1124,6 @@ func stringSuite() suites.Suite { }, ), }, - "uri_ref/invalid/not_checked/empty": { Message: &cases.StringNotURIRef{Val: ""}, Expected: results.Success(true),