@@ -2965,29 +2965,30 @@ async def test_state_deferred_async(self, uamqp_transport, *, servicebus_namespa
29652965 @pytest .mark .parametrize ("uamqp_transport" , uamqp_transport_params , ids = uamqp_transport_ids )
29662966 @ArgPasserAsync ()
29672967 async def test_queue_complete_message_on_different_receiver_async (self , uamqp_transport , * , servicebus_namespace_connection_string = None , servicebus_queue = None , ** kwargs ):
2968- # Skipping if uamqp: This bug will not be fixed in uamqp.
2969- if not uamqp_transport :
2970- async with ServiceBusClient .from_connection_string (
2971- servicebus_namespace_connection_string , uamqp_transport = uamqp_transport ) as sb_client :
2972- sender = sb_client .get_queue_sender (servicebus_queue .name )
2973- receiver1 = sb_client .get_queue_receiver (servicebus_queue .name )
2974- receiver2 = sb_client .get_queue_receiver (servicebus_queue .name )
2975-
2976- async with sender , receiver1 , receiver2 :
2977- await sender .send_messages ([ServiceBusMessage ('test' ) for _ in range (5 )])
2978- received_msgs = []
2979- # the amount of messages returned by receive call is not stable, especially in live tests
2980- # of different os platforms, this is why a while loop is used here to receive the specific
2981- # amount of message we want to receive
2982- while len (received_msgs ) < 5 :
2983- # start receives on the first receiver and complete them on the other one.
2984- # the messages should settle over the management of the second receiver.
2985- for msg in await receiver1 .receive_messages (max_message_count = 10 , max_wait_time = 5 ):
2986- await receiver2 .complete_message (msg )
2987- received_msgs .append (msg )
2988-
2989- assert len (received_msgs ) == 5
2990-
2991- messages_in_queue = await receiver1 .peek_messages ()
2992-
2993- assert len (messages_in_queue ) == 0
2968+ async with ServiceBusClient .from_connection_string (
2969+ servicebus_namespace_connection_string , uamqp_transport = uamqp_transport ) as sb_client :
2970+ sender = sb_client .get_queue_sender (servicebus_queue .name )
2971+ receiver1 = sb_client .get_queue_receiver (servicebus_queue .name )
2972+ receiver2 = sb_client .get_queue_receiver (servicebus_queue .name )
2973+
2974+ async with sender , receiver1 , receiver2 :
2975+ await sender .send_messages ([ServiceBusMessage ('test' ) for _ in range (5 )])
2976+ received_msgs = []
2977+ # the amount of messages returned by receive call is not stable, especially in live tests
2978+ # of different os platforms, this is why a while loop is used here to receive the specific
2979+ # amount of message we want to receive
2980+ while len (received_msgs ) < 5 :
2981+ # start receives on the first receiver and complete them on the other one.
2982+ # the messages should settle over the management of the second receiver.
2983+ for msg in await receiver1 .receive_messages (max_message_count = 10 , max_wait_time = 5 ):
2984+ await receiver2 .complete_message (msg )
2985+ received_msgs .append (msg )
2986+
2987+ assert len (received_msgs ) == 5
2988+
2989+ if uamqp_transport :
2990+ # wait to make sure message completed, since uamqp is taking longer in the CI
2991+ await asyncio .sleep (20 )
2992+ messages_in_queue = await receiver1 .peek_messages ()
2993+
2994+ assert len (messages_in_queue ) == 0
0 commit comments