azure-storage-blob 12.20.0__tar.gz → 12.20.0b1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/CHANGELOG.md +0 -5
  2. {azure-storage-blob-12.20.0/azure_storage_blob.egg-info → azure-storage-blob-12.20.0b1}/PKG-INFO +2 -2
  3. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/__init__.py +2 -12
  4. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_blob_client.py +3 -11
  5. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_blob_service_client.py +1 -6
  6. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_container_client.py +3 -11
  7. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_lease.py +0 -1
  8. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/models.py +12 -13
  9. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/shared_access_signature.py +0 -1
  10. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared_access_signature.py +0 -1
  11. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_version.py +1 -1
  12. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/__init__.py +4 -13
  13. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_blob_client_async.py +1 -1
  14. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_blob_service_client_async.py +1 -1
  15. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_container_client_async.py +1 -1
  16. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_lease_async.py +1 -1
  17. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1/azure_storage_blob.egg-info}/PKG-INFO +2 -2
  18. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/setup.py +1 -1
  19. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_cpk.py +23 -23
  20. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_cpk_async.py +23 -23
  21. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/LICENSE +0 -0
  22. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/MANIFEST.in +0 -0
  23. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/README.md +0 -0
  24. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/__init__.py +0 -0
  25. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/__init__.py +0 -0
  26. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_deserialize.py +0 -0
  27. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_download.py +0 -0
  28. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_encryption.py +0 -0
  29. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/__init__.py +0 -0
  30. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/_azure_blob_storage.py +0 -0
  31. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/_configuration.py +0 -0
  32. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/_patch.py +0 -0
  33. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/_serialization.py +0 -0
  34. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/_vendor.py +0 -0
  35. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/__init__.py +0 -0
  36. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/_azure_blob_storage.py +0 -0
  37. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/_configuration.py +0 -0
  38. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/_patch.py +0 -0
  39. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/__init__.py +0 -0
  40. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +0 -0
  41. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_blob_operations.py +0 -0
  42. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +0 -0
  43. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_container_operations.py +0 -0
  44. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +0 -0
  45. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_patch.py +0 -0
  46. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/aio/operations/_service_operations.py +0 -0
  47. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/models/__init__.py +0 -0
  48. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +0 -0
  49. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/models/_models_py3.py +0 -0
  50. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/models/_patch.py +0 -0
  51. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/__init__.py +0 -0
  52. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_append_blob_operations.py +0 -0
  53. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_blob_operations.py +0 -0
  54. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_block_blob_operations.py +0 -0
  55. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_container_operations.py +0 -0
  56. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_page_blob_operations.py +0 -0
  57. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_patch.py +0 -0
  58. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_generated/operations/_service_operations.py +0 -0
  59. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_list_blobs_helper.py +0 -0
  60. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_models.py +0 -0
  61. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_quick_query_helper.py +0 -0
  62. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_serialize.py +0 -0
  63. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/__init__.py +0 -0
  64. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/authentication.py +0 -0
  65. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/__init__.py +0 -0
  66. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/avro_io.py +0 -0
  67. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/avro_io_async.py +0 -0
  68. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/datafile.py +0 -0
  69. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/datafile_async.py +0 -0
  70. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/avro/schema.py +0 -0
  71. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/base_client.py +0 -0
  72. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/base_client_async.py +0 -0
  73. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/constants.py +0 -0
  74. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/parser.py +0 -0
  75. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/policies.py +0 -0
  76. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/policies_async.py +0 -0
  77. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/request_handlers.py +0 -0
  78. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/response_handlers.py +0 -0
  79. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/uploads.py +0 -0
  80. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_shared/uploads_async.py +0 -0
  81. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/_upload_helpers.py +0 -0
  82. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_download_async.py +0 -0
  83. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_encryption_async.py +0 -0
  84. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_list_blobs_helper.py +0 -0
  85. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_models.py +0 -0
  86. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/aio/_upload_helpers.py +0 -0
  87. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure/storage/blob/py.typed +0 -0
  88. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure_storage_blob.egg-info/SOURCES.txt +0 -0
  89. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure_storage_blob.egg-info/dependency_links.txt +0 -0
  90. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure_storage_blob.egg-info/not-zip-safe +0 -0
  91. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure_storage_blob.egg-info/requires.txt +0 -0
  92. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/azure_storage_blob.egg-info/top_level.txt +0 -0
  93. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/migration_guide.md +0 -0
  94. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/pyproject.toml +0 -0
  95. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/README.md +0 -0
  96. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_authentication.py +0 -0
  97. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_authentication_async.py +0 -0
  98. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_batch_delete_blobs.py +0 -0
  99. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_client_side_encryption.py +0 -0
  100. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_client_side_encryption_keyvault.py +0 -0
  101. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_common.py +0 -0
  102. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_common_async.py +0 -0
  103. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_container_access_policy.py +0 -0
  104. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_container_access_policy_async.py +0 -0
  105. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_containers.py +0 -0
  106. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_containers_async.py +0 -0
  107. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_copy_blob.py +0 -0
  108. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_copy_blob_async.py +0 -0
  109. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_directory_interface.py +0 -0
  110. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_directory_interface_mimetype.py +0 -0
  111. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_enumerate_blobs.py +0 -0
  112. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_enumerate_blobs_async.py +0 -0
  113. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_hello_world.py +0 -0
  114. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_hello_world_async.py +0 -0
  115. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_network_activity_logging.py +0 -0
  116. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_proxy_configuration.py +0 -0
  117. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_query.py +0 -0
  118. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_service.py +0 -0
  119. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_service_async.py +0 -0
  120. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_walk_blob_hierarchy.py +0 -0
  121. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/samples/blob_samples_walk_blob_hierarchy_async.py +0 -0
  122. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/setup.cfg +0 -0
  123. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/avro/__init__.py +0 -0
  124. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/avro/test_avro.py +0 -0
  125. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/avro/test_avro_async.py +0 -0
  126. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/conftest.py +0 -0
  127. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/encryption_test_helper.py +0 -0
  128. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/fake_credentials.py +0 -0
  129. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/__init__.py +0 -0
  130. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/_test_base_legacy.py +0 -0
  131. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/download.py +0 -0
  132. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/list_blobs.py +0 -0
  133. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/upload.py +0 -0
  134. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/upload_block.py +0 -0
  135. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/T1_legacy_tests/upload_from_file.py +0 -0
  136. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/__init__.py +0 -0
  137. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/_test_base.py +0 -0
  138. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/download.py +0 -0
  139. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/key_wrapper.py +0 -0
  140. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/list_blobs.py +0 -0
  141. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/upload.py +0 -0
  142. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/upload_block.py +0 -0
  143. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/perfstress_tests/upload_from_file.py +0 -0
  144. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/settings/__init__.py +0 -0
  145. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/settings/settings_fake.py +0 -0
  146. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/settings/testcase.py +0 -0
  147. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_append_blob.py +0 -0
  148. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_append_blob_async.py +0 -0
  149. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_access_conditions.py +0 -0
  150. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_access_conditions_async.py +0 -0
  151. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_api_version.py +0 -0
  152. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_api_version_async.py +0 -0
  153. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_client.py +0 -0
  154. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_client_async.py +0 -0
  155. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_encryption.py +0 -0
  156. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_encryption_async.py +0 -0
  157. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_encryption_v2.py +0 -0
  158. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_encryption_v2_async.py +0 -0
  159. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_retry.py +0 -0
  160. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_retry_async.py +0 -0
  161. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_service_properties.py +0 -0
  162. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_service_properties_async.py +0 -0
  163. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_service_stats.py +0 -0
  164. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_service_stats_async.py +0 -0
  165. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_storage_account.py +0 -0
  166. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_storage_account_async.py +0 -0
  167. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_tags.py +0 -0
  168. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_blob_tags_async.py +0 -0
  169. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_block_blob.py +0 -0
  170. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_block_blob_async.py +0 -0
  171. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_block_blob_sync_copy.py +0 -0
  172. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_block_blob_sync_copy_async.py +0 -0
  173. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_common_blob.py +0 -0
  174. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_common_blob_async.py +0 -0
  175. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_container.py +0 -0
  176. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_container_async.py +0 -0
  177. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_cpk_n.py +0 -0
  178. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_cpk_n_async.py +0 -0
  179. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_dictmixin.py +0 -0
  180. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_get_blob.py +0 -0
  181. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_get_blob_async.py +0 -0
  182. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_helpers.py +0 -0
  183. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_helpers_async.py +0 -0
  184. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_large_block_blob.py +0 -0
  185. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_large_block_blob_async.py +0 -0
  186. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_largest_block_blob.py +0 -0
  187. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_largest_block_blob_async.py +0 -0
  188. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_logging.py +0 -0
  189. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_logging_async.py +0 -0
  190. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_ors.py +0 -0
  191. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_ors_async.py +0 -0
  192. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_page_blob.py +0 -0
  193. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_page_blob_async.py +0 -0
  194. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_quick_query.py +0 -0
  195. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_retry.py +0 -0
  196. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_retry_async.py +0 -0
  197. {azure-storage-blob-12.20.0 → azure-storage-blob-12.20.0b1}/tests/test_upload_chunking.py +0 -0
