async def create_queue(servicebus_mgmt_client): print("-- Create Queue") queue_description = QueueDescription(QUEUE_NAME) # You can adjust the settings of a queue when creating. # Please refer to the QueueDescription class for available settings. queue_description.max_delivery_count = 10 queue_description.dead_lettering_on_message_expiration = True await servicebus_mgmt_client.create_queue(queue_description) print("Queue {} is created.".format(QUEUE_NAME)) print("")
def test_mgmt_queue_create_with_invalid_name( self, servicebus_namespace_connection_string, **kwargs): mgmt_service = ServiceBusManagementClient.from_connection_string( servicebus_namespace_connection_string) with pytest.raises(msrest.exceptions.ValidationError): mgmt_service.create_queue(Exception()) with pytest.raises(msrest.exceptions.ValidationError): mgmt_service.create_queue(QueueDescription(name=Exception())) with pytest.raises(msrest.exceptions.ValidationError): mgmt_service.create_queue('') with pytest.raises(msrest.exceptions.ValidationError): mgmt_service.create_queue(QueueDescription(name=''))
async def test_async_mgmt_queue_create_with_invalid_name( self, servicebus_namespace_connection_string, **kwargs): mgmt_service = ServiceBusManagementClient.from_connection_string( servicebus_namespace_connection_string) with pytest.raises(TypeError): await mgmt_service.create_queue(Exception()) with pytest.raises(ValueError): await mgmt_service.create_queue( QueueDescription(queue_name=Exception())) with pytest.raises(ValueError): await mgmt_service.create_queue('') with pytest.raises(ValueError): await mgmt_service.create_queue(QueueDescription(queue_name=''))
def test_mgmt_queue_create_with_queue_description( self, servicebus_namespace_connection_string, **kwargs): mgmt_service = ServiceBusManagementClient.from_connection_string( servicebus_namespace_connection_string) clear_queues(mgmt_service) queue_name = "iweidk" #TODO: Why don't we have an input model (queueOptions? as superclass of QueueDescription?) and output model to not show these params? #TODO: This fails with the following: E msrest.exceptions.DeserializationError: Find several XML 'prefix:DeadLetteringOnMessageExpiration' where it was not expected .tox\whl\lib\site-packages\msrest\serialization.py:1262: DeserializationError mgmt_service.create_queue( QueueDescription( name=queue_name, auto_delete_on_idle=datetime.timedelta(minutes=10), dead_lettering_on_message_expiration=True, default_message_time_to_live=datetime.timedelta(minutes=11), duplicate_detection_history_time_window=datetime.timedelta( minutes=12), enable_batched_operations=True, enable_express=True, enable_partitioning=True, is_anonymous_accessible=True, lock_duration=datetime.timedelta(seconds=13), max_delivery_count=14, max_size_in_megabytes=3072, #requires_duplicate_detection=True, requires_session=True, support_ordering=True)) try: queue = mgmt_service.get_queue(queue_name) assert queue.name == queue_name assert queue.auto_delete_on_idle == datetime.timedelta(minutes=10) assert queue.dead_lettering_on_message_expiration == True assert queue.default_message_time_to_live == datetime.timedelta( minutes=11) assert queue.duplicate_detection_history_time_window == datetime.timedelta( minutes=12) assert queue.enable_batched_operations == True assert queue.enable_express == True assert queue.enable_partitioning == True assert queue.is_anonymous_accessible == True assert queue.lock_duration == datetime.timedelta(seconds=13) assert queue.max_delivery_count == 14 assert queue.max_size_in_megabytes % 3072 == 0 # TODO: In my local test, I don't see a multiple of the input number. To confirm #assert queue.requires_duplicate_detection == True assert queue.requires_session == True assert queue.support_ordering == True finally: mgmt_service.delete_queue(queue_name)
async def test_async_mgmt_queue_create_with_queue_description( self, servicebus_namespace_connection_string, **kwargs): mgmt_service = ServiceBusManagementClient.from_connection_string( servicebus_namespace_connection_string) await clear_queues(mgmt_service) queue_name = "dkldf" await mgmt_service.create_queue( QueueDescription( name=queue_name, auto_delete_on_idle=datetime.timedelta(minutes=10), dead_lettering_on_message_expiration=True, default_message_time_to_live=datetime.timedelta(minutes=11), duplicate_detection_history_time_window=datetime.timedelta( minutes=12), enable_batched_operations=True, enable_express=True, enable_partitioning=True, is_anonymous_accessible=True, lock_duration=datetime.timedelta(seconds=13), max_delivery_count=14, max_size_in_megabytes=3072, #requires_duplicate_detection=True, requires_session=True, support_ordering=True)) try: queue = await mgmt_service.get_queue(queue_name) assert queue.name == queue_name assert queue.auto_delete_on_idle == datetime.timedelta(minutes=10) assert queue.dead_lettering_on_message_expiration == True assert queue.default_message_time_to_live == datetime.timedelta( minutes=11) assert queue.duplicate_detection_history_time_window == datetime.timedelta( minutes=12) assert queue.enable_batched_operations == True assert queue.enable_express == True assert queue.enable_partitioning == True assert queue.is_anonymous_accessible == True assert queue.lock_duration == datetime.timedelta(seconds=13) assert queue.max_delivery_count == 14 assert queue.max_size_in_megabytes % 3072 == 0 #assert queue.requires_duplicate_detection == True assert queue.requires_session == True assert queue.support_ordering == True finally: await mgmt_service.delete_queue(queue_name)