Skip to content

Commit cd64fa3

Browse files
authored
Add conformance tests for email addresses to cover semi-valid email a… (#163)
…ddresses PR to add `emailSuite` to the GlobalSuites that shall be used by the conformance tests. the suite includes a valid email case and multiple invalid cases (spaced padded, <> enclosed addresses)
1 parent 8074ae2 commit cd64fa3

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

tools/protovalidate-conformance/internal/cases/cases_strings.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,26 @@ func stringSuite() suites.Suite {
326326
Expected: results.Violations(
327327
&validate.Violation{FieldPath: "val", ConstraintId: "string.email"}),
328328
},
329+
"email/invalid/white_spaces": {
330+
Message: &cases.StringEmail{Val: " foo@example.com "},
331+
Expected: results.Violations(
332+
&validate.Violation{FieldPath: "val", ConstraintId: "string.email"}),
333+
},
334+
"email/invalid/trailing_white_space": {
335+
Message: &cases.StringEmail{Val: "foo@example.com "},
336+
Expected: results.Violations(
337+
&validate.Violation{FieldPath: "val", ConstraintId: "string.email"}),
338+
},
339+
"email/invalid/leading_white_space": {
340+
Message: &cases.StringEmail{Val: " foo@example.com"},
341+
Expected: results.Violations(
342+
&validate.Violation{FieldPath: "val", ConstraintId: "string.email"}),
343+
},
344+
"email/invalid/angled_brackets": {
345+
Message: &cases.StringEmail{Val: "<foo@example.com>"},
346+
Expected: results.Violations(
347+
&validate.Violation{FieldPath: "val", ConstraintId: "string.email"}),
348+
},
329349
"hostname/invalid/empty": {
330350
Message: &cases.StringHostname{Val: ""},
331351
Expected: results.Violations(

0 commit comments

Comments
 (0)