@@ -1,10 +1,5 @@
1
1
  # Release History
2
2
 
3
- ## 12.20.0 (2024-05-07)
4
-
5
- ### Features Added
6
- - Stable release of features from 12.20.0b1
7
-
8
3
  ## 12.20.0b1 (2024-04-16)
9
4
 
10
5
  This version and all future versions will require Python 3.8+. Python 3.7 is no longer supported.
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-storage-blob
3
- Version: 12.20.0
3
+ Version: 12.20.0b1
4
4
  Summary: Microsoft Azure Blob Storage Client Library for Python
5
5
  Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
6
6
  Author: Microsoft Corporation
7
7
  Author-email: ascl@microsoft.com
8
8
  License: MIT License
9
9
  Keywords: azure,azure sdk
10
- Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3
@@ -3,8 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
-
8
6
  import os
9
7
 
10
8
  from typing import Union, Iterable, AnyStr, IO, Any, Dict # pylint: disable=unused-import
@@ -94,11 +92,7 @@ def upload_blob_to_url(
94
92
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
95
93
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
96
94
  should be the storage account key.
97
- :type credential:
98
- ~azure.core.credentials.AzureNamedKeyCredential or
99
- ~azure.core.credentials.AzureSasCredential or
100
- ~azure.core.credentials.TokenCredential or
101
- str or dict[str, str] or None
95
+ :type credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long
102
96
  :keyword bool overwrite:
103
97
  Whether the blob to be uploaded should overwrite the current data.
104
98
  If True, upload_blob_to_url will overwrite any existing data. If set to False, the
@@ -162,11 +156,7 @@ def download_blob_from_url(
162
156
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
163
157
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
164
158
  should be the storage account key.
165
- :type credential:
166
- ~azure.core.credentials.AzureNamedKeyCredential or
167
- ~azure.core.credentials.AzureSasCredential or
168
- ~azure.core.credentials.TokenCredential or
169
- str or dict[str, str] or None
159
+ :type credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long
170
160
  :keyword bool overwrite:
171
161
  Whether the local file should be overwritten if it already exists. The default value is
172
162
  `False` - in which case a ValueError will be raised if the file already exists. If set to
@@ -3,7 +3,7 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=too-many-lines, docstring-keyword-should-match-keyword-only
6
+ # pylint: disable=too-many-lines
7
7
 
8
8
  from functools import partial
9
9
  from io import BytesIO
@@ -237,11 +237,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
237
237
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
238
238
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
239
239
  should be the storage account key.
240
- :type credential:
241
- ~azure.core.credentials.AzureNamedKeyCredential or
242
- ~azure.core.credentials.AzureSasCredential or
243
- ~azure.core.credentials.TokenCredential or
244
- str or dict[str, str] or None
240
+ :type credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] # pylint: disable=line-too-long
245
241
  :param str snapshot:
246
242
  The optional blob snapshot on which to operate. This can be the snapshot ID string
247
243
  or the response returned from :func:`create_snapshot`. If specified, this will override
@@ -330,11 +326,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
330
326
  Credentials provided here will take precedence over those in the connection string.
331
327
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
332
328
  should be the storage account key.
333
- :type credential:
334
- ~azure.core.credentials.AzureNamedKeyCredential or
335
- ~azure.core.credentials.AzureSasCredential or
336
- ~azure.core.credentials.TokenCredential or
337
- str or dict[str, str] or None
329
+ :type credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] # pylint: disable=line-too-long
338
330
  :keyword str version_id: The version id parameter is an opaque DateTime value that, when present,
