diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry.json new file mode 100644 index 000000000000..8841f1ccf368 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry.json @@ -0,0 +1,193 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:12 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:12 GMT", + "ETag": "\u00220x8DA7BDAF28D6250\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:12 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:12 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:12 GMT", + "ETag": "\u00220x8DA7BDAF28D6250\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:12 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:14 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:13 GMT", + "ETag": "\u00220x8DA7BDAF28D6250\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:12 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:26 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:25 GMT", + "ETag": "\u00220x8DA7BDAF28D6250\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:12 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:53 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:52 GMT", + "ETag": "\u00220x8DA7BDAF28D6250\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:12 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer8eae2683?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:53 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:52 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry_interval.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry_interval.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_exponential_retry_interval.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_account_key.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_account_key.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_account_key.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_retry.json new file mode 100644 index 000000000000..ccd610b29f12 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_invalid_retry.json @@ -0,0 +1,57 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainerf28824c3?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 22:43:17 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 22:43:17 GMT", + "ETag": "\u00220x8DA7BEAE2A99D2B\u0022", + "Last-Modified": "Thu, 11 Aug 2022 22:43:18 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainerf28824c3?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 22:43:18 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 22:43:17 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry.json new file mode 100644 index 000000000000..d23c487c7702 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry.json @@ -0,0 +1,88 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainerccc32457?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:08 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:08 GMT", + "ETag": "\u00220x8DA7BDAF02FCEDA\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:08 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainerccc32457?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:12 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:49:11 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:ac7e2bd6-501e-00a2-77c3-adcc38000000\n", + "Time:2022-08-11T20:49:12.2157656Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainerccc32457?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:12 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:11 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry_interval.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry_interval.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_linear_retry_interval.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_no_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_no_retry.json new file mode 100644 index 000000000000..edbaef38b94b --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_no_retry.json @@ -0,0 +1,57 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer3b7022b9?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 22:42:40 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 22:42:41 GMT", + "ETag": "\u00220x8DA7BEACC921546\u0022", + "Last-Modified": "Thu, 11 Aug 2022 22:42:41 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer3b7022b9?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 22:42:41 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 22:42:41 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_callback_and_retry_context.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_callback_and_retry_context.json new file mode 100644 index 000000000000..803ee0467eec --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_callback_and_retry_context.json @@ -0,0 +1,88 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer89a2c94?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:59 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:48:59 GMT", + "ETag": "\u00220x8DA7BDAEAC933FC\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:48:59 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer89a2c94?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:00 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:49:00 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:ac7e275b-501e-00a2-2bc3-adcc38000000\n", + "Time:2022-08-11T20:49:00.8604757Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer89a2c94?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:00 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:00 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_server_error.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_server_error.json new file mode 100644 index 000000000000..acefff9e9d70 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_server_error.json @@ -0,0 +1,88 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer312a2838?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:36 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:48:36 GMT", + "ETag": "\u00220x8DA7BDADD618DF9\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:48:37 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer312a2838?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:52 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:48:52 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:ac7e2457-501e-00a2-38c3-adcc38000000\n", + "Time:2022-08-11T20:48:52.8560911Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer312a2838?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:52 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:48:52 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_timeout.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_timeout.json new file mode 100644 index 000000000000..8ac0cd14e0f5 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_on_timeout.json @@ -0,0 +1,88 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer67fb261f?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:53 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:48:52 GMT", + "ETag": "\u00220x8DA7BDAE6F8F5A4\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:48:53 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer67fb261f?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:59 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:48:58 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:ac7e26db-501e-00a2-43c3-adcc38000000\n", + "Time:2022-08-11T20:48:59.3429720Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer67fb261f?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:48:59 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:48:58 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_secondary.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_secondary.json new file mode 100644 index 000000000000..9f186acf2d59 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_secondary.json @@ -0,0 +1,183 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:01 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:01 GMT", + "ETag": "\u00220x8DA7BDB0FE6F34B\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:02 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:05 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:50:04 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:ac7e43ca-501e-00a2-0dc3-adcc38000000\n", + "Time:2022-08-11T20:50:05.3653964Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026maxresults=1\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:05 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:50:04 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CMaxResults\u003E1\u003C/MaxResults\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Econtainername\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 20:50:02 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BDB0FE6F34B\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker\u003E/storagename/retry3a62a3e\u003C/NextMarker\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026maxresults=1\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:10 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:50:09 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CMaxResults\u003E1\u003C/MaxResults\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Econtainername\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 20:50:02 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BDB0FE6F34B\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker\u003E/storagename/retry3a62a3e\u003C/NextMarker\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:10 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:09 GMT", + "ETag": "\u00220x8DA7BDB0FE6F34B\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:02 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:12 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:11 GMT", + "ETag": "\u00220x8DA7BDB0FE6F34B\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:02 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_with_deserialization.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_with_deserialization.json new file mode 100644 index 000000000000..7ad3895a7306 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_retry_with_deserialization.json @@ -0,0 +1,109 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/retry3a62a3e?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:55 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:49:54 GMT", + "ETag": "\u00220x8DA7BDB0C2B4CAF\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:49:55 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026prefix=retry\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:49:55 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:49:55 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CPrefix\u003Eretry\u003C/Prefix\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Eretry3a62a3e\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 20:49:55 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BDB0C2B4CAF\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker /\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026prefix=retry\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:01 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 20:50:00 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CPrefix\u003Eretry\u003C/Prefix\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Eretry3a62a3e\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 20:49:55 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BDB0C2B4CAF\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker /\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/retry3a62a3e?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:01 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:00 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_streaming_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_streaming_retry.json new file mode 100644 index 000000000000..c6a401c385e9 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.pyTestStorageRetrytest_streaming_retry.json @@ -0,0 +1,432 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:54 GMT", + "ETag": "\u00220x8DA7BDB2F479A69\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 20:50:54 GMT", + "ETag": "\u00220x8DA7BDB2F479A69\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "Content-Length": "5", + "Content-Type": "application/octet-stream", + "If-None-Match": "*", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-blob-type": "BlockBlob", + "x-ms-date": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": "YWJjZGU=", + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Content-MD5": "q1a02StAcTrMWviZhdS3hg==", + "Date": "Thu, 11 Aug 2022 20:50:55 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-content-crc64": "ExJGZ9Dkswo=", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:55 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:56 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:56 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:57 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:57 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:57 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:57 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:58 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:58 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:59 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:59 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:50:59 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:50:59 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:51:00 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:51:01 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer401125a6/myblob", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 20:51:02 GMT", + "x-ms-range": "bytes=0-33554431", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 206, + "ResponseHeaders": { + "Accept-Ranges": "bytes", + "Content-Length": "5", + "Content-Range": "bytes 0-4/5", + "Content-Type": "application/octet-stream", + "Date": "Thu, 11 Aug 2022 20:51:02 GMT", + "ETag": "\u00220x8DA7BDB2F6A2B30\u0022", + "Last-Modified": "Thu, 11 Aug 2022 20:50:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-blob-content-md5": "q1a02StAcTrMWviZhdS3hg==", + "x-ms-blob-type": "BlockBlob", + "x-ms-creation-time": "Thu, 11 Aug 2022 20:50:54 GMT", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "YWJjZGU=" + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_exponential_retry.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_exponential_retry.yaml deleted file mode 100644 index 33fffe8ec678..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_exponential_retry.yaml +++ /dev/null @@ -1,266 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:02:20 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:02:19 GMT - etag: - - '"0x8D759757AC51760"' - last-modified: - - Fri, 25 Oct 2019 18:02:20 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:02:20 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:02:20 GMT - etag: - - '"0x8D759757AC51760"' - last-modified: - - Fri, 25 Oct 2019 18:02:20 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:02:20 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:02:21 GMT - etag: - - '"0x8D759757AC51760"' - last-modified: - - Fri, 25 Oct 2019 18:02:20 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:02:20 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:02:34 GMT - etag: - - '"0x8D759757AC51760"' - last-modified: - - Fri, 25 Oct 2019 18:02:20 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:02:20 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:01 GMT - etag: - - '"0x8D759757AC51760"' - last-modified: - - Fri, 25 Oct 2019 18:02:20 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:01 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainereae00ddf?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:01 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_invalid_retry.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_invalid_retry.yaml deleted file mode 100644 index 1219d9ee5f2d..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_invalid_retry.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:01 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb5650c1f?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:01 GMT - etag: - - '"0x8D75975938C3C4E"' - last-modified: - - Fri, 25 Oct 2019 18:03:01 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:02 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerb5650c1f?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:01 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_linear_retry.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_linear_retry.yaml deleted file mode 100644 index 6b5699189078..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_linear_retry.yaml +++ /dev/null @@ -1,113 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:02 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainera92b0bb3?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:01 GMT - etag: - - '"0x8D7597593B510EA"' - last-modified: - - Fri, 25 Oct 2019 18:03:02 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:02 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainera92b0bb3?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:2947d863-601e-0044-355e-8b5dd3000000\nTime:2019-10-25T18:03:03.5568317Z" - headers: - content-length: - - '230' - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:03 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ContainerAlreadyExists - x-ms-version: - - '2019-02-02' - status: - code: 409 - message: The specified container already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:03 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainera92b0bb3?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:03 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_no_retry.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_no_retry.yaml deleted file mode 100644 index 6a4a8a2a08db..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_no_retry.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:03 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer7d860a15?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:03 GMT - etag: - - '"0x8D7597594C838FF"' - last-modified: - - Fri, 25 Oct 2019 18:03:03 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:04 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer7d860a15?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:03 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_callback_and_retry_context.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_callback_and_retry_context.yaml deleted file mode 100644 index 53210258a72e..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_callback_and_retry_context.yaml +++ /dev/null @@ -1,113 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:04 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere75e13f0?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:03 GMT - etag: - - '"0x8D7597594F17F64"' - last-modified: - - Fri, 25 Oct 2019 18:03:04 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:04 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere75e13f0?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:e90e319f-301e-0075-7f5e-8b0604000000\nTime:2019-10-25T18:03:05.6135612Z" - headers: - content-length: - - '230' - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:05 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ContainerAlreadyExists - x-ms-version: - - '2019-02-02' - status: - code: 409 - message: The specified container already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:05 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainere75e13f0?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:05 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_server_error.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_server_error.yaml deleted file mode 100644 index 7ca977a8ed94..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_server_error.yaml +++ /dev/null @@ -1,113 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:05 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer270d0f94?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:04 GMT - etag: - - '"0x8D7597595FE2C29"' - last-modified: - - Fri, 25 Oct 2019 18:03:05 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:05 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer270d0f94?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:4fabcedf-c01e-012b-7a5e-8bb352000000\nTime:2019-10-25T18:03:22.9995680Z" - headers: - content-length: - - '230' - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:22 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ContainerAlreadyExists - x-ms-version: - - '2019-02-02' - status: - code: 409 - message: The specified container already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:23 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer270d0f94?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:22 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_timeout.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_timeout.yaml deleted file mode 100644 index f74649015890..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_on_timeout.yaml +++ /dev/null @@ -1,113 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:31 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerdd800d7b?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:31 GMT - etag: - - '"0x8D75975A5718BFB"' - last-modified: - - Fri, 25 Oct 2019 18:03:31 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:31 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerdd800d7b?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:345853dc-001e-013d-795e-8b72cc000000\nTime:2019-10-25T18:03:34.8932864Z" - headers: - content-length: - - '230' - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:34 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ContainerAlreadyExists - x-ms-version: - - '2019-02-02' - status: - code: 409 - message: The specified container already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:35 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerdd800d7b?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:34 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_secondary.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_secondary.yaml deleted file mode 100644 index 76019a19e3dd..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_secondary.yaml +++ /dev/null @@ -1,247 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:35 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:35 GMT - etag: - - '"0x8D75975A7897646"' - last-modified: - - Fri, 25 Oct 2019 18:03:35 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:35 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:96e4a6a7-201e-000c-665e-8b6f4e000000\nTime:2019-10-25T18:03:41.0775350Z" - headers: - content-length: - - '230' - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:40 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ContainerAlreadyExists - x-ms-version: - - '2019-02-02' - status: - code: 409 - message: The specified container already exists. -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:41 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?maxresults=1&comp=list - response: - body: - string: "\uFEFF1containernameFri, - 25 Oct 2019 18:03:35 GMT\"0x8D75975A7897646\"unlockedavailable$account-encryption-keyfalsefalsefalse/storagename/utcontainer270d0f94" - headers: - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:40 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:41 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?maxresults=1&comp=list - response: - body: - string: "\uFEFF1containernameFri, - 25 Oct 2019 18:03:35 GMT\"0x8D75975A7897646\"unlockedavailable$account-encryption-keyfalsefalsefalse/storagename/utcontainer270d0f94" - headers: - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:45 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:45 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:45 GMT - etag: - - '"0x8D75975A7897646"' - last-modified: - - Fri, 25 Oct 2019 18:03:35 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:45 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:47 GMT - etag: - - '"0x8D75975A7897646"' - last-modified: - - Fri, 25 Oct 2019 18:03:35 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_with_deserialization.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_with_deserialization.yaml deleted file mode 100644 index 71836becd992..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_retry_with_deserialization.yaml +++ /dev/null @@ -1,148 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:48 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/retry7a5d119a?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:47 GMT - etag: - - '"0x8D75975AF1B7807"' - last-modified: - - Fri, 25 Oct 2019 18:03:48 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:48 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?prefix=retry&comp=list - response: - body: - string: "\uFEFFretryretry7a5d119aFri, - 25 Oct 2019 18:03:48 GMT\"0x8D75975AF1B7807\"unlockedavailable$account-encryption-keyfalsefalsefalse" - headers: - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:48 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:48 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?prefix=retry&comp=list - response: - body: - string: "\uFEFFretryretry7a5d119aFri, - 25 Oct 2019 18:03:48 GMT\"0x8D75975AF1B7807\"unlockedavailable$account-encryption-keyfalsefalsefalse" - headers: - content-type: - - application/xml - date: - - Fri, 25 Oct 2019 18:03:50 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-ms-version: - - '2019-02-02' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:03:50 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/retry7a5d119a?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Fri, 25 Oct 2019 18:03:50 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2019-02-02' - status: - code: 202 - message: Accepted -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_streaming_retry.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_streaming_retry.yaml deleted file mode 100644 index 476a38cec3aa..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry.test_streaming_retry.yaml +++ /dev/null @@ -1,644 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:25 GMT - x-ms-version: - - '2021-08-06' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 27 Jul 2022 20:01:27 GMT - etag: - - '"0x8DA700ACAF9DF12"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2021-08-06' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:25 GMT - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 27 Jul 2022 20:01:27 GMT - etag: - - '"0x8DA700ACAF9DF12"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-default-encryption-scope: - - $account-encryption-key - x-ms-deny-encryption-scope-override: - - 'false' - x-ms-has-immutability-policy: - - 'false' - x-ms-has-legal-hold: - - 'false' - x-ms-immutable-storage-with-versioning-enabled: - - 'false' - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-version: - - '2021-08-06' - status: - code: 200 - message: OK -- request: - body: abcde - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '5' - Content-Type: - - application/octet-stream - If-None-Match: - - '*' - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-blob-type: - - BlockBlob - x-ms-date: - - Wed, 27 Jul 2022 20:01:25 GMT - x-ms-version: - - '2021-08-06' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: '' - headers: - content-length: - - '0' - content-md5: - - q1a02StAcTrMWviZhdS3hg== - date: - - Wed, 27 Jul 2022 20:01:27 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: - - ExJGZ9Dkswo= - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:25 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:27 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:26 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:29 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:27 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:30 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:27 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:29 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:31 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:29 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:32 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:29 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:32 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:30 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:33 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-blob/12.14.0b1 Python/3.7.13 (Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid) - x-ms-date: - - Wed, 27 Jul 2022 20:01:31 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2021-08-06' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainercf7c0d02/myblob - response: - body: - string: abcde - headers: - accept-ranges: - - bytes - content-length: - - '5' - content-range: - - bytes 0-4/5 - content-type: - - application/octet-stream - date: - - Wed, 27 Jul 2022 20:01:34 GMT - etag: - - '"0x8DA700ACB03C6C7"' - last-modified: - - Wed, 27 Jul 2022 20:01:28 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: - - q1a02StAcTrMWviZhdS3hg== - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Wed, 27 Jul 2022 20:01:28 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2021-08-06' - status: - code: 206 - message: Partial Content -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry.json new file mode 100644 index 000000000000..238dc25df8b2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry.json @@ -0,0 +1,187 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:06:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:06:56 GMT", + "ETag": "\u00220x8DA7BEE30638024\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:06:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:06:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:06:56 GMT", + "ETag": "\u00220x8DA7BEE30638024\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:06:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:06:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:06:59 GMT", + "ETag": "\u00220x8DA7BEE30638024\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:06:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:06:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:07:10 GMT", + "ETag": "\u00220x8DA7BEE30638024\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:06:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:06:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:07:35 GMT", + "ETag": "\u00220x8DA7BEE30638024\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:06:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer5d5c2afe?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:07:36 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:07:35 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry_interval.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry_interval.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_exponential_retry_interval.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_account_key.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_account_key.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_account_key.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_retry.json new file mode 100644 index 000000000000..400b38c89794 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_invalid_retry.json @@ -0,0 +1,55 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontaineraf4a293e?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:55 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:54 GMT", + "ETag": "\u00220x8DA7BEDA06A432A\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:02:55 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontaineraf4a293e?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:55 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:54 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry.json new file mode 100644 index 000000000000..f88967cd2f43 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry.json @@ -0,0 +1,85 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer850a28d2?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:08 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:08 GMT", + "ETag": "\u00220x8DA7BED8499A665\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:02:08 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer850a28d2?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:08 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:02:10 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:092ddaf9-001e-0029-2cd6-adc855000000\n", + "Time:2022-08-11T23:02:11.0117097Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer850a28d2?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:10 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:10 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry_interval.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry_interval.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_linear_retry_interval.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_no_retry.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_no_retry.json new file mode 100644 index 000000000000..06d79f940048 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_no_retry.json @@ -0,0 +1,55 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainere1bc2734?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:08 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:07 GMT", + "ETag": "\u00220x8DA7BED844F0F1E\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:02:08 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainere1bc2734?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:08 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:07 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_callback_and_retry_context.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_callback_and_retry_context.json new file mode 100644 index 000000000000..a4543a757eb7 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_callback_and_retry_context.json @@ -0,0 +1,85 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer1a7d310f?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:00 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:01:59 GMT", + "ETag": "\u00220x8DA7BED7F7D7CA0\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:02:00 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer1a7d310f?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:00 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:02:02 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:092dd6f8-001e-0029-29d6-adc855000000\n", + "Time:2022-08-11T23:02:03.5741574Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer1a7d310f?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:03 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:03 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_server_error.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_server_error.json new file mode 100644 index 000000000000..0f61bd99d3f5 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_server_error.json @@ -0,0 +1,85 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer11c42cb3?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:38 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:01:38 GMT", + "ETag": "\u00220x8DA7BED729A66E4\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:01:38 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer11c42cb3?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:38 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:01:56 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:092dd397-001e-0029-38d6-adc855000000\n", + "Time:2022-08-11T23:01:56.8463714Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer11c42cb3?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:01:56 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_timeout.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_timeout.json new file mode 100644 index 000000000000..84bb766397e4 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_on_timeout.json @@ -0,0 +1,85 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer322e2a9a?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:57 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:01:56 GMT", + "ETag": "\u00220x8DA7BED7DD2AFBF\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:01:57 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer322e2a9a?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:57 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:01:59 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:092dd52f-001e-0029-1ed6-adc855000000\n", + "Time:2022-08-11T23:01:59.7384194Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/utcontainer322e2a9a?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:01:59 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:01:59 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_secondary.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_secondary.json new file mode 100644 index 000000000000..cbf83a4d3231 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_secondary.json @@ -0,0 +1,177 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:02 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:03:02 GMT", + "ETag": "\u00220x8DA7BEDA4F869C1\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:03:03 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:02 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 409, + "ResponseHeaders": { + "Content-Length": "230", + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:03:04 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-error-code": "ContainerAlreadyExists", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": [ + "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EContainerAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified container already exists.\n", + "RequestId:092df780-001e-0029-05d6-adc855000000\n", + "Time:2022-08-11T23:03:05.5947493Z\u003C/Message\u003E\u003C/Error\u003E" + ] + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026maxresults=1\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:05 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:03:04 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CMaxResults\u003E1\u003C/MaxResults\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Econtainername\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 23:03:03 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BEDA4F869C1\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker\u003E/storagename/retryfa982eb9\u003C/NextMarker\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026maxresults=1\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:05 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:03:05 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CMaxResults\u003E1\u003C/MaxResults\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Econtainername\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 23:03:03 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BEDA4F869C1\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker\u003E/storagename/retryfa982eb9\u003C/NextMarker\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:06 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:03:05 GMT", + "ETag": "\u00220x8DA7BEDA4F869C1\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:03:03 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/containername?restype=container", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:06 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:03:08 GMT", + "ETag": "\u00220x8DA7BEDA4F869C1\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:03:03 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Vary": "Origin", + "x-ms-default-encryption-scope": "$account-encryption-key", + "x-ms-deny-encryption-scope-override": "false", + "x-ms-has-immutability-policy": "false", + "x-ms-has-legal-hold": "false", + "x-ms-immutable-storage-with-versioning-enabled": "false", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_with_deserialization.json b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_with_deserialization.json new file mode 100644 index 000000000000..ca2b9db051d2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.pyTestStorageRetryAsynctest_retry_with_deserialization.json @@ -0,0 +1,105 @@ +{ + "Entries": [ + { + "RequestUri": "https://storagename.blob.core.windows.net/retryfa982eb9?restype=container", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:55 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 201, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:02:55 GMT", + "ETag": "\u00220x8DA7BEDA0C94B14\u0022", + "Last-Modified": "Thu, 11 Aug 2022 23:02:56 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026prefix=retry\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:02:55 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CPrefix\u003Eretry\u003C/Prefix\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Eretryfa982eb9\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 23:02:56 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BEDA0C94B14\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker /\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/?comp=list\u0026prefix=retry\u0026include=", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:02:56 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Content-Type": "application/xml", + "Date": "Thu, 11 Aug 2022 23:03:01 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "Transfer-Encoding": "chunked", + "Vary": "Origin", + "x-ms-version": "2021-08-06" + }, + "ResponseBody": "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CEnumerationResults ServiceEndpoint=\u0022https://storagename.blob.core.windows.net/\u0022\u003E\u003CPrefix\u003Eretry\u003C/Prefix\u003E\u003CContainers\u003E\u003CContainer\u003E\u003CName\u003Eretryfa982eb9\u003C/Name\u003E\u003CProperties\u003E\u003CLast-Modified\u003EThu, 11 Aug 2022 23:02:56 GMT\u003C/Last-Modified\u003E\u003CEtag\u003E\u00220x8DA7BEDA0C94B14\u0022\u003C/Etag\u003E\u003CLeaseStatus\u003Eunlocked\u003C/LeaseStatus\u003E\u003CLeaseState\u003Eavailable\u003C/LeaseState\u003E\u003CDefaultEncryptionScope\u003E$account-encryption-key\u003C/DefaultEncryptionScope\u003E\u003CDenyEncryptionScopeOverride\u003Efalse\u003C/DenyEncryptionScopeOverride\u003E\u003CHasImmutabilityPolicy\u003Efalse\u003C/HasImmutabilityPolicy\u003E\u003CHasLegalHold\u003Efalse\u003C/HasLegalHold\u003E\u003CImmutableStorageWithVersioningEnabled\u003Efalse\u003C/ImmutableStorageWithVersioningEnabled\u003E\u003C/Properties\u003E\u003C/Container\u003E\u003C/Containers\u003E\u003CNextMarker /\u003E\u003C/EnumerationResults\u003E" + }, + { + "RequestUri": "https://storagename.blob.core.windows.net/retryfa982eb9?restype=container", + "RequestMethod": "DELETE", + "RequestHeaders": { + "Accept": "application/xml", + "Accept-Encoding": "gzip, deflate", + "Content-Length": "0", + "User-Agent": "azsdk-python-storage-blob/12.14.0b1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 11 Aug 2022 23:03:01 GMT", + "x-ms-version": "2021-08-06" + }, + "RequestBody": null, + "StatusCode": 202, + "ResponseHeaders": { + "Content-Length": "0", + "Date": "Thu, 11 Aug 2022 23:03:01 GMT", + "Server": [ + "Windows-Azure-Blob/1.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-version": "2021-08-06" + }, + "ResponseBody": null + } + ], + "Variables": {} +} diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_exponential_retry_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_exponential_retry_async.yaml deleted file mode 100644 index 97840fd5e78c..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_exponential_retry_async.yaml +++ /dev/null @@ -1,208 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:04:33 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:04:33 GMT - etag: '"0x8D75975CA8BC722"' - last-modified: Fri, 25 Oct 2019 18:04:34 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:04:34 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:04:33 GMT - etag: '"0x8D75975CA8BC722"' - last-modified: Fri, 25 Oct 2019 18:04:34 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:04:34 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:04:34 GMT - etag: '"0x8D75975CA8BC722"' - last-modified: Fri, 25 Oct 2019 18:04:34 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:04:34 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:04:43 GMT - etag: '"0x8D75975CA8BC722"' - last-modified: Fri, 25 Oct 2019 18:04:34 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:04:34 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:11 GMT - etag: '"0x8D75975CA8BC722"' - last-modified: Fri, 25 Oct 2019 18:04:34 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:13 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerb18012d9?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:12 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerb18012d9 - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_invalid_retry_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_invalid_retry_async.yaml deleted file mode 100644 index b1f6a98603a8..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_invalid_retry_async.yaml +++ /dev/null @@ -1,64 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:13 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer67911119?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:12 GMT - etag: '"0x8D75975E1DC6113"' - last-modified: Fri, 25 Oct 2019 18:05:13 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer67911119 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:13 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer67911119?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:12 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer67911119 - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_linear_retry_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_linear_retry_async.yaml deleted file mode 100644 index b2d7e1bb7505..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_linear_retry_async.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:13 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer565210ad?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:13 GMT - etag: '"0x8D75975E207494A"' - last-modified: Fri, 25 Oct 2019 18:05:13 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer565210ad - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:13 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer565210ad?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:3ea5242c-601e-001e-5b5e-8b2b42000000\nTime:2019-10-25T18:05:13.9282043Z" - headers: - content-length: '230' - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:13 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists - x-ms-version: '2019-02-02' - status: - code: 409 - message: The specified container already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer565210ad - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:14 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer565210ad?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:13 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer565210ad - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_no_retry_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_no_retry_async.yaml deleted file mode 100644 index 4a9c9346161e..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_no_retry_async.yaml +++ /dev/null @@ -1,64 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:14 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer17050f0f?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:13 GMT - etag: '"0x8D75975E2763F5D"' - last-modified: Fri, 25 Oct 2019 18:05:14 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer17050f0f - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:14 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer17050f0f?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:13 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer17050f0f - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_callback_and_retry_context_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_callback_and_retry_context_async.yaml deleted file mode 100644 index 9b1786fb059e..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_callback_and_retry_context_async.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:14 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf7b718ea?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:14 GMT - etag: '"0x8D75975E29A9A64"' - last-modified: Fri, 25 Oct 2019 18:05:14 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerf7b718ea - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:14 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf7b718ea?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:b28d9ea8-a01e-0047-455e-8b2ec4000000\nTime:2019-10-25T18:05:16.4487533Z" - headers: - content-length: '230' - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:16 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists - x-ms-version: '2019-02-02' - status: - code: 409 - message: The specified container already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerf7b718ea - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:16 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerf7b718ea?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:16 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainerf7b718ea - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_server_error_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_server_error_async.yaml deleted file mode 100644 index 7ea0ce59dae2..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_server_error_async.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:16 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer1df148e?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:16 GMT - etag: '"0x8D75975E3F498E9"' - last-modified: Fri, 25 Oct 2019 18:05:16 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer1df148e - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:16 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer1df148e?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:37847f1b-301e-000d-705e-8b1ea3000000\nTime:2019-10-25T18:05:36.0559922Z" - headers: - content-length: '230' - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:35 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists - x-ms-version: '2019-02-02' - status: - code: 409 - message: The specified container already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer1df148e - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:36 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer1df148e?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:36 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer1df148e - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_timeout_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_timeout_async.yaml deleted file mode 100644 index 32a3ce130278..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_on_timeout_async.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:39 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer9f4b1275?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:39 GMT - etag: '"0x8D75975F19A4763"' - last-modified: Fri, 25 Oct 2019 18:05:39 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer9f4b1275 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:39 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer9f4b1275?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:39e70ddf-001e-004a-2d5e-8bc1c8000000\nTime:2019-10-25T18:05:41.5414135Z" - headers: - content-length: '230' - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:41 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists - x-ms-version: '2019-02-02' - status: - code: 409 - message: The specified container already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer9f4b1275 - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:41 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer9f4b1275?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:41 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /utcontainer9f4b1275 - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_secondary_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_secondary_async.yaml deleted file mode 100644 index e96b8a98d135..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_secondary_async.yaml +++ /dev/null @@ -1,209 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:41 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:41 GMT - etag: '"0x8D75975F2EA1247"' - last-modified: Fri, 25 Oct 2019 18:05:41 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /containername - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:41 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:90800a4f-701e-0023-485e-8b9e64000000\nTime:2019-10-25T18:05:45.0549826Z" - headers: - content-length: '230' - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:44 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists - x-ms-version: '2019-02-02' - status: - code: 409 - message: The specified container already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /containername - - restype=container - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:45 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?maxresults=1&comp=list - response: - body: - string: "\uFEFF1containernameFri, - 25 Oct 2019 18:05:41 GMT\"0x8D75975F2EA1247\"unlockedavailablefalsefalse/storagename/utcontainer17050f0f" - headers: - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:44 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: chunked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - / - - maxresults=1&comp=list - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:45 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?maxresults=1&comp=list - response: - body: - string: "\uFEFF1containernameFri, - 25 Oct 2019 18:05:41 GMT\"0x8D75975F2EA1247\"unlockedavailablefalsefalse/storagename/utcontainer1df148e" - headers: - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:47 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: chunked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - / - - maxresults=1&comp=list - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:48 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:47 GMT - etag: '"0x8D75975F2EA1247"' - last-modified: Fri, 25 Oct 2019 18:05:41 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /containername - - restype=container - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:48 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/containername?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:53 GMT - etag: '"0x8D75975F2EA1247"' - last-modified: Fri, 25 Oct 2019 18:05:41 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-has-immutability-policy: 'false' - x-ms-has-legal-hold: 'false' - x-ms-lease-state: available - x-ms-lease-status: unlocked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /containername - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_with_deserialization_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_with_deserialization_async.yaml deleted file mode 100644 index 402b63519c78..000000000000 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_retry_async.test_retry_with_deserialization_async.yaml +++ /dev/null @@ -1,136 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:53 GMT - x-ms-version: - - '2019-02-02' - method: PUT - uri: https://storagename.blob.core.windows.net/retry6dc41694?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:53 GMT - etag: '"0x8D75975F9E1159F"' - last-modified: Fri, 25 Oct 2019 18:05:53 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /retry6dc41694 - - restype=container - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:53 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?prefix=retry&comp=list - response: - body: - string: "\uFEFFretryretry6dc41694Fri, - 25 Oct 2019 18:05:53 GMT\"0x8D75975F9E1159F\"unlockedavailablefalsefalse" - headers: - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:53 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: chunked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - / - - prefix=retry&comp=list - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:53 GMT - x-ms-version: - - '2019-02-02' - method: GET - uri: https://storagename.blob.core.windows.net/?prefix=retry&comp=list - response: - body: - string: "\uFEFFretryretry6dc41694Fri, - 25 Oct 2019 18:05:53 GMT\"0x8D75975F9E1159F\"unlockedavailablefalsefalse" - headers: - content-type: application/xml - date: Fri, 25 Oct 2019 18:05:55 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: chunked - x-ms-version: '2019-02-02' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - / - - prefix=retry&comp=list - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) - x-ms-date: - - Fri, 25 Oct 2019 18:05:56 GMT - x-ms-version: - - '2019-02-02' - method: DELETE - uri: https://storagename.blob.core.windows.net/retry6dc41694?restype=container - response: - body: - string: '' - headers: - content-length: '0' - date: Fri, 25 Oct 2019 18:05:55 GMT - server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragedhajsdtot6ve.blob.core.windows.net - - /retry6dc41694 - - restype=container - - '' -version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/test_retry.py b/sdk/storage/azure-storage-blob/tests/test_retry.py index 30d9c8465e86..c3bf5429ce43 100644 --- a/sdk/storage/azure-storage-blob/tests/test_retry.py +++ b/sdk/storage/azure-storage-blob/tests/test_retry.py @@ -3,35 +3,32 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import pytest from unittest import mock from functools import wraps -import pytest from azure.core.exceptions import ( - HttpResponseError, - ResourceExistsError, AzureError, ClientAuthenticationError, - ServiceResponseError -) -from azure.core.pipeline.transport import( - RequestsTransport + HttpResponseError, + ResourceExistsError ) -from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer, RetryCounter, ResponseCallback +from azure.core.pipeline.transport import RequestsTransport from azure.storage.blob import ( + BlobClient, BlobServiceClient, ContainerClient, - BlobClient, - LocationMode, - LinearRetry, ExponentialRetry, + LinearRetry, + LocationMode ) from requests import Response from requests.exceptions import ContentDecodingError, ChunkedEncodingError -from azure.core.exceptions import DecodeError +from devtools_testutils import RetryCounter, ResponseCallback, recorded_by_proxy +from devtools_testutils.storage import StorageRecordedTestCase from settings.testcase import BlobPreparer -from devtools_testutils.storage import StorageTestCase + class RetryRequestTransport(RequestsTransport): """Transport to test retry""" @@ -45,7 +42,7 @@ def send(self, request, **kwargs): return response # --Test Class ----------------------------------------------------------------- -class StorageRetryTest(StorageTestCase): +class TestStorageRetry(StorageRecordedTestCase): def _create_storage_service(self, service_class, account, key, connection_string=None, **kwargs): if connection_string: @@ -56,7 +53,11 @@ def _create_storage_service(self, service_class, account, key, connection_string # --Test Cases -------------------------------------------- @BlobPreparer() - def test_retry_on_server_error(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_retry_on_server_error(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') service = self._create_storage_service(BlobServiceClient, storage_account_name, storage_account_key) @@ -68,7 +69,7 @@ def test_retry_on_server_error(self, storage_account_name, storage_account_key): try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): service.create_container(container_name, raw_response_hook=callback) finally: service.delete_container(container_name) @@ -76,7 +77,11 @@ def test_retry_on_server_error(self, storage_account_name, storage_account_key): # Assert @BlobPreparer() - def test_retry_on_timeout(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_retry_on_timeout(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=2) @@ -89,7 +94,7 @@ def test_retry_on_timeout(self, storage_account_name, storage_account_key): try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): service.create_container(container_name, raw_response_hook=callback) finally: service.delete_container(container_name) @@ -97,7 +102,11 @@ def test_retry_on_timeout(self, storage_account_name, storage_account_key): # Assert @BlobPreparer() - def test_retry_callback_and_retry_context(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_retry_callback_and_retry_context(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = LinearRetry(backoff=1) @@ -108,15 +117,15 @@ def test_retry_callback_and_retry_context(self, storage_account_name, storage_ac callback = ResponseCallback(status=201, new_status=408).override_status def assert_exception_is_present_on_retry_context(**kwargs): - self.assertIsNotNone(kwargs.get('response')) - self.assertEqual(kwargs['response'].status_code, 408) + assert kwargs.get('response') is not None + assert kwargs['response'].status_code == 408 # Act try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): service.create_container( container_name, raw_response_hook=callback, retry_hook=assert_exception_is_present_on_retry_context) @@ -125,7 +134,10 @@ def assert_exception_is_present_on_retry_context(**kwargs): @pytest.mark.live_test_only @BlobPreparer() - def test_retry_on_socket_timeout(self, storage_account_name, storage_account_key): + def test_retry_on_socket_timeout(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') blob_name = self.get_resource_name('blob') @@ -146,20 +158,24 @@ def test_retry_on_socket_timeout(self, storage_account_name, storage_account_key # Act try: - with self.assertRaises(AzureError) as error: + with pytest.raises(AzureError) as error: blob.download_blob() # Assert # 3 retries + 1 original == 4 assert retry_transport.count == 4 # This call should succeed on the server side, but fail on the client side due to socket timeout - self.assertTrue('read timeout' in str(error.exception), 'Expected socket timeout but got different exception.') + assert 'read timeout' in str(error.value.args[0]), 'Expected socket timeout but got different exception.' finally: # we must make the timeout normal again to let the delete operation succeed service.delete_container(container_name, connection_timeout=(11, 11)) @BlobPreparer() - def test_no_retry(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_no_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') service = self._create_storage_service( @@ -171,16 +187,20 @@ def test_no_retry(self, storage_account_name, storage_account_key): # Act try: - with self.assertRaises(HttpResponseError) as error: + with pytest.raises(HttpResponseError) as error: service.create_container(container_name, raw_response_hook=callback) - self.assertEqual(error.exception.response.status_code, 408) - self.assertEqual(error.exception.reason, 'Created') + assert error.value.status_code == 408 + assert error.value.reason == 'Created' finally: service.delete_container(container_name) @BlobPreparer() - def test_linear_retry(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_linear_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = LinearRetry(backoff=1) @@ -194,7 +214,7 @@ def test_linear_retry(self, storage_account_name, storage_account_key): try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): service.create_container(container_name, raw_response_hook=callback) finally: service.delete_container(container_name) @@ -202,7 +222,11 @@ def test_linear_retry(self, storage_account_name, storage_account_key): # Assert @BlobPreparer() - def test_exponential_retry(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_exponential_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=3, retry_total=3) @@ -216,17 +240,21 @@ def test_exponential_retry(self, storage_account_name, storage_account_key): callback = ResponseCallback(status=200, new_status=408) # Act - with self.assertRaises(HttpResponseError): + with pytest.raises(HttpResponseError): container.get_container_properties(raw_response_hook=callback.override_status) # Assert the response was called the right number of times (1 initial request + 3 retries) - self.assertEqual(callback.count, 1+3) + assert callback.count == 1+3 finally: # Clean up service.delete_container(container_name) @BlobPreparer() - def test_exponential_retry_interval(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_exponential_retry_interval(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange retry_policy = ExponentialRetry(initial_backoff=1, increment_base=3, random_jitter_range=3) context_stub = {} @@ -237,31 +265,35 @@ def test_exponential_retry_interval(self, storage_account_name, storage_account_ backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 1 - self.assertTrue(0 <= backoff <= 4) + assert 0 <= backoff <= 4 # Act context_stub['count'] = 1 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 4(1+3^1) - self.assertTrue(1 <= backoff <= 7) + assert 1 <= backoff <= 7 # Act context_stub['count'] = 2 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 10(1+3^2) - self.assertTrue(7 <= backoff <= 13) + assert 7 <= backoff <= 13 # Act context_stub['count'] = 3 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 28(1+3^3) - self.assertTrue(25 <= backoff <= 31) + assert 25 <= backoff <= 31 @BlobPreparer() - def test_linear_retry_interval(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_linear_retry_interval(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange context_stub = {} @@ -271,24 +303,28 @@ def test_linear_retry_interval(self, storage_account_name, storage_account_key): backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 1 - self.assertTrue(0 <= backoff <= 4) + assert 0 <= backoff <= 4 # Act retry_policy = LinearRetry(backoff=5, random_jitter_range=3) backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 5 - self.assertTrue(2 <= backoff <= 8) + assert 2 <= backoff <= 8 # Act retry_policy = LinearRetry(backoff=15, random_jitter_range=3) backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 15 - self.assertTrue(12 <= backoff <= 18) + assert 12 <= backoff <= 18 @BlobPreparer() - def test_invalid_retry(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_invalid_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=2) @@ -300,15 +336,19 @@ def test_invalid_retry(self, storage_account_name, storage_account_key): # Act try: - with self.assertRaises(HttpResponseError) as error: + with pytest.raises(HttpResponseError) as error: service.create_container(container_name, raw_response_hook=callback) - self.assertEqual(error.exception.response.status_code, 418) - self.assertEqual(error.exception.reason, 'Created') + assert error.value.status_code == 418 + assert error.value.reason == 'Created' finally: service.delete_container(container_name) @BlobPreparer() - def test_retry_with_deserialization(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_retry_with_deserialization(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('retry') retry = ExponentialRetry(initial_backoff=1, increment_base=2) @@ -324,12 +364,16 @@ def test_retry_with_deserialization(self, storage_account_name, storage_account_ # Assert containers = list(containers) - self.assertTrue(len(containers) >= 1) + assert len(containers) >= 1 finally: service.delete_container(container_name) @BlobPreparer() - def test_retry_secondary(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_retry_secondary(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + """Secondary location test. This test is special, since in practical term, we don't have time to wait @@ -388,9 +432,9 @@ def put_retry_callback(retry_count=None, location_mode=None, **kwargs): # This call should be called once, with the decision to try secondary put_retry_callback.called = True if MockTransport.CALL_NUMBER == 1: - self.assertEqual(LocationMode.PRIMARY, location_mode) + assert LocationMode.PRIMARY == location_mode elif MockTransport.CALL_NUMBER == 2: - self.assertEqual(LocationMode.PRIMARY, location_mode) + assert LocationMode.PRIMARY == location_mode else: pytest.fail("This test is not supposed to retry more than once") put_retry_callback.called = False @@ -403,9 +447,9 @@ def retry_callback(retry_count=None, location_mode=None, **kwargs): # This call should be called once, with the decision to try secondary retry_callback.called = True if MockTransport.CALL_NUMBER == 1: - self.assertEqual(LocationMode.SECONDARY, location_mode) + assert LocationMode.SECONDARY == location_mode elif MockTransport.CALL_NUMBER == 2: - self.assertEqual(LocationMode.SECONDARY, location_mode) + assert LocationMode.SECONDARY == location_mode else: pytest.fail("This test is not supposed to retry more than once") retry_callback.called = False @@ -425,7 +469,11 @@ def retry_callback(retry_count=None, location_mode=None, **kwargs): assert retry_callback.called @BlobPreparer() - def test_invalid_account_key(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_invalid_account_key(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=3, retry_total=3) @@ -439,12 +487,12 @@ def test_invalid_account_key(self, storage_account_name, storage_account_key): retry_callback = retry_counter.simple_count # Act - with self.assertRaises(ClientAuthenticationError): + with pytest.raises(ClientAuthenticationError): service.create_container(container_name, retry_callback=retry_callback) # Assert # No retry should be performed since the signing error is fatal - self.assertEqual(retry_counter.count, 0) + assert retry_counter.count == 0 @staticmethod def count_wrapper(counter, func): @@ -478,7 +526,11 @@ def inner(*args, **kwargs): return inner @BlobPreparer() - def test_streaming_retry(self, storage_account_name, storage_account_key): + @recorded_by_proxy + def test_streaming_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + """Test that retry mechanisms are working when streaming data.""" # Should check that multiple requests went through the pipeline container_name = self.get_resource_name('utcontainer') diff --git a/sdk/storage/azure-storage-blob/tests/test_retry_async.py b/sdk/storage/azure-storage-blob/tests/test_retry_async.py index f639131a0da6..cc9d96b6f964 100644 --- a/sdk/storage/azure-storage-blob/tests/test_retry_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_retry_async.py @@ -5,45 +5,26 @@ # -------------------------------------------------------------------------- import asyncio import functools -from unittest import mock import pytest +from unittest import mock from azure.core.exceptions import ( - HttpResponseError, - IncompleteReadError, - ResourceExistsError, AzureError, ClientAuthenticationError, + HttpResponseError, + ResourceExistsError ) - -from azure.core.pipeline.transport import AsyncHttpResponse, AioHttpTransportResponse, AioHttpTransport -from multidict import CIMultiDict, CIMultiDictProxy - +from azure.core.pipeline.transport import AioHttpTransport from azure.storage.blob import LocationMode -from azure.storage.blob._shared.policies_async import LinearRetry, ExponentialRetry -from azure.storage.blob.aio import ( - BlobServiceClient, - ContainerClient, - BlobClient, -) - -from settings.testcase import BlobPreparer -from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer, RetryCounter, ResponseCallback -from devtools_testutils.storage.aio import AsyncStorageTestCase +from azure.storage.blob._shared.policies_async import ExponentialRetry, LinearRetry +from azure.storage.blob.aio import BlobServiceClient from aiohttp.client_exceptions import ClientPayloadError from aiohttp.streams import StreamReader -from aiohttp.client import ClientResponse - -class AiohttpTestTransport(AioHttpTransport): - """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 - """ - async def send(self, request, **config): - response = await super(AiohttpTestTransport, self).send(request, **config) - if not isinstance(response.headers, CIMultiDictProxy): - response.headers = CIMultiDictProxy(CIMultiDict(response.internal_response.headers)) - response.content_type = response.headers.get("content-type") - return response +from devtools_testutils import ResponseCallback, RetryCounter +from devtools_testutils.aio import recorded_by_proxy_async +from devtools_testutils.storage.aio import AsyncStorageRecordedTestCase +from settings.testcase import BlobPreparer class AiohttpRetryTestTransport(AioHttpTransport): """Mock transport for testing retry @@ -59,7 +40,7 @@ async def send(self, request, **config): # --Test Class ----------------------------------------------------------------- -class StorageRetryTestAsync(AsyncStorageTestCase): +class TestStorageRetryAsync(AsyncStorageRecordedTestCase): def _create_storage_service(self, service_class, account, key, connection_string=None, **kwargs): if connection_string: @@ -70,11 +51,14 @@ def _create_storage_service(self, service_class, account, key, connection_string # --Test Cases -------------------------------------------- @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_on_server_error_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_retry_on_server_error(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') - service = self._create_storage_service(BlobServiceClient, storage_account_name, storage_account_key, transport=AiohttpTestTransport()) + service = self._create_storage_service(BlobServiceClient, storage_account_name, storage_account_key) # Force the create call to 'timeout' with a 408 callback = ResponseCallback(status=201, new_status=500).override_status @@ -83,7 +67,7 @@ async def test_retry_on_server_error_async(self, storage_account_name, storage_a try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): await service.create_container(container_name, raw_response_hook=callback) finally: await service.delete_container(container_name) @@ -91,13 +75,16 @@ async def test_retry_on_server_error_async(self, storage_account_name, storage_a # Assert @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_on_timeout_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_retry_on_timeout(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=2) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) callback = ResponseCallback(status=201, new_status=408).override_status @@ -105,7 +92,7 @@ async def test_retry_on_timeout_async(self, storage_account_name, storage_accoun try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): await service.create_container(container_name, raw_response_hook=callback) finally: await service.delete_container(container_name) @@ -113,27 +100,30 @@ async def test_retry_on_timeout_async(self, storage_account_name, storage_accoun # Assert @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_callback_and_retry_context_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_retry_callback_and_retry_context(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = LinearRetry(backoff=1) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) # Force the create call to 'timeout' with a 408 callback = ResponseCallback(status=201, new_status=408).override_status def assert_exception_is_present_on_retry_context(**kwargs): - self.assertIsNotNone(kwargs.get('response')) - self.assertEqual(kwargs['response'].status_code, 408) + assert kwargs.get('response') is not None + assert kwargs['response'].status_code == 408 # Act try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): await service.create_container( container_name, raw_response_hook=callback, retry_hook=assert_exception_is_present_on_retry_context) @@ -142,8 +132,10 @@ def assert_exception_is_present_on_retry_context(**kwargs): @pytest.mark.live_test_only @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_on_socket_timeout_async(self, storage_account_name, storage_account_key): + async def test_retry_on_socket_timeout(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') blob_name = self.get_resource_name('blob') @@ -164,28 +156,28 @@ async def test_retry_on_socket_timeout_async(self, storage_account_name, storage # Act try: - with self.assertRaises(AzureError) as error: + with pytest.raises(AzureError) as error: await blob.download_blob() # Assert # 3 retries + 1 original == 4 assert retry_transport.count == 4 # This call should succeed on the server side, but fail on the client side due to socket timeout - self.assertTrue( - 'Timeout on reading data from socket' in str(error.exception), - 'Expected socket timeout but got different exception.' - ) + assert 'Timeout on reading data from socket' in str(error.value.args[0]), 'Expected socket timeout but got different exception.' finally: # we must make the timeout normal again to let the delete operation succeed await service.delete_container(container_name, connection_timeout=11, read_timeout=11) @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_no_retry_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_no_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_total=0, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_total=0) # Force the create call to 'timeout' with a 408 @@ -193,22 +185,25 @@ async def test_no_retry_async(self, storage_account_name, storage_account_key): # Act try: - with self.assertRaises(HttpResponseError) as error: + with pytest.raises(HttpResponseError) as error: await service.create_container(container_name, raw_response_hook=callback) - self.assertEqual(error.exception.response.status_code, 408) - self.assertEqual(error.exception.reason, 'Created') + assert error.value.status_code == 408 + assert error.value.reason == 'Created' finally: await service.delete_container(container_name) @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_linear_retry_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_linear_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = LinearRetry(backoff=1) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) # Force the create call to 'timeout' with a 408 callback = ResponseCallback(status=201, new_status=408).override_status @@ -217,7 +212,7 @@ async def test_linear_retry_async(self, storage_account_name, storage_account_ke try: # The initial create will return 201, but we overwrite it and retry. # The retry will then get a 409 and return false. - with self.assertRaises(ResourceExistsError): + with pytest.raises(ResourceExistsError): await service.create_container(container_name, raw_response_hook=callback) finally: await service.delete_container(container_name) @@ -225,13 +220,16 @@ async def test_linear_retry_async(self, storage_account_name, storage_account_ke # Assert @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_exponential_retry_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_exponential_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=3, retry_total=3) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) try: container = await service.create_container(container_name) @@ -240,17 +238,21 @@ async def test_exponential_retry_async(self, storage_account_name, storage_accou callback = ResponseCallback(status=200, new_status=408) # Act - with self.assertRaises(HttpResponseError): + with pytest.raises(HttpResponseError): await container.get_container_properties(raw_response_hook=callback.override_status) # Assert the response was called the right number of times (1 initial request + 3 retries) - self.assertEqual(callback.count, 1+3) + assert callback.count == 1+3 finally: # Clean up await service.delete_container(container_name) @BlobPreparer() - def test_exponential_retry_interval_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_exponential_retry_interval(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange retry_policy = ExponentialRetry(initial_backoff=1, increment_base=3, random_jitter_range=3) context_stub = {} @@ -261,31 +263,35 @@ def test_exponential_retry_interval_async(self, storage_account_name, storage_ac backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 1 - self.assertTrue(0 <= backoff <= 4) + assert 0 <= backoff <= 4 # Act context_stub['count'] = 1 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 4(1+3^1) - self.assertTrue(1 <= backoff <= 7) + assert 1 <= backoff <= 7 # Act context_stub['count'] = 2 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 10(1+3^2) - self.assertTrue(7 <= backoff <= 13) + assert 7 <= backoff <= 13 # Act context_stub['count'] = 3 backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 28(1+3^3) - self.assertTrue(25 <= backoff <= 31) + assert 25 <= backoff <= 31 @BlobPreparer() - def test_linear_retry_interval_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_linear_retry_interval(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange context_stub = {} @@ -295,51 +301,57 @@ def test_linear_retry_interval_async(self, storage_account_name, storage_account backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 1 - self.assertTrue(0 <= backoff <= 4) + assert 0 <= backoff <= 4 # Act retry_policy = LinearRetry(backoff=5, random_jitter_range=3) backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 5 - self.assertTrue(2 <= backoff <= 8) + assert 2 <= backoff <= 8 # Act retry_policy = LinearRetry(backoff=15, random_jitter_range=3) backoff = retry_policy.get_backoff_time(context_stub) # Assert backoff interval is within +/- 3 of 15 - self.assertTrue(12 <= backoff <= 18) + assert 12 <= backoff <= 18 @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_invalid_retry_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_invalid_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=2) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) # Force the create call to fail by pretending it's a teapot callback = ResponseCallback(status=201, new_status=418).override_status # Act try: - with self.assertRaises(HttpResponseError) as error: + with pytest.raises(HttpResponseError) as error: await service.create_container(container_name, raw_response_hook=callback) - self.assertEqual(error.exception.response.status_code, 418) - self.assertEqual(error.exception.reason, 'Created') + assert error.value.status_code == 418 + assert error.value.reason == 'Created' finally: await service.delete_container(container_name) @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_with_deserialization_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_retry_with_deserialization(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('retry') retry = ExponentialRetry(initial_backoff=1, increment_base=2) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) try: created = await service.create_container(container_name) @@ -352,13 +364,16 @@ async def test_retry_with_deserialization_async(self, storage_account_name, stor listed = [] async for c in containers: listed.append(c) - self.assertTrue(len(listed) >= 1) + assert len(listed) >= 1 finally: await service.delete_container(container_name) @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_retry_secondary_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_retry_secondary(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + """Secondary location test. This test is special, since in practical term, we don't have time to wait @@ -416,9 +431,9 @@ def put_retry_callback(retry_count=None, location_mode=None, **kwargs): # This call should be called once, with the decision to try secondary put_retry_callback.called = True if MockTransport.CALL_NUMBER == 1: - self.assertEqual(LocationMode.PRIMARY, location_mode) + assert LocationMode.PRIMARY == location_mode elif MockTransport.CALL_NUMBER == 2: - self.assertEqual(LocationMode.PRIMARY, location_mode) + assert LocationMode.PRIMARY == location_mode else: pytest.fail("This test is not supposed to retry more than once") put_retry_callback.called = False @@ -431,9 +446,9 @@ def retry_callback(retry_count=None, location_mode=None, **kwargs): # This call should be called once, with the decision to try secondary retry_callback.called = True if MockTransport.CALL_NUMBER == 1: - self.assertEqual(LocationMode.SECONDARY, location_mode) + assert LocationMode.SECONDARY == location_mode elif MockTransport.CALL_NUMBER == 2: - self.assertEqual(LocationMode.SECONDARY, location_mode) + assert LocationMode.SECONDARY == location_mode else: pytest.fail("This test is not supposed to retry more than once") retry_callback.called = False @@ -453,13 +468,16 @@ def retry_callback(retry_count=None, location_mode=None, **kwargs): assert retry_callback.called @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_invalid_account_key_async(self, storage_account_name, storage_account_key): + @recorded_by_proxy_async + async def test_invalid_account_key(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + # Arrange container_name = self.get_resource_name('utcontainer') retry = ExponentialRetry(initial_backoff=1, increment_base=3, retry_total=3) service = self._create_storage_service( - BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry, transport=AiohttpTestTransport()) + BlobServiceClient, storage_account_name, storage_account_key, retry_policy=retry) service.credential.account_name = "dummy_account_name" service.credential.account_key = "dummy_account_key" @@ -468,12 +486,12 @@ async def test_invalid_account_key_async(self, storage_account_name, storage_acc retry_callback = retry_counter.simple_count # Act - with self.assertRaises(ClientAuthenticationError): + with pytest.raises(ClientAuthenticationError): await service.create_container(container_name, retry_callback=retry_callback) # Assert # No retry should be performed since the signing error is fatal - self.assertEqual(retry_counter.count, 0) + assert retry_counter.count == 0 @staticmethod def _count_wrapper(counter, func): @@ -485,8 +503,10 @@ def wrapper(*args, **kwargs): @pytest.mark.live_test_only @BlobPreparer() - @AsyncStorageTestCase.await_prepared_test - async def test_streaming_retry_async(self, storage_account_name, storage_account_key): + async def test_streaming_retry(self, **kwargs): + storage_account_name = kwargs.pop("storage_account_name") + storage_account_key = kwargs.pop("storage_account_key") + """Test that retry mechanisms are working when streaming data.""" container_name = self.get_resource_name('utcontainer') retry = LinearRetry(backoff = 0.1, random_jitter_range=0)