@@ -70,7 +70,7 @@ def test_middleware_should_send_query_params(
7070 assert isinstance (data ["timeMillis" ], int )
7171
7272
73- def test_middleware_should_send_zero_request_and_response_sizes (
73+ def test_middleware_should_handle_zero_request_and_response_sizes (
7474 mocked_urlopen : unittest .mock .MagicMock ,
7575) -> None :
7676 response = client .post ("/empty" )
@@ -80,10 +80,10 @@ def test_middleware_should_send_zero_request_and_response_sizes(
8080 __ , call_kwargs = mocked_urlopen .call_args
8181 data = tests .conftest .decode_request_data (call_kwargs ["data" ])
8282 assert data ["requestSize" ] == 0
83- assert data [ "responseSize" ] == 0
83+ assert "responseSize" not in data # In FastAPI 0 content-length is not set.
8484
8585
86- def test_middleware_should_send_non_zero_request_and_response_sizes (
86+ def test_middleware_should_handle_non_zero_request_and_response_sizes (
8787 mocked_urlopen : unittest .mock .MagicMock ,
8888) -> None :
8989 response = client .post ("/dummy?some=query" , json = {"hello" : "world" })
@@ -99,8 +99,10 @@ def test_middleware_should_send_non_zero_request_and_response_sizes(
9999def test_middleware_should_work_with_streaming_response (
100100 mocked_urlopen : unittest .mock .MagicMock ,
101101) -> None :
102- response = client .get ("/streaming" )
102+ response = client .get ("/streaming" , stream = True )
103103 assert response .status_code == 200
104+ content = b"" .join (response .iter_content ())
105+ assert content == b"first second"
104106
105107 assert mocked_urlopen .call_count == 1
106108 __ , call_kwargs = mocked_urlopen .call_args
@@ -110,14 +112,12 @@ def test_middleware_should_work_with_streaming_response(
110112 "method" ,
111113 "statusCode" ,
112114 "requestSize" ,
113- "responseSize" ,
114115 "timeMillis" ,
115116 }
116117 assert data ["path" ] == "/streaming"
117118 assert data ["method" ] == "GET"
118119 assert data ["statusCode" ] == 200
119120 assert data ["requestSize" ] == 0
120- assert data ["responseSize" ] == 0 # Can't get body size from a streaming response.
121121 assert isinstance (data ["timeMillis" ], int )
122122
123123
0 commit comments