339
331
  specifies the version of the blob to operate on.
340
332
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
@@ -3,7 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
6
 
8
7
  import functools
9
8
  import warnings
@@ -172,11 +171,7 @@ class BlobServiceClient(StorageAccountHostsMixin, StorageEncryptionMixin):
172
171
  Credentials provided here will take precedence over those in the connection string.
173
172
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
174
173
  should be the storage account key.
175
- :type credential:
176
- ~azure.core.credentials.AzureNamedKeyCredential or
177
- ~azure.core.credentials.AzureSasCredential or
178
- ~azure.core.credentials.TokenCredential or
179
- str or dict[str, str] or None
174
+ :type credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] # pylint: disable=line-too-long
180
175
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
181
176
  authentication. Only has an effect when credential is of type TokenCredential. The value could be
182
177
  https://storage.azure.com/ (default) or https://<account>.blob.core.windows.net.
@@ -1,9 +1,9 @@
1
+ # pylint: disable=too-many-lines
1
2
  # -------------------------------------------------------------------------
2
3
  # Copyright (c) Microsoft Corporation. All rights reserved.
3
4
  # Licensed under the MIT License. See License.txt in the project root for
4
5
  # license information.
5
6
  # --------------------------------------------------------------------------
6
- # pylint: disable=too-many-lines, docstring-keyword-should-match-keyword-only
7
7
 
