@@ -3682,3 +3682,117 @@ async def test_queue_complete_message_on_different_receiver_async(
36823682 messages_in_queue = await receiver1 .peek_messages ()
36833683
36843684 assert len (messages_in_queue ) == 0
3685+
3686+ @pytest .mark .asyncio
3687+ @pytest .mark .liveTest
3688+ @pytest .mark .live_test_only
3689+ @CachedServiceBusResourceGroupPreparer (name_prefix = "servicebustest" )
3690+ @CachedServiceBusNamespacePreparer (name_prefix = "servicebustest" )
3691+ @ServiceBusQueuePreparer (name_prefix = "servicebustest" , dead_lettering_on_message_expiration = True )
3692+ @pytest .mark .parametrize ("uamqp_transport" , uamqp_transport_params , ids = uamqp_transport_ids )
3693+ @ArgPasserAsync ()
3694+ async def test_queue_async_by_queue_client_peek_auto_increment (
3695+ self , uamqp_transport , * , servicebus_namespace = None , servicebus_queue = None , ** kwargs
3696+ ):
3697+ fully_qualified_namespace = f"{ servicebus_namespace .name } { SERVICEBUS_ENDPOINT_SUFFIX } "
3698+ credential = get_credential (is_async = True )
3699+ async with ServiceBusClient (
3700+ fully_qualified_namespace , credential , logging_enable = False , uamqp_transport = uamqp_transport
3701+ ) as sb_client :
3702+
3703+ sender = sb_client .get_queue_sender (servicebus_queue .name )
3704+ async with sender :
3705+ messages = []
3706+ for i in range (3 ):
3707+ message = ServiceBusMessage ("Handler message no. {}" .format (i ), application_properties = {"index" : i })
3708+ messages .append (message )
3709+ await sender .send_messages (messages )
3710+
3711+ receiver = sb_client .get_queue_receiver (servicebus_queue .name , max_wait_time = 5 )
3712+ async with receiver :
3713+ peek_message = await receiver .peek_messages ()
3714+ assert peek_message [0 ].application_properties [b"index" ] == 0
3715+ assert peek_message [0 ].sequence_number == 1
3716+ peek_message = await receiver .peek_messages ()
3717+ assert peek_message [0 ].application_properties [b"index" ] == 1
3718+ assert peek_message [0 ].sequence_number == 2
3719+ peek_message = await receiver .peek_messages ()
3720+ assert peek_message [0 ].application_properties [b"index" ] == 2
3721+ assert peek_message [0 ].sequence_number == 3
3722+
3723+ @pytest .mark .asyncio
3724+ @pytest .mark .liveTest
3725+ @pytest .mark .live_test_only
3726+ @CachedServiceBusResourceGroupPreparer (name_prefix = "servicebustest" )
3727+ @CachedServiceBusNamespacePreparer (name_prefix = "servicebustest" )
3728+ @ServiceBusQueuePreparer (name_prefix = "servicebustest" , dead_lettering_on_message_expiration = True )
3729+ @pytest .mark .parametrize ("uamqp_transport" , uamqp_transport_params , ids = uamqp_transport_ids )
3730+ @ArgPasserAsync ()
3731+ async def test_queue_async_by_queue_client_peek_auto_increment_multiple (
3732+ self , uamqp_transport , * , servicebus_namespace = None , servicebus_queue = None , ** kwargs
3733+ ):
3734+ fully_qualified_namespace = f"{ servicebus_namespace .name } { SERVICEBUS_ENDPOINT_SUFFIX } "
3735+ credential = get_credential (is_async = True )
3736+ async with ServiceBusClient (
3737+ fully_qualified_namespace , credential , logging_enable = False , uamqp_transport = uamqp_transport
3738+ ) as sb_client :
3739+
3740+ sender = sb_client .get_queue_sender (servicebus_queue .name )
3741+ async with sender :
3742+ messages = []
3743+ for i in range (4 ):
3744+ message = ServiceBusMessage ("Handler message no. {}" .format (i ), application_properties = {"index" : i })
3745+ messages .append (message )
3746+ await sender .send_messages (messages )
3747+
3748+ receiver = sb_client .get_queue_receiver (servicebus_queue .name , max_wait_time = 5 )
3749+ async with receiver :
3750+ peek_message = await receiver .peek_messages (max_message_count = 2 )
3751+ assert len (peek_message ) == 2
3752+ assert peek_message [0 ].application_properties [b"index" ] == 0
3753+ assert peek_message [0 ].sequence_number == 1
3754+ assert peek_message [1 ].application_properties [b"index" ] == 1
3755+ assert peek_message [1 ].sequence_number == 2
3756+ peek_message = await receiver .peek_messages (max_message_count = 2 )
3757+ assert len (peek_message ) == 2
3758+ assert peek_message [0 ].application_properties [b"index" ] == 2
3759+ assert peek_message [0 ].sequence_number == 3
3760+ assert peek_message [1 ].application_properties [b"index" ] == 3
3761+ assert peek_message [1 ].sequence_number == 4
3762+
3763+ @pytest .mark .asyncio
3764+ @pytest .mark .liveTest
3765+ @pytest .mark .live_test_only
3766+ @CachedServiceBusResourceGroupPreparer (name_prefix = "servicebustest" )
3767+ @CachedServiceBusNamespacePreparer (name_prefix = "servicebustest" )
3768+ @ServiceBusQueuePreparer (name_prefix = "servicebustest" , dead_lettering_on_message_expiration = True )
3769+ @pytest .mark .parametrize ("uamqp_transport" , uamqp_transport_params , ids = uamqp_transport_ids )
3770+ @ArgPasserAsync ()
3771+ async def test_queue_async_by_queue_client_peek_and_receive (
3772+ self , uamqp_transport , * , servicebus_namespace = None , servicebus_queue = None , ** kwargs
3773+ ):
3774+ fully_qualified_namespace = f"{ servicebus_namespace .name } { SERVICEBUS_ENDPOINT_SUFFIX } "
3775+ credential = get_credential (is_async = True )
3776+ async with ServiceBusClient (
3777+ fully_qualified_namespace , credential , logging_enable = False , uamqp_transport = uamqp_transport
3778+ ) as sb_client :
3779+
3780+ sender = sb_client .get_queue_sender (servicebus_queue .name )
3781+ async with sender :
3782+ messages = []
3783+ for i in range (4 ):
3784+ message = ServiceBusMessage ("Handler message no. {}" .format (i ), application_properties = {"index" : i })
3785+ messages .append (message )
3786+ await sender .send_messages (messages )
3787+
3788+ receiver = sb_client .get_queue_receiver (servicebus_queue .name , max_wait_time = 5 )
3789+ async with receiver :
3790+ peeked_messages = await receiver .peek_messages (max_message_count = 2 )
3791+
3792+ messages = await receiver .receive_messages (max_message_count = 3 )
3793+ last_received_sequnece_number = messages [- 1 ].sequence_number
3794+ for message in messages :
3795+ await receiver .complete_message (message )
3796+
3797+ peeked_messages = await receiver .peek_messages (max_message_count = 2 )
3798+ assert peeked_messages [0 ].sequence_number == last_received_sequnece_number + 1
0 commit comments