diff --git a/sdk/storage/azure-storage-queue/CHANGELOG.md b/sdk/storage/azure-storage-queue/CHANGELOG.md index 3382addb8b39..01bb00ebac9c 100644 --- a/sdk/storage/azure-storage-queue/CHANGELOG.md +++ b/sdk/storage/azure-storage-queue/CHANGELOG.md @@ -4,6 +4,11 @@ ### Features Added - Added support for `create_queue_if_not_exists()` for `QueueClient` +- Added support for `max_messages` in `receive_messages()` to specify the maximum number of messages to receive from the queue. + +### Other Changes +- Updated documentation for `receive_messages()` to explain iterator behavior and life-cycle. +- Added a sample to `queue_samples_message.py` (and async-equivalent) showcasing the use of `max_messages` in `receive_messages()`. ## 12.2.0 (2022-03-08) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_models.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_models.py index 943de5ce8e7d..b289c904e849 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_models.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_models.py @@ -264,8 +264,10 @@ class MessagesPaged(PageIterator): :param callable command: Function to retrieve the next page of items. :param int results_per_page: The maximum number of messages to retrieve per call. + :param int max_messages: The maximum number of messages to retrieve from + the queue. """ - def __init__(self, command, results_per_page=None, continuation_token=None): + def __init__(self, command, results_per_page=None, continuation_token=None, max_messages=None): if continuation_token is not None: raise ValueError("This operation does not support continuation token") @@ -275,9 +277,16 @@ def __init__(self, command, results_per_page=None, continuation_token=None): ) self._command = command self.results_per_page = results_per_page + self._max_messages = max_messages def _get_next_cb(self, continuation_token): try: + if self._max_messages is not None: + if self.results_per_page is None: + self.results_per_page = 1 + if self._max_messages < 1: + raise StopIteration("End of paging") + self.results_per_page = min(self.results_per_page, self._max_messages) return self._command(number_of_messages=self.results_per_page) except HttpResponseError as error: process_storage_error(error) @@ -286,6 +295,8 @@ def _extract_data_cb(self, messages): # pylint: disable=no-self-use # There is no concept of continuation token, so raising on my own condition if not messages: raise StopIteration("End of paging") + if self._max_messages is not None: + self._max_messages = self._max_messages - len(messages) return "TOKEN_IGNORED", [QueueMessage._from_generated(q) for q in messages] # pylint: disable=protected-access diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index b6cd24a70f0b..cf1fe33c5417 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -588,7 +588,9 @@ def receive_messages(self, **kwargs): content and a pop_receipt value, which is required to delete the message. The message is not automatically deleted from the queue, but after it has been retrieved, it is not visible to other clients for the time interval - specified by the visibility_timeout parameter. + specified by the visibility_timeout parameter. The iterator will continuously + fetch messages until the queue is empty or max_messages is reached (if max_messages + is set). If the key-encryption-key or resolver field is set on the local service object, the messages will be decrypted before being returned. @@ -618,6 +620,8 @@ def receive_messages(self, **kwargs): should be set to a value smaller than the time-to-live value. :keyword int timeout: The server timeout, expressed in seconds. + :keyword int max_messages: + An integer that specifies the maximum number of messages to retrieve from the queue. :return: Returns a message iterator of dict-like Message objects. :rtype: ~azure.core.paging.ItemPaged[~azure.storage.queue.QueueMessage] @@ -634,6 +638,7 @@ def receive_messages(self, **kwargs): messages_per_page = kwargs.pop('messages_per_page', None) visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) + max_messages = kwargs.pop('max_messages', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, @@ -646,7 +651,11 @@ def receive_messages(self, **kwargs): cls=self._config.message_decode_policy, **kwargs ) - return ItemPaged(command, results_per_page=messages_per_page, page_iterator_class=MessagesPaged) + if max_messages is not None and messages_per_page is not None: + if max_messages < messages_per_page: + raise ValueError("max_messages must be greater or equal to messages_per_page") + return ItemPaged(command, results_per_page=messages_per_page, + page_iterator_class=MessagesPaged, max_messages=max_messages) except HttpResponseError as error: process_storage_error(error) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_models.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_models.py index cb9083617b1d..dcb8d32277f4 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_models.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_models.py @@ -21,8 +21,10 @@ class MessagesPaged(AsyncPageIterator): :param callable command: Function to retrieve the next page of items. :param int results_per_page: The maximum number of messages to retrieve per call. + :param int max_messages: The maximum number of messages to retrieve from + the queue. """ - def __init__(self, command, results_per_page=None, continuation_token=None): + def __init__(self, command, results_per_page=None, continuation_token=None, max_messages=None): if continuation_token is not None: raise ValueError("This operation does not support continuation token") @@ -32,9 +34,16 @@ def __init__(self, command, results_per_page=None, continuation_token=None): ) self._command = command self.results_per_page = results_per_page + self._max_messages = max_messages async def _get_next_cb(self, continuation_token): try: + if self._max_messages is not None: + if self.results_per_page is None: + self.results_per_page = 1 + if self._max_messages < 1: + raise StopAsyncIteration("End of paging") + self.results_per_page = min(self.results_per_page, self._max_messages) return await self._command(number_of_messages=self.results_per_page) except HttpResponseError as error: process_storage_error(error) @@ -43,6 +52,8 @@ async def _extract_data_cb(self, messages): # There is no concept of continuation token, so raising on my own condition if not messages: raise StopAsyncIteration("End of paging") + if self._max_messages is not None: + self._max_messages = self._max_messages - len(messages) return "TOKEN_IGNORED", [QueueMessage._from_generated(q) for q in messages] # pylint: disable=protected-access diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 4de872a73e04..db8be1771af3 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -490,7 +490,9 @@ def receive_messages(self, **kwargs): content and a pop_receipt value, which is required to delete the message. The message is not automatically deleted from the queue, but after it has been retrieved, it is not visible to other clients for the time interval - specified by the visibility_timeout parameter. + specified by the visibility_timeout parameter. The iterator will continuously + fetch messages until the queue is empty or max_messages is reached (if max_messages + is set). If the key-encryption-key or resolver field is set on the local service object, the messages will be decrypted before being returned. @@ -511,6 +513,8 @@ def receive_messages(self, **kwargs): should be set to a value smaller than the time-to-live value. :keyword int timeout: The server timeout, expressed in seconds. + :keyword int max_messages: + An integer that specifies the maximum number of messages to retrieve from the queue. :return: Returns a message iterator of dict-like Message objects. :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.queue.QueueMessage] @@ -527,6 +531,7 @@ def receive_messages(self, **kwargs): messages_per_page = kwargs.pop('messages_per_page', None) visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) + max_messages = kwargs.pop('max_messages', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, @@ -540,7 +545,11 @@ def receive_messages(self, **kwargs): cls=self._config.message_decode_policy, **kwargs ) - return AsyncItemPaged(command, results_per_page=messages_per_page, page_iterator_class=MessagesPaged) + if max_messages is not None and messages_per_page is not None: + if max_messages < messages_per_page: + raise ValueError("max_messages must be greater or equal to messages_per_page") + return AsyncItemPaged(command, results_per_page=messages_per_page, + page_iterator_class=MessagesPaged, max_messages=max_messages) except HttpResponseError as error: process_storage_error(error) diff --git a/sdk/storage/azure-storage-queue/samples/queue_samples_message.py b/sdk/storage/azure-storage-queue/samples/queue_samples_message.py index 79e9a3b4eb23..61a21571385b 100644 --- a/sdk/storage/azure-storage-queue/samples/queue_samples_message.py +++ b/sdk/storage/azure-storage-queue/samples/queue_samples_message.py @@ -300,6 +300,43 @@ def update_message(self): # Delete the queue queue.delete_queue() + def receive_messages_with_max_messages(self): + # Instantiate a queue client + from azure.storage.queue import QueueClient + queue = QueueClient.from_connection_string(self.connection_string, "myqueue9") + + # Create the queue + queue.create_queue() + + try: + queue.send_message(u"message1") + queue.send_message(u"message2") + queue.send_message(u"message3") + queue.send_message(u"message4") + queue.send_message(u"message5") + queue.send_message(u"message6") + queue.send_message(u"message7") + queue.send_message(u"message8") + queue.send_message(u"message9") + queue.send_message(u"message10") + + # Receive messages one-by-one + messages = queue.receive_messages(max_messages=5) + for msg in messages: + print(msg.content) + queue.delete_message(msg) + + # Only prints 5 messages because 'max_messages'=5 + # >>message1 + # >>message2 + # >>message3 + # >>message4 + # >>message5 + + finally: + # Delete the queue + queue.delete_queue() + if __name__ == '__main__': sample = QueueMessageSamples() @@ -311,3 +348,4 @@ def update_message(self): sample.delete_and_clear_messages() sample.peek_messages() sample.update_message() + sample.receive_messages_with_max_messages() \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/samples/queue_samples_message_async.py b/sdk/storage/azure-storage-queue/samples/queue_samples_message_async.py index 539869ef3d58..c67cdc40e5fc 100644 --- a/sdk/storage/azure-storage-queue/samples/queue_samples_message_async.py +++ b/sdk/storage/azure-storage-queue/samples/queue_samples_message_async.py @@ -279,6 +279,44 @@ async def update_message_async(self): finally: # Delete the queue await queue.delete_queue() + + async def receive_messages_with_max_messages(self): + # Instantiate a queue client + from azure.storage.queue.aio import QueueClient + queue = QueueClient.from_connection_string(self.connection_string, "myqueue7") + + # Create the queue + async with queue: + await queue.create_queue() + + try: + await queue.send_message(u"message1") + await queue.send_message(u"message2") + await queue.send_message(u"message3") + await queue.send_message(u"message4") + await queue.send_message(u"message5") + await queue.send_message(u"message6") + await queue.send_message(u"message7") + await queue.send_message(u"message8") + await queue.send_message(u"message9") + await queue.send_message(u"message10") + + # Receive messages one-by-one + messages = queue.receive_messages(max_messages=5) + async for msg in messages: + print(msg.content) + await queue.delete_message(msg) + + # Only prints 5 messages because 'max_messages'=5 + # >>message1 + # >>message2 + # >>message3 + # >>message4 + # >>message5 + + finally: + # Delete the queue + await queue.delete_queue() async def main(): @@ -290,7 +328,8 @@ async def main(): await sample.delete_and_clear_messages_async() await sample.peek_messages_async() await sample.update_message_async() + await sample.receive_messages_with_max_messages() if __name__ == '__main__': loop = asyncio.get_event_loop() - loop.run_until_complete(main()) + loop.run_until_complete(main()) \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_max_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_max_messages.yaml new file mode 100644 index 000000000000..c6593b976583 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_max_messages.yaml @@ -0,0 +1,661 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:04 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 30 Mar 2022 18:25:04 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFF1e3ea507-e51d-4be1-88b7-1542f1c72b05Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAA3XFeemNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:04 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFFd204142f-8135-4f6e-94f6-babda2ef3870Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAA9f9temNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFFb1566851-fe50-4583-9fd8-b7e0e0b39899Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAoeB7emNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFF7513bbe6-3735-482c-8258-173819f2789fWed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAZAaOemNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFFd40fd615-b25a-4455-8bba-101daa656cb7Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAIDWcemNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message6' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:05 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFFd093e9bc-acd3-4450-a533-f9c7ef9bfc1aWed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAAACremNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message7' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFFc9f970d7-fe2d-4e9c-aa27-b04b47636b06Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAjGu4emNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message8' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFF91a15e0d-26a9-42e7-9544-fca67f391113Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAArCDIemNE2AE=Wed, + 30 Mar 2022 18:25:05 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message9' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFF02ab7e6a-9e77-409c-b36d-23bfb4c0413bWed, + 30 Mar 2022 18:25:06 GMTWed, 06 Apr 2022 18:25:06 + GMTAgAAAAMAAAAAAAAAoTnXemNE2AE=Wed, + 30 Mar 2022 18:25:06 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message10' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages + response: + body: + string: "\uFEFF8880c6b8-5ae6-4a3e-b9d5-89d97a08509eWed, + 30 Mar 2022 18:25:06 GMTWed, 06 Apr 2022 18:25:06 + GMTAgAAAAMAAAAAAAAAlyvmemNE2AE=Wed, + 30 Mar 2022 18:25:06 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages?numofmessages=1 + response: + body: + string: "\uFEFF1e3ea507-e51d-4be1-88b7-1542f1c72b05Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAACOzUjGNE2AE=Wed, + 30 Mar 2022 18:25:36 GMT1message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:05 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages?numofmessages=1 + response: + body: + string: "\uFEFFd204142f-8135-4f6e-94f6-babda2ef3870Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAt/PijGNE2AE=Wed, + 30 Mar 2022 18:25:36 GMT1message2" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:06 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages?numofmessages=1 + response: + body: + string: "\uFEFFb1566851-fe50-4583-9fd8-b7e0e0b39899Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAVq3wjGNE2AE=Wed, + 30 Mar 2022 18:25:36 GMT1message3" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:06 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages?numofmessages=1 + response: + body: + string: "\uFEFF7513bbe6-3735-482c-8258-173819f2789fWed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAQp//jGNE2AE=Wed, + 30 Mar 2022 18:25:36 GMT1message4" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:06 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:25:06 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesyncbe471300/messages?numofmessages=1 + response: + body: + string: "\uFEFFd40fd615-b25a-4455-8bba-101daa656cb7Wed, + 30 Mar 2022 18:25:05 GMTWed, 06 Apr 2022 18:25:05 + GMTAgAAAAMAAAAAAAAAnEcMjWNE2AE=Wed, + 30 Mar 2022 18:25:36 GMT1message5" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:25:06 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_page_bigger_than_max.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_page_bigger_than_max.yaml new file mode 100644 index 000000000000..17d235138dbe --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_page_bigger_than_max.yaml @@ -0,0 +1,251 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:10 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 30 Mar 2022 22:05:10 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e/messages + response: + body: + string: "\uFEFF64afff66-3f4d-4d78-b7fa-cb692f73fce0Wed, + 30 Mar 2022 22:05:11 GMTWed, 06 Apr 2022 22:05:11 + GMTAgAAAAMAAAAAAAAAE4qaOYJE2AE=Wed, + 30 Mar 2022 22:05:11 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 22:05:10 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e/messages + response: + body: + string: "\uFEFF4b8356a0-c9e2-46b2-a0ff-598c91f4cc3eWed, + 30 Mar 2022 22:05:11 GMTWed, 06 Apr 2022 22:05:11 + GMTAgAAAAMAAAAAAAAAVuSmOYJE2AE=Wed, + 30 Mar 2022 22:05:11 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 22:05:10 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e/messages + response: + body: + string: "\uFEFF4bd2280d-b504-4d6d-aedd-33d1b5cd79e2Wed, + 30 Mar 2022 22:05:11 GMTWed, 06 Apr 2022 22:05:11 + GMTAgAAAAMAAAAAAAAAZKKyOYJE2AE=Wed, + 30 Mar 2022 22:05:11 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 22:05:11 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e/messages + response: + body: + string: "\uFEFF341dc07c-7f61-448f-bc4c-49fe80525e90Wed, + 30 Mar 2022 22:05:11 GMTWed, 06 Apr 2022 22:05:11 + GMTAgAAAAMAAAAAAAAAX+u9OYJE2AE=Wed, + 30 Mar 2022 22:05:11 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 22:05:11 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:05:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync6272161e/messages + response: + body: + string: "\uFEFFe91af182-1a95-49f2-9243-1d4cd33cb3daWed, + 30 Mar 2022 22:05:11 GMTWed, 06 Apr 2022 22:05:11 + GMTAgAAAAMAAAAAAAAAlR7KOYJE2AE=Wed, + 30 Mar 2022 22:05:11 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 22:05:11 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_remainder.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_remainder.yaml new file mode 100644 index 000000000000..65bbed2b633a --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_remainder.yaml @@ -0,0 +1,841 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:08 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 30 Mar 2022 18:29:07 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF9f7a1229-5156-4e45-ac8b-21dd675da18fWed, + 30 Mar 2022 18:29:08 GMTWed, 06 Apr 2022 18:29:08 + GMTAgAAAAMAAAAAAAAAxVuTC2RE2AE=Wed, + 30 Mar 2022 18:29:08 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:07 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFFc905f8d1-2b81-4ffd-bdf6-ae062f6ff2ffWed, + 30 Mar 2022 18:29:08 GMTWed, 06 Apr 2022 18:29:08 + GMTAgAAAAMAAAAAAAAA6ECfC2RE2AE=Wed, + 30 Mar 2022 18:29:08 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF088cb43b-8db6-433e-b19f-72844f6628a0Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAWF6sC2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF873cf6d7-e1d8-4e3c-9674-6f3b7231a764Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAWs63C2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFFf893864e-263f-4947-a5e2-6940d12ed944Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAlwHEC2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message6' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF566fba70-5972-4209-9873-ef931a0828b4Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAACB/RC2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message7' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF35dde36e-6e52-40c0-af23-ebbd80303b45Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA8UDcC2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message8' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFFeae7a8ef-2377-4af3-be39-b7bc0295eb31Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAJB3sC2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message9' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF1a56746d-f8d1-4ef7-ac74-7d69b946111fWed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAKrT3C2RE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message10' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFFf34db96b-ab4b-48d5-b2e7-e136bcdf2d4cWed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAgFwEDGRE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message11' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF24644654-d8a0-448a-bdc1-8df0b9bf32b7Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAjvMPDGRE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message12' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:09 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF099e838a-0c24-4cd5-a214-9fb64bd5eb35Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA65scDGRE2AE=Wed, + 30 Mar 2022 18:29:09 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages?numofmessages=3 + response: + body: + string: "\uFEFF9f7a1229-5156-4e45-ac8b-21dd675da18fWed, + 30 Mar 2022 18:29:08 GMTWed, 06 Apr 2022 18:29:08 + GMTAgAAAAMAAAAAAAAAzWAJHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message1c905f8d1-2b81-4ffd-bdf6-ae062f6ff2ffWed, + 30 Mar 2022 18:29:08 GMTWed, 06 Apr 2022 18:29:08 + GMTAgAAAAMAAAAAAAAAzWAJHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message2088cb43b-8db6-433e-b19f-72844f6628a0Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAzWAJHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message3" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages?numofmessages=3 + response: + body: + string: "\uFEFF873cf6d7-e1d8-4e3c-9674-6f3b7231a764Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA3fcUHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message4f893864e-263f-4947-a5e2-6940d12ed944Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA3fcUHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message5566fba70-5972-4209-9873-ef931a0828b4Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA3fcUHmRE2AE=Wed, + 30 Mar 2022 18:29:39 GMT1message6" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages?numofmessages=3 + response: + body: + string: "\uFEFF35dde36e-6e52-40c0-af23-ebbd80303b45Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA8bUgHmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message7eae7a8ef-2377-4af3-be39-b7bc0295eb31Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA8bUgHmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message81a56746d-f8d1-4ef7-ac74-7d69b946111fWed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAA8bUgHmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message9" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages?numofmessages=1 + response: + body: + string: "\uFEFFf34db96b-ab4b-48d5-b2e7-e136bcdf2d4cWed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAKuksHmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message10" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF24644654-d8a0-448a-bdc1-8df0b9bf32b7Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAD+Q3HmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message11" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF099e838a-0c24-4cd5-a214-9fb64bd5eb35Wed, + 30 Mar 2022 18:29:09 GMTWed, 06 Apr 2022 18:29:09 + GMTAgAAAAMAAAAAAAAAQBdEHmRE2AE=Wed, + 30 Mar 2022 18:29:40 GMT1message12" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:29:10 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync867611ba/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:29:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_too_little_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_too_little_messages.yaml new file mode 100644 index 000000000000..d99a5302a133 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_too_little_messages.yaml @@ -0,0 +1,483 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:54 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages + response: + body: + string: "\uFEFF3ebebfd9-742a-49eb-a448-650a39f4e721Wed, + 30 Mar 2022 18:27:54 GMTWed, 06 Apr 2022 18:27:54 + GMTAgAAAAMAAAAAAAAAGldz32NE2AE=Wed, + 30 Mar 2022 18:27:54 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages + response: + body: + string: "\uFEFF70ff3af2-ded9-4db6-b08b-47d6d0f7f866Wed, + 30 Mar 2022 18:27:54 GMTWed, 06 Apr 2022 18:27:54 + GMTAgAAAAMAAAAAAAAAb/9/32NE2AE=Wed, + 30 Mar 2022 18:27:54 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages + response: + body: + string: "\uFEFF28dcd870-0c4c-4a5a-9ef9-fa79a569b4abWed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAAUPqK32NE2AE=Wed, + 30 Mar 2022 18:27:55 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages + response: + body: + string: "\uFEFFb450043b-4c24-40fc-b25b-8095a4fee698Wed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAABjKV32NE2AE=Wed, + 30 Mar 2022 18:27:55 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages + response: + body: + string: "\uFEFF7d812ab2-4970-42a8-8ac1-d4512d8b246aWed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAA5Syg32NE2AE=Wed, + 30 Mar 2022 18:27:55 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFF3ebebfd9-742a-49eb-a448-650a39f4e721Wed, + 30 Mar 2022 18:27:54 GMTWed, 06 Apr 2022 18:27:54 + GMTAgAAAAMAAAAAAAAA1vGM8WNE2AE=Wed, + 30 Mar 2022 18:28:25 GMT1message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFF70ff3af2-ded9-4db6-b08b-47d6d0f7f866Wed, + 30 Mar 2022 18:27:54 GMTWed, 06 Apr 2022 18:27:54 + GMTAgAAAAMAAAAAAAAArsWX8WNE2AE=Wed, + 30 Mar 2022 18:28:25 GMT1message2" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFF28dcd870-0c4c-4a5a-9ef9-fa79a569b4abWed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAAAm6k8WNE2AE=Wed, + 30 Mar 2022 18:28:25 GMT1message3" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFFb450043b-4c24-40fc-b25b-8095a4fee698Wed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAAGCyw8WNE2AE=Wed, + 30 Mar 2022 18:28:25 GMT1message4" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFF7d812ab2-4970-42a8-8ac1-d4512d8b246aWed, + 30 Mar 2022 18:27:55 GMTWed, 06 Apr 2022 18:27:55 + GMTAgAAAAMAAAAAAAAALeq78WNE2AE=Wed, + 30 Mar 2022 18:28:25 GMT1message5" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:27:55 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueuesync502915f9/messages?numofmessages=1 + response: + body: + string: "\uFEFF" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 30 Mar 2022 18:27:54 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_max_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_max_messages.yaml new file mode 100644 index 000000000000..e4f8757fe873 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_max_messages.yaml @@ -0,0 +1,527 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:09 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 30 Mar 2022 18:30:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFe1459afc-3eab-4ec3-898e-8f97ee974851Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAANgcgMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFa2262bfd-86c4-425e-8d17-6d926d95604bWed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAEQIrMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFF8c6e01eb-7882-4127-bdef-06753ff0f5f1Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAADPQ5MGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFa715f294-5f8d-4568-bd41-d3701b113571Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAx3lEMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFF29951186-5e39-4708-a515-90a6455ea645Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAmCZPMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message6' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFb419c4e5-6897-4fdf-b82a-6acc7378f6a7Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAlW9aMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message7' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFb4e41b50-430f-4e86-940a-85be7fab1f4bWed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAy6JmMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message8' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:10 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFFeea4c080-fd56-4998-ad33-0fb4008c837eWed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAhgFxMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message9' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFF5e89baef-e556-4cde-810b-45090811cb25Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAA3Z6MGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: ' + + message10' + headers: + Accept: + - application/xml + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages + response: + body: + string: "\uFEFF69ed18b4-3e03-4eac-9418-13bb7b25a51aWed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAxfuEMGRE2AE=Wed, + 30 Mar 2022 18:30:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 + response: + body: + string: "\uFEFFe1459afc-3eab-4ec3-898e-8f97ee974851Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAaa9wQmRE2AE=Wed, + 30 Mar 2022 18:30:40 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 + response: + body: + string: "\uFEFFa2262bfd-86c4-425e-8d17-6d926d95604bWed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAA+Ep6QmRE2AE=Wed, + 30 Mar 2022 18:30:41 GMT1message2" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 + response: + body: + string: "\uFEFF8c6e01eb-7882-4127-bdef-06753ff0f5f1Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAhQ2EQmRE2AE=Wed, + 30 Mar 2022 18:30:41 GMT1message3" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 + response: + body: + string: "\uFEFFa715f294-5f8d-4568-bd41-d3701b113571Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAA/4GNQmRE2AE=Wed, + 30 Mar 2022 18:30:41 GMT1message4" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:30:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 + response: + body: + string: "\uFEFF29951186-5e39-4708-a515-90a6455ea645Wed, + 30 Mar 2022 18:30:10 GMTWed, 06 Apr 2022 18:30:10 + GMTAgAAAAMAAAAAAAAAix2XQmRE2AE=Wed, + 30 Mar 2022 18:30:41 GMT1message5" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:30:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasync3a1d157d/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_page_bigger_than_max.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_page_bigger_than_max.yaml new file mode 100644 index 000000000000..552ffb9c3978 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_page_bigger_than_max.yaml @@ -0,0 +1,202 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:15 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 30 Mar 2022 22:08:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:16 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b/messages + response: + body: + string: "\uFEFF68d87f79-5231-4ac3-aec6-5dcc05266b65Wed, + 30 Mar 2022 22:08:16 GMTWed, 06 Apr 2022 22:08:16 + GMTAgAAAAMAAAAAAAAA9XTkp4JE2AE=Wed, + 30 Mar 2022 22:08:16 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 22:08:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b/messages +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:16 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b/messages + response: + body: + string: "\uFEFF3fe4bf37-fd26-4817-ad78-30c49c470acbWed, + 30 Mar 2022 22:08:16 GMTWed, 06 Apr 2022 22:08:16 + GMTAgAAAAMAAAAAAAAAeRDup4JE2AE=Wed, + 30 Mar 2022 22:08:16 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 22:08:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b/messages +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:16 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b/messages + response: + body: + string: "\uFEFFce7bb8df-9eee-4ff7-a500-2c12feb7041eWed, + 30 Mar 2022 22:08:16 GMTWed, 06 Apr 2022 22:08:16 + GMTAgAAAAMAAAAAAAAACtP3p4JE2AE=Wed, + 30 Mar 2022 22:08:16 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 22:08:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b/messages +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:16 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b/messages + response: + body: + string: "\uFEFFe537a027-d773-4f22-9ba9-7168c2e060e4Wed, + 30 Mar 2022 22:08:16 GMTWed, 06 Apr 2022 22:08:16 + GMTAgAAAAMAAAAAAAAAm5UBqIJE2AE=Wed, + 30 Mar 2022 22:08:16 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 22:08:16 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b/messages +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 22:08:16 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncf221189b/messages + response: + body: + string: "\uFEFF5e31cd51-0dce-427e-8b11-7ff1167fc43dWed, + 30 Mar 2022 22:08:16 GMTWed, 06 Apr 2022 22:08:16 + GMTAgAAAAMAAAAAAAAAK1gLqIJE2AE=Wed, + 30 Mar 2022 22:08:16 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 22:08:16 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncf221189b/messages +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_remainder.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_remainder.yaml new file mode 100644 index 000000000000..fe018e893017 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_remainder.yaml @@ -0,0 +1,673 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:17 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 30 Mar 2022 18:32:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437 +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:17 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF88aef705-95ba-4bd8-8c14-1b45d8c01a33Wed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAA58cJfGRE2AE=Wed, + 30 Mar 2022 18:32:17 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF8a5243ed-d88d-4673-86ce-313e1127e61bWed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAAk1gyfGRE2AE=Wed, + 30 Mar 2022 18:32:17 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFd03fb6d9-9c32-4dd9-b2e7-6012374387f8Wed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAADs07fGRE2AE=Wed, + 30 Mar 2022 18:32:17 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF1e224a40-3c6e-4831-8d89-6d2380ede20fWed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAAikFFfGRE2AE=Wed, + 30 Mar 2022 18:32:17 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF0693423d-1901-427f-842c-42fc1639c517Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAHwRPfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message6' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFb066dfd2-a381-44c1-bcc9-715d000f88ddWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA2zJdfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message7' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF52275ba1-6a5f-4cf8-8de4-9b6c0d6243c2Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAY85mfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message8' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFf5d5ab8a-8c09-4247-8e90-45252e7ba1afWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA1etzfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message9' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFebac4027-d1e1-442b-9f6f-2b12c0ec86c2Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAUWB9fGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message10' + headers: + Accept: + - application/xml + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFe3e16a54-0a37-4bf7-984e-c81659416c92Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAm+GJfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message11' + headers: + Accept: + - application/xml + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF735fb516-98b8-43a0-8625-43f2b6b58eacWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA7ymefGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: ' + + message12' + headers: + Accept: + - application/xml + Content-Length: + - '104' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFcb92c74f-dabd-448d-acf2-ec348e426a73Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAd8WnfGRE2AE=Wed, + 30 Mar 2022 18:32:18 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 + response: + body: + string: "\uFEFF88aef705-95ba-4bd8-8c14-1b45d8c01a33Wed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAApkSZjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message18a5243ed-d88d-4673-86ce-313e1127e61bWed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAApkSZjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message2d03fb6d9-9c32-4dd9-b2e7-6012374387f8Wed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAApkSZjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message3" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:18 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 + response: + body: + string: "\uFEFF1e224a40-3c6e-4831-8d89-6d2380ede20fWed, + 30 Mar 2022 18:32:17 GMTWed, 06 Apr 2022 18:32:17 + GMTAgAAAAMAAAAAAAAAI7mijmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message40693423d-1901-427f-842c-42fc1639c517Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAI7mijmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message5b066dfd2-a381-44c1-bcc9-715d000f88ddWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAI7mijmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message6" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:19 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 + response: + body: + string: "\uFEFF52275ba1-6a5f-4cf8-8de4-9b6c0d6243c2Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA3hetjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message7f5d5ab8a-8c09-4247-8e90-45252e7ba1afWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA3hetjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message8ebac4027-d1e1-442b-9f6f-2b12c0ec86c2Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA3hetjmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message9" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=3 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:19 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=1 + response: + body: + string: "\uFEFFe3e16a54-0a37-4bf7-984e-c81659416c92Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAL8C5jmRE2AE=Wed, + 30 Mar 2022 18:32:48 GMT1message10" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:19 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF735fb516-98b8-43a0-8625-43f2b6b58eacWed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAA19DDjmRE2AE=Wed, + 30 Mar 2022 18:32:49 GMT1message11" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:19 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFFcb92c74f-dabd-448d-acf2-ec348e426a73Wed, + 30 Mar 2022 18:32:18 GMTWed, 06 Apr 2022 18:32:18 + GMTAgAAAAMAAAAAAAAAkC/OjmRE2AE=Wed, + 30 Mar 2022 18:32:49 GMT1message12" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:32:19 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncfac61437/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:32:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncfac61437/messages +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_too_little_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_too_little_messages.yaml new file mode 100644 index 000000000000..3ff48e649bbb --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_too_little_messages.yaml @@ -0,0 +1,380 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:10 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876 +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages + response: + body: + string: "\uFEFFca68ef7e-8300-4abc-9d80-d9f1aea32aecWed, + 30 Mar 2022 18:31:10 GMTWed, 06 Apr 2022 18:31:10 + GMTAgAAAAMAAAAAAAAAQqxPVGRE2AE=Wed, + 30 Mar 2022 18:31:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages + response: + body: + string: "\uFEFF5324052a-afcb-4618-b9ab-5be2a72b6f50Wed, + 30 Mar 2022 18:31:10 GMTWed, 06 Apr 2022 18:31:10 + GMTAgAAAAMAAAAAAAAAuPlYVGRE2AE=Wed, + 30 Mar 2022 18:31:10 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages + response: + body: + string: "\uFEFFf2e08485-cc6c-4582-a451-2a3be7c95661Wed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAP5ViVGRE2AE=Wed, + 30 Mar 2022 18:31:11 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages + response: + body: + string: "\uFEFF9f448d33-0dd9-4a14-98d8-defdbed5e236Wed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAqrtrVGRE2AE=Wed, + 30 Mar 2022 18:31:11 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages + response: + body: + string: "\uFEFFe333d410-82a0-403c-a742-87108100228aWed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAFAl1VGRE2AE=Wed, + 30 Mar 2022 18:31:11 GMT" + headers: + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFFca68ef7e-8300-4abc-9d80-d9f1aea32aecWed, + 30 Mar 2022 18:31:10 GMTWed, 06 Apr 2022 18:31:10 + GMTAgAAAAMAAAAAAAAAiflfZmRE2AE=Wed, + 30 Mar 2022 18:31:41 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFF5324052a-afcb-4618-b9ab-5be2a72b6f50Wed, + 30 Mar 2022 18:31:10 GMTWed, 06 Apr 2022 18:31:10 + GMTAgAAAAMAAAAAAAAAFJVpZmRE2AE=Wed, + 30 Mar 2022 18:31:41 GMT1message2" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFFf2e08485-cc6c-4582-a451-2a3be7c95661Wed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAqFdzZmRE2AE=Wed, + 30 Mar 2022 18:31:41 GMT1message3" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFF9f448d33-0dd9-4a14-98d8-defdbed5e236Wed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAKfN8ZmRE2AE=Wed, + 30 Mar 2022 18:31:41 GMT1message4" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFFe333d410-82a0-403c-a742-87108100228aWed, + 30 Mar 2022 18:31:11 GMTWed, 06 Apr 2022 18:31:11 + GMTAgAAAAMAAAAAAAAAnkCGZmRE2AE=Wed, + 30 Mar 2022 18:31:41 GMT1message5" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.2.1 Python/3.10.2 (Windows-10-10.0.19044-SP0) + x-ms-date: + - Wed, 30 Mar 2022 18:31:11 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 30 Mar 2022 18:31:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://vincenttrancanary.queue.core.windows.net/pyqueueasyncdd5b1876/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/test_queue.py b/sdk/storage/azure-storage-queue/tests/test_queue.py index 53da74fe874d..22ef56961980 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue.py @@ -90,7 +90,6 @@ def test_create_queue_if_not_exists_with_existing_queue(self, storage_account_na # Asserts self.assertIsNone(created) - @QueuePreparer() def test_create_queue_fail_on_exist(self, storage_account_name, storage_account_key): @@ -405,6 +404,135 @@ def test_get_messages_with_options(self, storage_account_name, storage_account_k self.assertNotEqual('', message.expires_on) self.assertNotEqual('', message.next_visible_on) + @QueuePreparer() + def test_get_messages_with_max_messages(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() + queue_client.send_message(u'message1') + queue_client.send_message(u'message2') + queue_client.send_message(u'message3') + queue_client.send_message(u'message4') + queue_client.send_message(u'message5') + queue_client.send_message(u'message6') + queue_client.send_message(u'message7') + queue_client.send_message(u'message8') + queue_client.send_message(u'message9') + queue_client.send_message(u'message10') + pager = queue_client.receive_messages(max_messages=5) + result = list(pager) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(5, len(result)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + @QueuePreparer() + def test_get_messages_with_too_little_messages(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() + queue_client.send_message(u'message1') + queue_client.send_message(u'message2') + queue_client.send_message(u'message3') + queue_client.send_message(u'message4') + queue_client.send_message(u'message5') + pager = queue_client.receive_messages(max_messages=10) + result = list(pager) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(5, len(result)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + @QueuePreparer() + def test_get_messages_with_page_bigger_than_max(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() + queue_client.send_message(u'message1') + queue_client.send_message(u'message2') + queue_client.send_message(u'message3') + queue_client.send_message(u'message4') + queue_client.send_message(u'message5') + + # Asserts + with self.assertRaises(ValueError): + queue_client.receive_messages(messages_per_page=5, max_messages=2) + + @QueuePreparer() + def test_get_messages_with_remainder(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() + queue_client.send_message(u'message1') + queue_client.send_message(u'message2') + queue_client.send_message(u'message3') + queue_client.send_message(u'message4') + queue_client.send_message(u'message5') + queue_client.send_message(u'message6') + queue_client.send_message(u'message7') + queue_client.send_message(u'message8') + queue_client.send_message(u'message9') + queue_client.send_message(u'message10') + queue_client.send_message(u'message11') + queue_client.send_message(u'message12') + + pager = queue_client.receive_messages(messages_per_page=3, max_messages=10) + result = list(pager) + + remainder = queue_client.receive_messages() + remainder_list = list(remainder) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(10, len(result)) + + self.assertIsNotNone(remainder_list) + self.assertEqual(2, len(remainder_list)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + for message in remainder_list: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + @QueuePreparer() def test_peek_messages(self, storage_account_name, storage_account_key): # Action @@ -1012,4 +1140,4 @@ def test_transport_closed_only_once(self, storage_account_name, storage_account_ # ------------------------------------------------------------------------------ if __name__ == '__main__': - unittest.main() + unittest.main() \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_async.py index a8fcb028a8c2..c833f868f1d9 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_async.py @@ -84,7 +84,8 @@ async def test_create_queue(self, storage_account_name, storage_account_key): @AsyncStorageTestCase.await_prepared_test async def test_create_queue_if_not_exists_without_existing_queue(self, storage_account_name, storage_account_key): # Action - qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key, transport=AiohttpTestTransport()) + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key, + transport=AiohttpTestTransport()) queue_client = self._get_queue_reference(qsc) created = await queue_client.create_queue_if_not_exists() @@ -95,7 +96,8 @@ async def test_create_queue_if_not_exists_without_existing_queue(self, storage_a @AsyncStorageTestCase.await_prepared_test async def test_create_queue_if_not_exists_with_existing_queue(self, storage_account_name, storage_account_key): # Action - qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key, transport=AiohttpTestTransport()) + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key, + transport=AiohttpTestTransport()) queue_client = self._get_queue_reference(qsc) await queue_client.create_queue() created = await queue_client.create_queue_if_not_exists() @@ -145,6 +147,143 @@ async def test_create_queue_with_options(self, storage_account_name, storage_acc self.assertEqual('test', props.metadata['val1']) self.assertEqual('blah', props.metadata['val2']) + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_messages_with_max_messages(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) + await queue_client.create_queue() + await queue_client.send_message(u'message1') + await queue_client.send_message(u'message2') + await queue_client.send_message(u'message3') + await queue_client.send_message(u'message4') + await queue_client.send_message(u'message5') + await queue_client.send_message(u'message6') + await queue_client.send_message(u'message7') + await queue_client.send_message(u'message8') + await queue_client.send_message(u'message9') + await queue_client.send_message(u'message10') + result = [] + async for m in queue_client.receive_messages(max_messages=5): + result.append(m) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(5, len(result)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_messages_with_too_little_messages(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + await queue_client.create_queue() + await queue_client.send_message(u'message1') + await queue_client.send_message(u'message2') + await queue_client.send_message(u'message3') + await queue_client.send_message(u'message4') + await queue_client.send_message(u'message5') + result = [] + async for m in queue_client.receive_messages(max_messages=10): + result.append(m) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(5, len(result)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_messages_with_page_bigger_than_max(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + await queue_client.create_queue() + await queue_client.send_message(u'message1') + await queue_client.send_message(u'message2') + await queue_client.send_message(u'message3') + await queue_client.send_message(u'message4') + await queue_client.send_message(u'message5') + + # Asserts + with self.assertRaises(ValueError): + queue_client.receive_messages(messages_per_page=5, max_messages=2) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_messages_with_remainder(self, storage_account_name, storage_account_key): + # Action + qsc = QueueServiceClient(self.account_url(storage_account_name, "queue"), storage_account_key) + queue_client = self._get_queue_reference(qsc) + await queue_client.create_queue() + await queue_client.send_message(u'message1') + await queue_client.send_message(u'message2') + await queue_client.send_message(u'message3') + await queue_client.send_message(u'message4') + await queue_client.send_message(u'message5') + await queue_client.send_message(u'message6') + await queue_client.send_message(u'message7') + await queue_client.send_message(u'message8') + await queue_client.send_message(u'message9') + await queue_client.send_message(u'message10') + await queue_client.send_message(u'message11') + await queue_client.send_message(u'message12') + + result = [] + async for m in queue_client.receive_messages(messages_per_page=3, max_messages=10): + result.append(m) + + remainder = [] + async for m in queue_client.receive_messages(): + remainder.append(m) + + # Asserts + self.assertIsNotNone(result) + self.assertEqual(10, len(result)) + + self.assertIsNotNone(remainder) + self.assertEqual(2, len(remainder)) + + for message in result: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + + for message in remainder: + self.assertIsNotNone(message) + self.assertNotEqual('', message.id) + self.assertNotEqual('', message.content) + self.assertNotEqual('', message.pop_receipt) + self.assertEqual(1, message.dequeue_count) + self.assertNotEqual('', message.inserted_on) + self.assertNotEqual('', message.expires_on) + self.assertNotEqual('', message.next_visible_on) + @QueuePreparer() @AsyncStorageTestCase.await_prepared_test async def test_delete_non_existing_queue(self, storage_account_name, storage_account_key): @@ -1073,4 +1212,4 @@ async def test_transport_closed_only_once_async(self, storage_account_name, stor # ------------------------------------------------------------------------------ if __name__ == '__main__': - unittest.main() + unittest.main() \ No newline at end of file