8
8
  import functools
9
9
  import warnings
@@ -202,11 +202,7 @@ class ContainerClient(StorageAccountHostsMixin, StorageEncryptionMixin): # py
202
202
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
203
203
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
204
204
  should be the storage account key.
205
- :type credential:
206
- ~azure.core.credentials.AzureNamedKeyCredential or
207
- ~azure.core.credentials.AzureSasCredential or
208
- ~azure.core.credentials.TokenCredential or
209
- str or dict[str, str] or None
205
+ :type credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long
210
206
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
211
207
  authentication. Only has an effect when credential is of type TokenCredential. The value could be
212
208
  https://storage.azure.com/ (default) or https://<account>.blob.core.windows.net.
@@ -255,11 +251,7 @@ class ContainerClient(StorageAccountHostsMixin, StorageEncryptionMixin): # py
255
251
  Credentials provided here will take precedence over those in the connection string.
256
252
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
257
253
  should be the storage account key.
258
- :type credential:
259
- ~azure.core.credentials.AzureNamedKeyCredential or
260
- ~azure.core.credentials.AzureSasCredential or
261
- ~azure.core.credentials.TokenCredential or
262
- str or dict[str, str] or None
254
+ :type credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long
263
255
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
264
256
  authentication. Only has an effect when credential is of type TokenCredential. The value could be
265
257
  https://storage.azure.com/ (default) or https://<account>.blob.core.windows.net.
@@ -3,7 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
6
 
8
7
  import uuid
9
8
 
@@ -453,20 +453,19 @@ class AccountSasPermissions(object):
453
453
  class Services(object):
