@@ -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 \n 123456789_123456\r \n 0\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)
156189def test_body_matcher_does_match (r1 , r2 ):
0 commit comments