@@ -98,6 +98,7 @@ class RequestResponseMixin(object):
98
98
]
99
99
100
100
httpresponse_spec = [
101
+ 'closed' ,
101
102
'headers' ,
102
103
'reason' ,
103
104
'status' ,
@@ -137,8 +138,9 @@ def configure_request(self, body=b'', headers=None, method=None,
137
138
self .request .url = url
138
139
139
140
def configure_httpresponse (self , headers = None , reason = b'' , status = 200 ,
140
- version = HTTP_1_1 ):
141
+ version = HTTP_1_1 , closed = True ):
141
142
"""Helper function to configure a mocked urllib3 response."""
143
+ self .httpresponse .closed = closed
142
144
self .httpresponse .headers = HTTPHeaderDict (headers or {})
143
145
self .httpresponse .reason = reason
144
146
self .httpresponse .status = status
@@ -327,6 +329,24 @@ def test_dump_response_data_with_unknown_http_version(self):
327
329
assert b'response:HTTP/? 201 OK\r \n ' in array
328
330
assert b'response:Content-Type: application/json\r \n ' in array
329
331
332
+ def test_dump_response_skips_body_when_streaming (self ):
333
+ self .configure_response (
334
+ url = 'https://example.com/bigfile' ,
335
+ content = None ,
336
+ reason = b'OK' ,
337
+ )
338
+
339
+ array = bytearray ()
340
+ self .configure_httpresponse (closed = False )
341
+ prefixes = dump .PrefixSettings ('request:' , 'response:' )
342
+ dump ._dump_response_data (
343
+ response = self .response ,
344
+ prefixes = prefixes ,
345
+ bytearr = array ,
346
+ )
347
+
348
+ assert array .endswith (b'<< Response body is being strefamed >>' )
349
+
330
350
331
351
class TestResponsePublicFunctions (RequestResponseMixin ):
332
352
0 commit comments