454
454
  """Specifies the services accessible with the account SAS.
455
455
 
456
- :keyword bool blob:
457
- Access for the `~azure.storage.blob.BlobServiceClient`. Default is False.
458
- :keyword bool queue:
459
- Access for the `~azure.storage.queue.QueueServiceClient`. Default is False.
460
- :keyword bool fileshare:
461
- Access for the `~azure.storage.fileshare.ShareServiceClient`. Default is False.
456
+ :param bool blob:
457
+ Access for the `~azure.storage.blob.BlobServiceClient`
458
+ :param bool queue:
459
+ Access for the `~azure.storage.queue.QueueServiceClient`
460
+ :param bool fileshare:
461
+ Access for the `~azure.storage.fileshare.ShareServiceClient`
462
462
  """
463
463
 
464
- def __init__(
465
- self, *,
466
- blob: bool = False,
467
- queue: bool = False,
468
- fileshare: bool = False
469
- ) -> None:
464
+ blob: bool = False
465
+ queue: bool = False
466
+ fileshare: bool = False
467
+
468
+ def __init__(self, blob: bool = False, queue: bool = False, fileshare: bool = False):
470
469
  self.blob = blob
471
470
  self.queue = queue
472
471
  self.fileshare = fileshare
@@ -494,7 +493,7 @@ class Services(object):
494
493
  res_queue = 'q' in string
495
494
  res_file = 'f' in string
496
495
 
497
- parsed = cls(blob=res_blob, queue=res_queue, fileshare=res_file)
496
+ parsed = cls(res_blob, res_queue, res_file)
498
497
  parsed._str = string # pylint: disable = protected-access
499
498
  return parsed
500
499
 
@@ -3,7 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
6
 
8
7
  from datetime import date
9
8
 
@@ -3,7 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
6
 
