Skip to content

Commit 9e2e96c

Browse files
committed
test(email): add parametrized ASCII control character cases
1 parent a77ed6f commit 9e2e96c

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""HU-02: reject SOH in an address intended for SMTP (RFC 5321)."""
1+
"""HU-02: reject ASCII control characters in quoted SMTP local parts."""
22

33
# external
44
import pytest
@@ -7,12 +7,14 @@
77

88

99
@pytest.mark.parametrize(
10-
("email",),
11-
[
12-
('"user\x01name"@example.com', ),
13-
],
10+
"control_code",
11+
[1, 2, 7, 11, 12, 14, 27, 31, 127],
1412
)
15-
def test_email_rejects_soh_control_character(email: str):
16-
"""The Python escape introduces the actual ASCII SOH character."""
13+
14+
def test_email_rejects_control_characters(control_code: int):
15+
"""Reject selected ASCII control characters in quoted local parts."""
16+
email = f'"user{chr(control_code)}name"@example.com'
17+
1718
result = validators.email(email)
18-
assert isinstance(result, validators.ValidationError), repr(result)
19+
20+
assert isinstance(result, validators.ValidationError), repr(result)

0 commit comments

Comments
 (0)