]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
test: refine the test of client disconnection after reading request body (#2639)
authorGodot <60349048+iamgodot@users.noreply.github.com>
Sat, 20 Jul 2024 09:06:30 +0000 (02:06 -0700)
committerGitHub <noreply@github.com>
Sat, 20 Jul 2024 09:06:30 +0000 (09:06 +0000)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
tests/test_requests.py

index d8e2e94773868e0a2861f1480d3bc8f865561a07..c52ebc141d55f2fbdb656e90b2b5cbca0badb190 100644 (file)
@@ -269,8 +269,8 @@ def test_request_disconnect(
 
 def test_request_is_disconnected(test_client_factory: TestClientFactory) -> None:
     """
-    If a client disconnect occurs while reading request body
-    then ClientDisconnect should be raised.
+    If a client disconnect occurs after reading request body
+    then request will be set disconnected properly.
     """
     disconnected_after_response = None
 
@@ -278,15 +278,15 @@ def test_request_is_disconnected(test_client_factory: TestClientFactory) -> None
         nonlocal disconnected_after_response
 
         request = Request(scope, receive)
-        await request.body()
+        body = await request.body()
         disconnected = await request.is_disconnected()
-        response = JSONResponse({"disconnected": disconnected})
+        response = JSONResponse({"body": body.decode(), "disconnected": disconnected})
         await response(scope, receive, send)
         disconnected_after_response = await request.is_disconnected()
 
     client = test_client_factory(app)
-    response = client.get("/")
-    assert response.json() == {"disconnected": False}
+    response = client.post("/", content="foo")
+    assert response.json() == {"body": "foo", "disconnected": False}
     assert disconnected_after_response