8
7
  from typing import ( # pylint: disable=unused-import
9
8
  Union, Optional, Any, TYPE_CHECKING
@@ -4,4 +4,4 @@
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
6
 
7
- VERSION = "12.20.0"
7
+ VERSION = "12.20.0b1"
@@ -3,7 +3,6 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=docstring-keyword-should-match-keyword-only
7
6
 
8
7
  import os
9
8
 
@@ -32,7 +31,7 @@ async def upload_blob_to_url(
32
31
  :param data:
33
32
  The data to upload. This can be bytes, text, an iterable or a file-like object.
34
33
  :type data: bytes or str or Iterable
35
- :param credential:
34
+ :param credential:
36
35
  The credentials with which to authenticate. This is optional if the
37
36
  blob URL already has a SAS token. The value can be a SAS token string,
38
37
  an instance of a AzureSasCredential or AzureNamedKeyCredential from azure.core.credentials,
@@ -41,11 +40,7 @@ async def upload_blob_to_url(
41
40
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
42
41
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
43
42
  should be the storage account key.
44
- :type credential:
45
- ~azure.core.credentials.AzureNamedKeyCredential or
46
- ~azure.core.credentials.AzureSasCredential or
47
- ~azure.core.credentials.TokenCredential or
48
- str or dict[str, str] or None
43
+ :type credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long
49
44
  :keyword bool overwrite:
50
45
  Whether the blob to be uploaded should overwrite the current data.
51
46
  If True, upload_blob_to_url will overwrite any existing data. If set to False, the
@@ -69,7 +64,7 @@ async def upload_blob_to_url(
69
64
  :keyword str encoding:
70
65
  Encoding to use if text is supplied as input. Defaults to UTF-8.
71
66
  :returns: Blob-updated property dict (Etag and last modified)
72
- :rtype: dict[str, Any]
67
+ :rtype: dict(str, Any)
73
68
  """
74
69
  async with BlobClient.from_blob_url(blob_url, credential=credential) as client:
75
70
  return await client.upload_blob(data=data, blob_type=BlobType.BlockBlob, **kwargs)
@@ -104,11 +99,7 @@ async def download_blob_from_url(
104
99
  - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError.
105
100
  If using an instance of AzureNamedKeyCredential, "name" should be the storage account name, and "key"
106
101
  should be the storage account key.
107
- :type credential:
108
- ~azure.core.credentials.AzureNamedKeyCredential or
109
- ~azure.core.credentials.AzureSasCredential or
110
- ~azure.core.credentials.TokenCredential or
111
- str or dict[str, str] or None
102
+ :type credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long
112
103
  :keyword bool overwrite:
113
104
  Whether the local file should be overwritten if it already exists. The default value is
114
105
  `False` - in which case a ValueError will be raised if the file already exists. If set to
@@ -3,7 +3,7 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=too-many-lines, invalid-overridden-method, docstring-keyword-should-match-keyword-only
6
+ # pylint: disable=too-many-lines, invalid-overridden-method
7
7
 
8
8
  import warnings
9
9
  from functools import partial
@@ -3,7 +3,7 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=invalid-overridden-method, docstring-keyword-should-match-keyword-only
6
+ # pylint: disable=invalid-overridden-method
7
7
 
8
8
  import functools
9
9
  import warnings
@@ -3,7 +3,7 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=too-many-lines, invalid-overridden-method, docstring-keyword-should-match-keyword-only
6
+ # pylint: disable=too-many-lines, invalid-overridden-method
7
7
 
8
8
  import functools
9
9
  import warnings
@@ -3,7 +3,7 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
- # pylint: disable=invalid-overridden-method, docstring-keyword-should-match-keyword-only
6
+ # pylint: disable=invalid-overridden-method
7
7
 
8
8
  from typing import ( # pylint: disable=unused-import
9
9
  Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple,
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-storage-blob
3
- Version: 12.20.0
3
+ Version: 12.20.0b1
4
4
  Summary: Microsoft Azure Blob Storage Client Library for Python
5
5
  Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
6
6
  Author: Microsoft Corporation
7
7
  Author-email: ascl@microsoft.com
8
8
  License: MIT License
9
9
  Keywords: azure,azure sdk
10
- Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3
@@ -56,7 +56,7 @@ setup(
56
56
  url='https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob',
57
57
  keywords="azure, azure sdk",
58
58
  classifiers=[
59
- 'Development Status :: 5 - Production/Stable',
59
+ 'Development Status :: 4 - Beta',
60
60
  'Programming Language :: Python',
61
61
  'Programming Language :: Python :: 3 :: Only',
62
62
  'Programming Language :: Python :: 3',
@@ -105,7 +105,7 @@ class TestStorageCPK(StorageRecordedTestCase):
105
105
  assert put_block_list_resp['etag'] is not None
106
106
  assert put_block_list_resp['last_modified'] is not None
107
107
  assert put_block_list_resp['request_server_encrypted']
108
- # assert put_block_list_resp['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
108
+ assert put_block_list_resp['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
109
109
 
110
110
  # Act get the blob content without cpk should fail
111
111
  with pytest.raises(HttpResponseError):
@@ -118,7 +118,7 @@ class TestStorageCPK(StorageRecordedTestCase):
118
118
  assert blob.readall() == b'AAABBBCCC'
119
119
  assert blob.properties.etag == put_block_list_resp['etag']
120
120
  assert blob.properties.last_modified == put_block_list_resp['last_modified']
121
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
121
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
122
122
  self._teardown(bsc)
123
123
 
124
124
  @pytest.mark.live_test_only
@@ -149,7 +149,7 @@ class TestStorageCPK(StorageRecordedTestCase):
149
149
  assert upload_response['etag'] is not None
150
150
  assert upload_response['last_modified'] is not None
151
151
  assert upload_response['request_server_encrypted']
152
- # assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
152
+ assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
153
153
 
154
154
  # Act get the blob content without cpk should fail
155
155
  with pytest.raises(HttpResponseError):
@@ -162,7 +162,7 @@ class TestStorageCPK(StorageRecordedTestCase):
162
162
  assert blob.readall() == self.byte_data
163
163
  assert blob.properties.etag == upload_response['etag']
164
164
  assert blob.properties.last_modified == upload_response['last_modified']
165
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
165
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
166
166
  self._teardown(bsc)
167
167
 
168
168
  @pytest.mark.live_test_only
@@ -190,7 +190,7 @@ class TestStorageCPK(StorageRecordedTestCase):
190
190
  assert upload_response['etag'] is not None
191
191
  assert upload_response['last_modified'] is not None
192
192
  assert upload_response['request_server_encrypted']
193
- # assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
193
+ assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
194
194
 
195
195
  # Act get the blob content without cpk should fail
196
196
  with pytest.raises(HttpResponseError):
@@ -203,7 +203,7 @@ class TestStorageCPK(StorageRecordedTestCase):
203
203
  assert blob.readall() == self.byte_data
204
204
  assert blob.properties.etag == upload_response['etag']
205
205
  assert blob.properties.last_modified == upload_response['last_modified']
206
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
206
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
207
207
  self._teardown(bsc)
208
208
 
209
209
  @BlobPreparer()
@@ -230,7 +230,7 @@ class TestStorageCPK(StorageRecordedTestCase):
230
230
  assert upload_response['etag'] is not None
231
231
  assert upload_response['last_modified'] is not None
232
232
  assert upload_response['request_server_encrypted']
233
- # assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
233
+ assert upload_response['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
234
234
 
235
235
  # Act get the blob content without cpk should fail
236
236
  with pytest.raises(HttpResponseError):
@@ -243,7 +243,7 @@ class TestStorageCPK(StorageRecordedTestCase):
243
243
  assert blob.readall() == data
244
244
  assert blob.properties.etag == upload_response['etag']
245
245
  assert blob.properties.last_modified == upload_response['last_modified']
246
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
246
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
247
247
  self._teardown(bsc)
248
248
 
249
249
  @BlobPreparer()
@@ -308,7 +308,7 @@ class TestStorageCPK(StorageRecordedTestCase):
308
308
  assert put_block_list_resp['etag'] is not None
309
309
  assert put_block_list_resp['last_modified'] is not None
310
310
  assert put_block_list_resp['request_server_encrypted']
311
- # assert put_block_list_resp['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
311
+ assert put_block_list_resp['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
312
312
 
313
313
  # Act get the blob content
314
314
  blob = destination_blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY)
@@ -317,7 +317,7 @@ class TestStorageCPK(StorageRecordedTestCase):
317
317
  assert blob.readall() == self.byte_data[0: 8 * 1024]
318
318
  assert blob.properties.etag == put_block_list_resp['etag']
319
319
  assert blob.properties.last_modified == put_block_list_resp['last_modified']
320
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
320
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
321
321
  self._teardown(bsc)
322
322
 
323
323
  @BlobPreparer()
@@ -346,7 +346,7 @@ class TestStorageCPK(StorageRecordedTestCase):
346
346
  assert append_blob_prop['etag'] is not None
347
347
  assert append_blob_prop['last_modified'] is not None
348
348
  assert append_blob_prop['request_server_encrypted']
349
- # assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
349
+ assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
350
350
 
351
351
  # Act get the blob content without cpk should fail
352
352
  with pytest.raises(HttpResponseError):
@@ -357,7 +357,7 @@ class TestStorageCPK(StorageRecordedTestCase):
357
357
 
358
358
  # Assert content was retrieved with the cpk
359
359
  assert blob.readall() == b'AAABBBCCC'
360
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
360
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
361
361
 
362
362
  @BlobPreparer()
363
363
  @recorded_by_proxy
@@ -404,7 +404,7 @@ class TestStorageCPK(StorageRecordedTestCase):
404
404
  assert append_blob_prop['etag'] is not None
405
405
  assert append_blob_prop['last_modified'] is not None
406
406
  assert append_blob_prop['request_server_encrypted']
407
- # assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
407
+ assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
408
408
 
409
409
  # Act get the blob content without cpk should fail
410
410
  with pytest.raises(HttpResponseError):
@@ -415,7 +415,7 @@ class TestStorageCPK(StorageRecordedTestCase):
415
415
 
416
416
  # Assert content was retrieved with the cpk
417
417
  assert blob.readall() == self.byte_data[0: 4 * 1024]
418
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
418
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
419
419
  self._teardown(bsc)
420
420
 
421
421
  @BlobPreparer()
@@ -444,7 +444,7 @@ class TestStorageCPK(StorageRecordedTestCase):
444
444
  assert append_blob_prop['etag'] is not None
445
445
  assert append_blob_prop['last_modified'] is not None
446
446
  assert append_blob_prop['request_server_encrypted']
447
- # assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
447
+ assert append_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
448
448
 
449
449
  # Act get the blob content without cpk should fail
450
450
  with pytest.raises(HttpResponseError):
@@ -455,7 +455,7 @@ class TestStorageCPK(StorageRecordedTestCase):
455
455
 
456
456
  # Assert content was retrieved with the cpk
457
457
  assert blob.readall() == self.byte_data
458
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
458
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
459
459
  self._teardown(bsc)
460
460
 
461
461
  @BlobPreparer()
@@ -486,7 +486,7 @@ class TestStorageCPK(StorageRecordedTestCase):
486
486
  assert page_blob_prop['etag'] is not None
487
487
  assert page_blob_prop['last_modified'] is not None
488
488
  assert page_blob_prop['request_server_encrypted']
489
- # assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
489
+ assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
490
490
 
491
491
  # Act get the blob content without cpk should fail
492
492
  with pytest.raises(HttpResponseError):
@@ -499,7 +499,7 @@ class TestStorageCPK(StorageRecordedTestCase):
499
499
 
500
500
  # Assert content was retrieved with the cpk
501
501
  assert blob.readall() == self.byte_data
502
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
502
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
503
503
  self._teardown(bsc)
504
504
 
505
505
  @BlobPreparer()
@@ -548,7 +548,7 @@ class TestStorageCPK(StorageRecordedTestCase):
548
548
  assert page_blob_prop['etag'] is not None
549
549
  assert page_blob_prop['last_modified'] is not None
550
550
  assert page_blob_prop['request_server_encrypted']
551
- # assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
551
+ assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
552
552
 
553
553
  # Act get the blob content without cpk should fail
554
554
  with pytest.raises(HttpResponseError):
@@ -561,7 +561,7 @@ class TestStorageCPK(StorageRecordedTestCase):
561
561
 
562
562
  # Assert content was retrieved with the cpk
563
563
  assert blob.readall() == self.byte_data
564
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
564
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
565
565
  self._teardown(bsc)
566
566
 
567
567
  @pytest.mark.live_test_only
@@ -590,7 +590,7 @@ class TestStorageCPK(StorageRecordedTestCase):
590
590
  assert page_blob_prop['etag'] is not None
591
591
  assert page_blob_prop['last_modified'] is not None
592
592
  assert page_blob_prop['request_server_encrypted']
593
- # assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
593
+ assert page_blob_prop['encryption_key_sha256'] == TEST_ENCRYPTION_KEY.key_hash
594
594
 
595
595
  # Act get the blob content without cpk should fail
596
596
  with pytest.raises(HttpResponseError):
@@ -601,7 +601,7 @@ class TestStorageCPK(StorageRecordedTestCase):
601
601
 
602
602
  # Assert content was retrieved with the cpk
603
603
  assert blob.readall() == self.byte_data
604
- # assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
604
+ assert blob.properties.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
605
605
  self._teardown(bsc)
606
606
 
607
607
  @BlobPreparer()
@@ -633,7 +633,7 @@ class TestStorageCPK(StorageRecordedTestCase):
633
633
 
634
634
  # Assert
635
635
  assert blob_props.server_encrypted
636
- # assert blob_props.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
636
+ assert blob_props.encryption_key_sha256 == TEST_ENCRYPTION_KEY.key_hash
637
637
 
638
638
  # Act set blob properties
639
639
  metadata = {'hello': 'world', 'number': '42', 'up': 'upval'}