Skip to content

Commit e69b10c

Browse files
committed
test_matchers.py: Briefly cover chunked transfer encoding
1 parent a6b9a07 commit e69b10c

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

tests/unit/test_matchers.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ def test_uri_matcher():
6363
"Expect": b"100-continue",
6464
"Content-Length": "21",
6565
}
66+
chunked_headers = {
67+
"Transfer-Encoding": "chunked",
68+
}
6669

6770

6871
@pytest.mark.parametrize(
@@ -151,6 +154,36 @@ def test_uri_matcher():
151154
request.Request("POST", "http://aws.custom.com/", b"123", boto3_bytes_headers),
152155
request.Request("POST", "http://aws.custom.com/", b"123", boto3_bytes_headers),
153156
),
157+
(
158+
# chunked transfer encoding: decoded bytes versus encoded bytes
159+
request.Request("POST", "scheme1://host1.test/", b"123456789_123456", chunked_headers),
160+
request.Request(
161+
"GET",
162+
"scheme2://host2.test/",
163+
b"10\r\n123456789_123456\r\n0\r\n\r\n",
164+
chunked_headers,
165+
),
166+
),
167+
(
168+
# chunked transfer encoding: bytes iterator versus string iterator
169+
request.Request(
170+
"POST",
171+
"scheme1://host1.test/",
172+
iter([b"123456789_", b"123456"]),
173+
chunked_headers,
174+
),
175+
request.Request("GET", "scheme2://host2.test/", iter(["123456789_", "123456"]), chunked_headers),
176+
),
177+
(
178+
# chunked transfer encoding: bytes iterator versus single byte iterator
179+
request.Request(
180+
"POST",
181+
"scheme1://host1.test/",
182+
iter([b"123456789_", b"123456"]),
183+
chunked_headers,
184+
),
185+
request.Request("GET", "scheme2://host2.test/", iter(b"123456789_123456"), chunked_headers),
186+
),
154187
],
155188
)
156189
def test_body_matcher_does_match(r1, r2):

0 commit comments

Comments
 (0)