@@ -112,15 +112,33 @@ async def request_response(self, payload: Payload):
112112 assert response .metadata == b'(server (client metadata))'
113113
114114
115- async def test_request_response_fragmented (lazy_pipe ):
115+ @pytest .mark .parametrize ('data_size_multiplier' , (
116+ 1 ,
117+ 10
118+ ))
119+ async def test_request_response_fragmented (lazy_pipe , data_size_multiplier ):
116120 class Handler (BaseRequestHandler ):
117121 async def request_response (self , request : Payload ):
118122 return future_from_payload (request )
119123
120124 async with lazy_pipe (
121125 server_arguments = {'handler_factory' : Handler , 'fragment_size_bytes' : 64 },
122126 client_arguments = {'fragment_size_bytes' : 64 }) as (server , client ):
123- data = b'dog-dog-dog-dog-dog-dog-dog-dog-dog' * 10
127+ data = b'dog-dog-dog-dog-dog-dog-dog-dog-dog' * data_size_multiplier
124128 response = await client .request_response (Payload (data , b'cat' ))
125129
126130 assert response .data == b'data: ' + data
131+
132+
133+ async def test_request_response_fragmented_empty_payload (lazy_pipe ):
134+ class Handler (BaseRequestHandler ):
135+ async def request_response (self , request : Payload ):
136+ return create_future (Payload ())
137+
138+ async with lazy_pipe (
139+ server_arguments = {'handler_factory' : Handler , 'fragment_size_bytes' : 64 },
140+ client_arguments = {'fragment_size_bytes' : 64 }) as (server , client ):
141+ response = await client .request_response (Payload ())
142+
143+ assert response .data == b''
144+ assert response .metadata == b''
0 commit comments