@@ -328,3 +328,34 @@ def on_event_batch(partition_context, event_batch):
328328 assert root_receive .children [1 ].links [1 ].headers ['traceparent' ] == traceparent2
329329
330330 settings .tracing_implementation .set_value (None )
331+
332+
333+ @pytest .mark .liveTest
334+ def test_receive_batch_large_event (connstr_senders , uamqp_transport ):
335+ connection_str , senders = connstr_senders
336+ senders [0 ].send (EventData ("A" * 15700 ))
337+ client = EventHubConsumerClient .from_connection_string (
338+ connection_str , consumer_group = '$default' , uamqp_transport = uamqp_transport
339+ )
340+
341+ def on_event (partition_context , event ):
342+ on_event .received += 1
343+ on_event .partition_id = partition_context .partition_id
344+ on_event .consumer_group = partition_context .consumer_group
345+ on_event .fully_qualified_namespace = partition_context .fully_qualified_namespace
346+ on_event .eventhub_name = partition_context .eventhub_name
347+ assert client ._event_processors [0 ]._consumers [0 ]._handler ._link .current_link_credit == 1
348+
349+ on_event .received = 0
350+ with client :
351+ worker = threading .Thread (target = client .receive_batch ,
352+ args = (on_event ,),
353+ kwargs = {"starting_position" : "-1" ,
354+ "partition_id" : "0" , "prefetch" : 2 })
355+ worker .start ()
356+ time .sleep (10 )
357+ assert on_event .received == 1
358+ assert on_event .partition_id == "0"
359+ assert on_event .consumer_group == "$default"
360+ assert on_event .fully_qualified_namespace in connection_str
361+ assert on_event .eventhub_name == senders [0 ]._client .eventhub_name
0 commit comments