├── .azure-pipelines └── client.yml ├── .coveragerc ├── .github ├── CONTRIBUTING.md └── ISSUE_TEMPLATE.md ├── .gitignore ├── .travis.yml ├── BreakingChanges.md ├── ChangeLog.md ├── LICENSE.txt ├── NOTICE.md ├── README.rst ├── SECURITY.md ├── azure-storage-blob ├── BreakingChanges.md ├── ChangeLog.md ├── LICENSE.txt ├── MANIFEST.in ├── README.rst ├── azure │ ├── __init__.py │ └── storage │ │ ├── __init__.py │ │ └── blob │ │ ├── __init__.py │ │ ├── _constants.py │ │ ├── _deserialization.py │ │ ├── _download_chunking.py │ │ ├── _encryption.py │ │ ├── _error.py │ │ ├── _serialization.py │ │ ├── _upload_chunking.py │ │ ├── appendblobservice.py │ │ ├── baseblobservice.py │ │ ├── blockblobservice.py │ │ ├── models.py │ │ ├── pageblobservice.py │ │ └── sharedaccesssignature.py ├── setup.cfg └── setup.py ├── azure-storage-common ├── BreakingChanges.md ├── ChangeLog.md ├── LICENSE.txt ├── MANIFEST.in ├── README.rst ├── azure │ ├── __init__.py │ └── storage │ │ ├── __init__.py │ │ └── common │ │ ├── __init__.py │ │ ├── _auth.py │ │ ├── _common_conversion.py │ │ ├── _connection.py │ │ ├── _constants.py │ │ ├── _deserialization.py │ │ ├── _encryption.py │ │ ├── _error.py │ │ ├── _http │ │ ├── __init__.py │ │ └── httpclient.py │ │ ├── _serialization.py │ │ ├── cloudstorageaccount.py │ │ ├── models.py │ │ ├── retry.py │ │ ├── sharedaccesssignature.py │ │ ├── storageclient.py │ │ └── tokencredential.py ├── setup.cfg └── setup.py ├── azure-storage-file ├── BreakingChanges.md ├── ChangeLog.md ├── LICENSE.txt ├── MANIFEST.in ├── README.rst ├── azure │ ├── __init__.py │ └── storage │ │ ├── __init__.py │ │ └── file │ │ ├── __init__.py │ │ ├── _constants.py │ │ ├── _deserialization.py │ │ ├── _download_chunking.py │ │ ├── _serialization.py │ │ ├── _upload_chunking.py │ │ ├── fileservice.py │ │ ├── models.py │ │ └── sharedaccesssignature.py ├── setup.cfg └── setup.py ├── azure-storage-nspkg ├── MANIFEST.in ├── README.rst ├── azure │ ├── __init__.py │ └── storage │ │ └── __init__.py ├── setup.cfg └── setup.py ├── azure-storage-queue ├── BreakingChanges.md ├── ChangeLog.md ├── LICENSE.txt ├── MANIFEST.in ├── README.rst ├── azure │ ├── __init__.py │ └── storage │ │ ├── __init__.py │ │ └── queue │ │ ├── __init__.py │ │ ├── _constants.py │ │ ├── _deserialization.py │ │ ├── _encryption.py │ │ ├── _error.py │ │ ├── _serialization.py │ │ ├── models.py │ │ ├── queueservice.py │ │ └── sharedaccesssignature.py ├── setup.cfg └── setup.py ├── doc ├── BuildDocs.bat ├── InstallDocDependencies.bat ├── Makefile ├── __init__.py ├── conf.py ├── index.rst ├── make.bat ├── ref │ ├── azure.storage.blob.appendblobservice.rst │ ├── azure.storage.blob.baseblobservice.rst │ ├── azure.storage.blob.blockblobservice.rst │ ├── azure.storage.blob.models.rst │ ├── azure.storage.blob.pageblobservice.rst │ ├── azure.storage.blob.rst │ ├── azure.storage.blob.sharedaccesssignature.rst │ ├── azure.storage.common.cloudstorageaccount.rst │ ├── azure.storage.common.models.rst │ ├── azure.storage.common.rst │ ├── azure.storage.common.sharedaccesssignature.rst │ ├── azure.storage.common.storageclient.rst │ ├── azure.storage.file.fileservice.rst │ ├── azure.storage.file.models.rst │ ├── azure.storage.file.rst │ ├── azure.storage.file.sharedaccesssignature.rst │ ├── azure.storage.queue.models.rst │ ├── azure.storage.queue.queueservice.rst │ ├── azure.storage.queue.rst │ ├── azure.storage.queue.sharedaccesssignature.rst │ └── modules.rst ├── requirements.txt └── upgrade.rst ├── package_service_mapping.json ├── requirements.txt ├── samples ├── __init__.py ├── advanced │ ├── __init__.py │ ├── authentication.py │ ├── client.py │ └── oauth.py ├── blob │ ├── __init__.py │ ├── append_blob_usage.py │ ├── block_blob_usage.py │ ├── container_usage.py │ ├── encryption_usage.py │ ├── page_blob_usage.py │ └── sas_usage.py ├── config.py ├── file │ ├── __init__.py │ ├── directory_usage.py │ ├── file_usage.py │ ├── sas_usage.py │ └── share_usage.py ├── queue │ ├── __init__.py │ ├── encryption_usage.py │ ├── queue_usage.py │ └── sas_usage.py └── test_sample.py ├── tests ├── __init__.py ├── blob │ ├── __init__.py │ ├── blob_performance.py │ ├── test_append_blob.py │ ├── test_blob_access_conditions.py │ ├── test_blob_encryption.py │ ├── test_blob_sas.py │ ├── test_blob_storage_account.py │ ├── test_block_blob.py │ ├── test_block_blob_sync_copy.py │ ├── test_common_blob.py │ ├── test_container.py │ ├── test_cpk.py │ ├── test_get_blob.py │ ├── test_large_block_blob.py │ ├── test_page_blob.py │ ├── test_retry.py │ └── test_upload_chunking.py ├── common │ ├── __init__.py │ ├── test_account.py │ ├── test_client.py │ ├── test_logging.py │ ├── test_retry.py │ ├── test_service_properties.py │ └── test_service_stats.py ├── encryption_test_helper.py ├── file │ ├── __init__.py │ ├── test_directory.py │ ├── test_file.py │ ├── test_get_file.py │ ├── test_handle.py │ └── test_share.py ├── queues │ ├── __init__.py │ ├── test_queue.py │ ├── test_queue_encodings.py │ └── test_queue_encryption.py ├── recordings │ ├── test_append_blob.test_append_blob_from_0_bytes.yaml │ ├── test_append_blob.test_append_blob_from_bytes.yaml │ ├── test_append_blob.test_append_blob_from_bytes_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_bytes_chunked_upload_with_index_and_count.yaml │ ├── test_append_blob.test_append_blob_from_bytes_with_index.yaml │ ├── test_append_blob.test_append_blob_from_bytes_with_index_and_count.yaml │ ├── test_append_blob.test_append_blob_from_bytes_with_progress.yaml │ ├── test_append_blob.test_append_blob_from_bytes_with_progress_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_path_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_path_with_progress_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_stream_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_stream_chunked_upload_with_count.yaml │ ├── test_append_blob.test_append_blob_from_stream_non_seekable_chunked_upload_known_size.yaml │ ├── test_append_blob.test_append_blob_from_stream_non_seekable_chunked_upload_unknown_size.yaml │ ├── test_append_blob.test_append_blob_from_stream_with_multiple_appends.yaml │ ├── test_append_blob.test_append_blob_from_text.yaml │ ├── test_append_blob.test_append_blob_from_text_chunked_upload.yaml │ ├── test_append_blob.test_append_blob_from_text_with_encoding.yaml │ ├── test_append_blob.test_append_blob_from_text_with_encoding_and_progress.yaml │ ├── test_append_blob.test_append_blob_with_md5.yaml │ ├── test_append_blob.test_append_block.yaml │ ├── test_append_blob.test_append_block_from_url.yaml │ ├── test_append_blob.test_append_block_from_url_and_validate_content_md5.yaml │ ├── test_append_blob.test_append_block_from_url_with_appendpos_condition.yaml │ ├── test_append_blob.test_append_block_from_url_with_if_match.yaml │ ├── test_append_blob.test_append_block_from_url_with_if_modified.yaml │ ├── test_append_blob.test_append_block_from_url_with_if_none_match.yaml │ ├── test_append_blob.test_append_block_from_url_with_if_unmodified.yaml │ ├── test_append_blob.test_append_block_from_url_with_maxsize_condition.yaml │ ├── test_append_blob.test_append_block_from_url_with_source_if_match.yaml │ ├── test_append_blob.test_append_block_from_url_with_source_if_modified.yaml │ ├── test_append_blob.test_append_block_from_url_with_source_if_none_match.yaml │ ├── test_append_blob.test_append_block_from_url_with_source_if_unmodified.yaml │ ├── test_append_blob.test_append_block_unicode.yaml │ ├── test_append_blob.test_append_block_with_md5.yaml │ ├── test_append_blob.test_create_blob.yaml │ ├── test_append_blob.test_create_blob_with_lease_id.yaml │ ├── test_append_blob.test_create_blob_with_metadata.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_match.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_modified.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_append_blob_from_bytes_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_match.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_modified.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_append_block_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_match.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_modified.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_delete_blob_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_delete_container_with_if_modified.yaml │ ├── test_blob_access_conditions.test_delete_container_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_delete_container_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_delete_container_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_match.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_modified.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_get_blob_metadata_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_match.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_modified.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_get_blob_properties_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_match.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_modified.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_get_blob_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_match.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_modified.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_get_page_ranges_iter_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_match.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_modified.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_lease_blob_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_lease_container_acquire_with_if_modified.yaml │ ├── test_blob_access_conditions.test_lease_container_acquire_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_lease_container_acquire_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_lease_container_acquire_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_match.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_modified.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_put_blob_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_match.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_modified.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_put_block_list_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_match.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_modified.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_set_blob_metadata_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_match.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_modified.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_set_blob_properties_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_set_container_acl_with_if_modified.yaml │ ├── test_blob_access_conditions.test_set_container_acl_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_set_container_acl_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_set_container_acl_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_set_container_metadata_with_if_modified.yaml │ ├── test_blob_access_conditions.test_set_container_metadata_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_match.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_modified.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_snapshot_blob_with_if_unmodified_fail.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_match.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_match_fail.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_modified.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_modified_fail.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_none_match.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_none_match_fail.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_unmodified.yaml │ ├── test_blob_access_conditions.test_update_page_with_if_unmodified_fail.yaml │ ├── test_blob_encryption.test_create_block_blob_from_star.yaml │ ├── test_blob_encryption.test_create_page_blob_from_star.yaml │ ├── test_blob_encryption.test_get_blob_kek.yaml │ ├── test_blob_encryption.test_get_blob_nonmatching_kid.yaml │ ├── test_blob_encryption.test_get_blob_range_aligns_on_16_byte_block.yaml │ ├── test_blob_encryption.test_get_blob_range_beginning_to_middle.yaml │ ├── test_blob_encryption.test_get_blob_range_expanded_to_beginning_block_align.yaml │ ├── test_blob_encryption.test_get_blob_range_expanded_to_beginning_iv.yaml │ ├── test_blob_encryption.test_get_blob_range_middle_to_end.yaml │ ├── test_blob_encryption.test_get_blob_range_middle_to_middle.yaml │ ├── test_blob_encryption.test_get_blob_resolver.yaml │ ├── test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml │ ├── test_blob_encryption.test_get_blob_strict_mode_unencrypted_blob.yaml │ ├── test_blob_encryption.test_get_blob_to_star.yaml │ ├── test_blob_encryption.test_invalid_value_kek_unwrap.yaml │ ├── test_blob_encryption.test_missing_attribute_kek_unwrap.yaml │ ├── test_blob_encryption.test_put_blob_empty.yaml │ ├── test_blob_encryption.test_put_blob_range.yaml │ ├── test_blob_encryption.test_put_blob_serial_upload_chunking.yaml │ ├── test_blob_encryption.test_put_block_blob_single_shot.yaml │ ├── test_blob_encryption.test_validate_encryption.yaml │ ├── test_blob_sas.test_get_user_delegation_key.yaml │ ├── test_blob_storage_account.test_batch_set_nine_standard_blob_tier.yaml │ ├── test_blob_storage_account.test_batch_set_non_existing_blob_tier.yaml │ ├── test_blob_storage_account.test_batch_set_standard_blob_tier_api.yaml │ ├── test_blob_storage_account.test_batch_set_standard_blob_tier_api_with_non_askii_blob_name.yaml │ ├── test_blob_storage_account.test_batch_set_standard_blob_tier_for_one_blob.yaml │ ├── test_blob_storage_account.test_batch_set_three_blob_tier.yaml │ ├── test_blob_storage_account.test_rehydration_status.yaml │ ├── test_blob_storage_account.test_set_standard_blob_tier_with_rehydrate_priority.yaml │ ├── test_blob_storage_account.test_standard_blob_tier_set_tier_api.yaml │ ├── test_block_blob.test_createBlobFromStream_when_short_read_designated_size_of_stream.yaml │ ├── test_block_blob.test_createBlobFromStream_when_short_read_the_whole_stream.yaml │ ├── test_block_blob.test_create_blob_from_0_bytes.yaml │ ├── test_block_blob.test_create_blob_from_bytes_non_parallel.yaml │ ├── test_block_blob.test_create_blob_from_bytes_single_put.yaml │ ├── test_block_blob.test_create_blob_from_bytes_with_blob_tier_specified.yaml │ ├── test_block_blob.test_create_blob_from_bytes_with_index_and_count.yaml │ ├── test_block_blob.test_create_blob_from_bytes_with_index_and_count_and_properties.yaml │ ├── test_block_blob.test_create_blob_from_path_non_parallel.yaml │ ├── test_block_blob.test_create_blob_from_path_non_parallel_with_blob_tier_specified.yaml │ ├── test_block_blob.test_create_blob_from_stream_for_small_blob_with_blob_tier_specified.yaml │ ├── test_block_blob.test_create_blob_from_text.yaml │ ├── test_block_blob.test_create_blob_from_text_with_blob_tier_specified.yaml │ ├── test_block_blob.test_create_blob_from_text_with_encoding.yaml │ ├── test_block_blob.test_create_blob_from_text_with_encoding_and_progress.yaml │ ├── test_block_blob.test_create_blob_with_md5.yaml │ ├── test_block_blob.test_get_block_list_committed_blocks.yaml │ ├── test_block_blob.test_get_block_list_no_blocks.yaml │ ├── test_block_blob.test_get_block_list_uncommitted_blocks.yaml │ ├── test_block_blob.test_put_block.yaml │ ├── test_block_blob.test_put_block_list.yaml │ ├── test_block_blob.test_put_block_list_invalid_block_id.yaml │ ├── test_block_blob.test_put_block_list_with_blob_tier_specified.yaml │ ├── test_block_blob.test_put_block_list_with_md5.yaml │ ├── test_block_blob.test_put_block_unicode.yaml │ ├── test_block_blob.test_put_block_with_md5.yaml │ ├── test_block_blob_sync_copy.test_copy_blob_sync.yaml │ ├── test_block_blob_sync_copy.test_put_block_from_url_and_commit.yaml │ ├── test_block_blob_sync_copy.test_put_block_from_url_and_validate_content_md5.yaml │ ├── test_client.test_client_request_id_echo.yaml │ ├── test_client.test_request_callback_signed_header.yaml │ ├── test_client.test_response_callback.yaml │ ├── test_common_blob.test_abort_copy_blob.yaml │ ├── test_common_blob.test_abort_copy_blob_with_synchronous_copy_fails.yaml │ ├── test_common_blob.test_batch_delete_one_existing_blob.yaml │ ├── test_common_blob.test_batch_delete_one_existing_blob_with_non_askii_name.yaml │ ├── test_common_blob.test_batch_delete_ten_existing_blob_and_their_snapshot.yaml │ ├── test_common_blob.test_batch_delete_two_existing_blob_and_their_snapshot.yaml │ ├── test_common_blob.test_batch_delete_two_non_existing_blobs.yaml │ ├── test_common_blob.test_blob_container_not_exists.yaml │ ├── test_common_blob.test_blob_exists.yaml │ ├── test_common_blob.test_blob_not_exists.yaml │ ├── test_common_blob.test_blob_snapshot_exists.yaml │ ├── test_common_blob.test_blob_snapshot_not_exists.yaml │ ├── test_common_blob.test_copy_blob_async_private_blob.yaml │ ├── test_common_blob.test_copy_blob_async_private_blob_with_sas.yaml │ ├── test_common_blob.test_copy_blob_with_blob_tier_specified.yaml │ ├── test_common_blob.test_copy_blob_with_existing_blob.yaml │ ├── test_common_blob.test_copy_blob_with_rehydrate_priority.yaml │ ├── test_common_blob.test_create_blob_blob_unicode_data.yaml │ ├── test_common_blob.test_create_blob_with_lease_id.yaml │ ├── test_common_blob.test_create_blob_with_metadata.yaml │ ├── test_common_blob.test_create_blob_with_question_mark.yaml │ ├── test_common_blob.test_create_blob_with_special_chars.yaml │ ├── test_common_blob.test_delete_blob_snapshot.yaml │ ├── test_common_blob.test_delete_blob_snapshots.yaml │ ├── test_common_blob.test_delete_blob_with_existing_blob.yaml │ ├── test_common_blob.test_delete_blob_with_non_existing_blob.yaml │ ├── test_common_blob.test_delete_blob_with_snapshots.yaml │ ├── test_common_blob.test_get_account_information.yaml │ ├── test_common_blob.test_get_account_information_with_blob_name.yaml │ ├── test_common_blob.test_get_account_information_with_container_name.yaml │ ├── test_common_blob.test_get_blob_metadata.yaml │ ├── test_common_blob.test_get_blob_metadata_fail.yaml │ ├── test_common_blob.test_get_blob_properties.yaml │ ├── test_common_blob.test_get_blob_properties_fail.yaml │ ├── test_common_blob.test_get_blob_properties_server_encryption.yaml │ ├── test_common_blob.test_get_blob_properties_with_leased_blob.yaml │ ├── test_common_blob.test_get_blob_properties_with_snapshot.yaml │ ├── test_common_blob.test_get_blob_server_encryption.yaml │ ├── test_common_blob.test_get_blob_with_existing_blob.yaml │ ├── test_common_blob.test_get_blob_with_lease.yaml │ ├── test_common_blob.test_get_blob_with_non_existing_blob.yaml │ ├── test_common_blob.test_get_blob_with_range.yaml │ ├── test_common_blob.test_get_blob_with_snapshot.yaml │ ├── test_common_blob.test_get_blob_with_snapshot_previous.yaml │ ├── test_common_blob.test_lease_blob_acquire_and_release.yaml │ ├── test_common_blob.test_lease_blob_acquire_and_renew.yaml │ ├── test_common_blob.test_lease_blob_acquire_twice_fails.yaml │ ├── test_common_blob.test_lease_blob_break_period.yaml │ ├── test_common_blob.test_lease_blob_change_lease_id.yaml │ ├── test_common_blob.test_lease_blob_with_duration.yaml │ ├── test_common_blob.test_lease_blob_with_proposed_lease_id.yaml │ ├── test_common_blob.test_list_blobs_server_encryption.yaml │ ├── test_common_blob.test_no_sas_private_blob.yaml │ ├── test_common_blob.test_no_sas_public_blob.yaml │ ├── test_common_blob.test_no_server_encryption.yaml │ ├── test_common_blob.test_public_access_blob.yaml │ ├── test_common_blob.test_set_blob_metadata_with_upper_case.yaml │ ├── test_common_blob.test_set_blob_properties_with_blob_settings_param.yaml │ ├── test_common_blob.test_set_blob_properties_with_existing_blob.yaml │ ├── test_common_blob.test_snapshot_blob.yaml │ ├── test_common_blob.test_soft_delete_blob_including_all_snapshots.yaml │ ├── test_common_blob.test_soft_delete_blob_without_snapshots.yaml │ ├── test_common_blob.test_soft_delete_only_snapshots_of_blob.yaml │ ├── test_common_blob.test_soft_delete_single_blob_snapshot.yaml │ ├── test_common_blob.test_soft_delete_with_leased_blob.yaml │ ├── test_common_blob.test_token_credential.yaml │ ├── test_common_blob.test_unicode_get_blob_unicode_name.yaml │ ├── test_container.test_container_exists.yaml │ ├── test_container.test_container_exists_with_lease.yaml │ ├── test_container.test_container_not_exists.yaml │ ├── test_container.test_create_container.yaml │ ├── test_container.test_create_container_fail_on_exist.yaml │ ├── test_container.test_create_container_with_already_existing_container.yaml │ ├── test_container.test_create_container_with_already_existing_container_fail_on_exist.yaml │ ├── test_container.test_create_container_with_metadata.yaml │ ├── test_container.test_create_container_with_public_access_blob.yaml │ ├── test_container.test_create_container_with_public_access_container.yaml │ ├── test_container.test_delete_container_with_existing_container.yaml │ ├── test_container.test_delete_container_with_existing_container_fail_not_exist.yaml │ ├── test_container.test_delete_container_with_lease_id.yaml │ ├── test_container.test_delete_container_with_non_existing_container.yaml │ ├── test_container.test_delete_container_with_non_existing_container_fail_not_exist.yaml │ ├── test_container.test_get_container_acl.yaml │ ├── test_container.test_get_container_acl_with_lease_id.yaml │ ├── test_container.test_get_container_metadata.yaml │ ├── test_container.test_get_container_metadata_with_lease_id.yaml │ ├── test_container.test_get_container_properties.yaml │ ├── test_container.test_get_container_properties_with_lease_id.yaml │ ├── test_container.test_lease_container_acquire_and_release.yaml │ ├── test_container.test_lease_container_break_period.yaml │ ├── test_container.test_lease_container_break_released_lease_fails.yaml │ ├── test_container.test_lease_container_change_lease_id.yaml │ ├── test_container.test_lease_container_renew.yaml │ ├── test_container.test_lease_container_with_duration.yaml │ ├── test_container.test_lease_container_with_proposed_lease_id.yaml │ ├── test_container.test_list_blobs.yaml │ ├── test_container.test_list_blobs_leased_blob.yaml │ ├── test_container.test_list_blobs_with_delimiter.yaml │ ├── test_container.test_list_blobs_with_include_copy.yaml │ ├── test_container.test_list_blobs_with_include_metadata.yaml │ ├── test_container.test_list_blobs_with_include_multiple.yaml │ ├── test_container.test_list_blobs_with_include_snapshots.yaml │ ├── test_container.test_list_blobs_with_include_uncommittedblobs.yaml │ ├── test_container.test_list_blobs_with_num_results.yaml │ ├── test_container.test_list_blobs_with_prefix.yaml │ ├── test_container.test_list_containers.yaml │ ├── test_container.test_list_containers_with_include_metadata.yaml │ ├── test_container.test_list_containers_with_num_results_and_marker.yaml │ ├── test_container.test_list_containers_with_prefix.yaml │ ├── test_container.test_list_containers_with_public_access.yaml │ ├── test_container.test_list_names.yaml │ ├── test_container.test_set_container_acl.yaml │ ├── test_container.test_set_container_acl_too_many_ids.yaml │ ├── test_container.test_set_container_acl_with_empty_signed_identifier.yaml │ ├── test_container.test_set_container_acl_with_empty_signed_identifiers.yaml │ ├── test_container.test_set_container_acl_with_lease_id.yaml │ ├── test_container.test_set_container_acl_with_public_access.yaml │ ├── test_container.test_set_container_acl_with_signed_identifiers.yaml │ ├── test_container.test_set_container_metadata.yaml │ ├── test_container.test_set_container_metadata_with_lease_id.yaml │ ├── test_container.test_set_container_metadata_with_non_existing_container.yaml │ ├── test_container.test_unicode_create_container_unicode_name.yaml │ ├── test_container.test_web_container_normal_operations_working.yaml │ ├── test_cpk.test_append_block.yaml │ ├── test_cpk.test_append_block_from_url.yaml │ ├── test_cpk.test_create_append_blob_with_chunks.yaml │ ├── test_cpk.test_create_block_blob_with_chunks.yaml │ ├── test_cpk.test_create_block_blob_with_single_chunk.yaml │ ├── test_cpk.test_create_page_blob_with_chunks.yaml │ ├── test_cpk.test_get_set_blob_metadata.yaml │ ├── test_cpk.test_get_set_blob_properties.yaml │ ├── test_cpk.test_put_block_and_put_block_list.yaml │ ├── test_cpk.test_put_block_from_url_and_commit.yaml │ ├── test_cpk.test_snapshot_blob.yaml │ ├── test_cpk.test_update_page.yaml │ ├── test_cpk.test_update_page_from_url.yaml │ ├── test_directory.test_create_directories.yaml │ ├── test_directory.test_create_directories_fail_on_exist.yaml │ ├── test_directory.test_create_directories_with_metadata.yaml │ ├── test_directory.test_create_directory_with_already_existing_directory.yaml │ ├── test_directory.test_delete_directory_with_existing_directory_fail_not_exist.yaml │ ├── test_directory.test_delete_directory_with_existing_share.yaml │ ├── test_directory.test_delete_directory_with_non_existing_directory.yaml │ ├── test_directory.test_delete_directory_with_non_existing_directory_fail_not_exist.yaml │ ├── test_directory.test_directory_exists.yaml │ ├── test_directory.test_directory_exists_with_snapshot.yaml │ ├── test_directory.test_directory_not_exists.yaml │ ├── test_directory.test_directory_not_exists_with_snapshot.yaml │ ├── test_directory.test_directory_parent_not_exists.yaml │ ├── test_directory.test_get_directory_metadata_with_snapshot.yaml │ ├── test_directory.test_get_directory_properties.yaml │ ├── test_directory.test_get_directory_properties_server_encryption.yaml │ ├── test_directory.test_get_directory_properties_with_non_existing_directory.yaml │ ├── test_directory.test_get_directory_properties_with_snapshot.yaml │ ├── test_directory.test_get_set_directory_metadata.yaml │ ├── test_directory.test_set_directory_properties_with_empty_smb_properties.yaml │ ├── test_directory.test_set_directory_properties_with_file_permission_key.yaml │ ├── test_file.test_abort_copy_file.yaml │ ├── test_file.test_abort_copy_file_with_synchronous_copy_fails.yaml │ ├── test_file.test_clear_range.yaml │ ├── test_file.test_copy_file_async_private_file.yaml │ ├── test_file.test_copy_file_async_private_file_with_sas.yaml │ ├── test_file.test_copy_file_with_existing_file.yaml │ ├── test_file.test_create_file.yaml │ ├── test_file.test_create_file_from_text.yaml │ ├── test_file.test_create_file_from_text_with_encoding.yaml │ ├── test_file.test_create_file_will_set_all_smb_properties.yaml │ ├── test_file.test_create_file_with_invalid_file_permission.yaml │ ├── test_file.test_create_file_with_md5_small.yaml │ ├── test_file.test_create_file_with_metadata.yaml │ ├── test_file.test_delete_file_with_existing_file.yaml │ ├── test_file.test_delete_file_with_non_existing_file.yaml │ ├── test_file.test_file_exists.yaml │ ├── test_file.test_file_exists_with_snapshot.yaml │ ├── test_file.test_file_not_exists.yaml │ ├── test_file.test_file_not_exists_with_snapshot.yaml │ ├── test_file.test_file_unicode_data.yaml │ ├── test_file.test_get_file_metadata.yaml │ ├── test_file.test_get_file_metadata_with_snapshot.yaml │ ├── test_file.test_get_file_properties.yaml │ ├── test_file.test_get_file_properties_with_non_existing_file.yaml │ ├── test_file.test_get_file_properties_with_snapshot.yaml │ ├── test_file.test_list_ranges_2.yaml │ ├── test_file.test_list_ranges_2_from_snapshot.yaml │ ├── test_file.test_list_ranges_none.yaml │ ├── test_file.test_list_ranges_none_from_snapshot.yaml │ ├── test_file.test_resize_file.yaml │ ├── test_file.test_set_file_metadata_with_upper_case.yaml │ ├── test_file.test_set_file_properties.yaml │ ├── test_file.test_set_file_properties_with_file_permission.yaml │ ├── test_file.test_unicode_get_file_binary_data.yaml │ ├── test_file.test_unicode_get_file_unicode_name.yaml │ ├── test_file.test_update_big_range_from_file_url.yaml │ ├── test_file.test_update_file_unicode.yaml │ ├── test_file.test_update_range.yaml │ ├── test_file.test_update_range_from_file_url.yaml │ ├── test_file.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes.yaml │ ├── test_file.test_update_range_with_md5.yaml │ ├── test_get_blob.test_get_blob_exact_get_size.yaml │ ├── test_get_blob.test_get_blob_no_content.yaml │ ├── test_get_blob.test_get_blob_non_seekable.yaml │ ├── test_get_blob.test_get_blob_to_bytes_non_parallel.yaml │ ├── test_get_blob.test_get_blob_to_bytes_small.yaml │ ├── test_get_blob.test_get_blob_to_path_non_parallel.yaml │ ├── test_get_blob.test_get_blob_to_path_small.yaml │ ├── test_get_blob.test_get_blob_to_stream_non_parallel.yaml │ ├── test_get_blob.test_get_blob_to_stream_small.yaml │ ├── test_get_blob.test_get_blob_to_text_non_parallel.yaml │ ├── test_get_blob.test_get_blob_to_text_small.yaml │ ├── test_get_blob.test_get_blob_to_text_with_encoding.yaml │ ├── test_get_blob.test_get_blob_to_text_with_encoding_and_progress.yaml │ ├── test_get_blob.test_ranged_get_blob_to_bytes_with_zero_byte.yaml │ ├── test_get_blob.test_ranged_get_blob_to_path_non_parallel.yaml │ ├── test_get_blob.test_ranged_get_blob_to_path_small.yaml │ ├── test_get_blob.test_ranged_get_blob_with_missing_start_range.yaml │ ├── test_get_blob.test_unicode_get_blob_binary_data.yaml │ ├── test_get_blob.test_unicode_get_blob_unicode_data.yaml │ ├── test_get_file.test_get_file_exact_get_size.yaml │ ├── test_get_file.test_get_file_no_content.yaml │ ├── test_get_file.test_get_file_non_seekable.yaml │ ├── test_get_file.test_get_file_non_seekable_from_snapshot.yaml │ ├── test_get_file.test_get_file_properties_server_encryption.yaml │ ├── test_get_file.test_get_file_server_encryption.yaml │ ├── test_get_file.test_get_file_to_bytes_non_parallel.yaml │ ├── test_get_file.test_get_file_to_bytes_small.yaml │ ├── test_get_file.test_get_file_to_path_non_parallel.yaml │ ├── test_get_file.test_get_file_to_path_small.yaml │ ├── test_get_file.test_get_file_to_stream_non_parallel.yaml │ ├── test_get_file.test_get_file_to_stream_non_parallel_from_snapshot.yaml │ ├── test_get_file.test_get_file_to_stream_small.yaml │ ├── test_get_file.test_get_file_to_stream_small_from_snapshot.yaml │ ├── test_get_file.test_get_file_to_text_non_parallel.yaml │ ├── test_get_file.test_get_file_to_text_small.yaml │ ├── test_get_file.test_get_file_to_text_with_encoding.yaml │ ├── test_get_file.test_get_file_to_text_with_encoding_and_progress.yaml │ ├── test_get_file.test_ranged_get_file_to_bytes_with_zero_byte.yaml │ ├── test_get_file.test_ranged_get_file_to_path_non_parallel.yaml │ ├── test_get_file.test_ranged_get_file_to_path_small.yaml │ ├── test_get_file.test_unicode_get_file_binary_data.yaml │ ├── test_get_file.test_unicode_get_file_unicode_data.yaml │ ├── test_handle.test_close_all_handle.yaml │ ├── test_handle.test_close_single_handle.yaml │ ├── test_handle.test_list_handles_on_directory.yaml │ ├── test_handle.test_list_handles_on_file.yaml │ ├── test_handle.test_list_handles_on_share.yaml │ ├── test_handle.test_list_handles_on_share_snapshot.yaml │ ├── test_handle.test_list_handles_with_marker.yaml │ ├── test_logging.test_authorization_is_scrubbed_off.yaml │ ├── test_page_blob.test_blob_tier_copy_blob.yaml │ ├── test_page_blob.test_blob_tier_on_create.yaml │ ├── test_page_blob.test_blob_tier_set_tier_api.yaml │ ├── test_page_blob.test_clear_page.yaml │ ├── test_page_blob.test_create_8tb_blob.yaml │ ├── test_page_blob.test_create_blob.yaml │ ├── test_page_blob.test_create_blob_from_bytes_with_index_and_count.yaml │ ├── test_page_blob.test_create_blob_with_md5_small.yaml │ ├── test_page_blob.test_create_blob_with_metadata.yaml │ ├── test_page_blob.test_create_larger_than_8tb_blob_fail.yaml │ ├── test_page_blob.test_get_page_ranges_2_pages.yaml │ ├── test_page_blob.test_get_page_ranges_diff.yaml │ ├── test_page_blob.test_get_page_ranges_no_pages.yaml │ ├── test_page_blob.test_put_page_if_sequence_number_lt_success.yaml │ ├── test_page_blob.test_put_page_with_lease_id.yaml │ ├── test_page_blob.test_resize_blob.yaml │ ├── test_page_blob.test_set_sequence_number_blob.yaml │ ├── test_page_blob.test_update_8tb_blob_page.yaml │ ├── test_page_blob.test_update_page.yaml │ ├── test_page_blob.test_update_page_fail.yaml │ ├── test_page_blob.test_update_page_from_url.yaml │ ├── test_page_blob.test_update_page_from_url_and_validate_content_md5.yaml │ ├── test_page_blob.test_update_page_from_url_with_if_match.yaml │ ├── test_page_blob.test_update_page_from_url_with_if_modified.yaml │ ├── test_page_blob.test_update_page_from_url_with_if_none_match.yaml │ ├── test_page_blob.test_update_page_from_url_with_if_unmodified.yaml │ ├── test_page_blob.test_update_page_from_url_with_sequence_number_eq.yaml │ ├── test_page_blob.test_update_page_from_url_with_sequence_number_lt.yaml │ ├── test_page_blob.test_update_page_from_url_with_sequence_number_lte.yaml │ ├── test_page_blob.test_update_page_from_url_with_source_if_match.yaml │ ├── test_page_blob.test_update_page_from_url_with_source_if_modified.yaml │ ├── test_page_blob.test_update_page_from_url_with_source_if_none_match.yaml │ ├── test_page_blob.test_update_page_from_url_with_source_if_unmodified.yaml │ ├── test_page_blob.test_update_page_if_sequence_number_eq_failure.yaml │ ├── test_page_blob.test_update_page_if_sequence_number_eq_success.yaml │ ├── test_page_blob.test_update_page_if_sequence_number_lt_failure.yaml │ ├── test_page_blob.test_update_page_if_sequence_number_lte_failure.yaml │ ├── test_page_blob.test_update_page_if_sequence_number_lte_success.yaml │ ├── test_page_blob.test_update_page_unicode.yaml │ ├── test_page_blob.test_update_page_with_md5.yaml │ ├── test_queue.test_clear_messages.yaml │ ├── test_queue.test_create_queue.yaml │ ├── test_queue.test_create_queue_already_exist.yaml │ ├── test_queue.test_create_queue_already_exist_different_metadata.yaml │ ├── test_queue.test_create_queue_fail_on_exist.yaml │ ├── test_queue.test_create_queue_fail_on_exist_different_metadata.yaml │ ├── test_queue.test_create_queue_with_options.yaml │ ├── test_queue.test_delete_existing_queue_fail_not_exist.yaml │ ├── test_queue.test_delete_message.yaml │ ├── test_queue.test_delete_non_existing_queue.yaml │ ├── test_queue.test_delete_non_existing_queue_fail_not_exist.yaml │ ├── test_queue.test_get_messages.yaml │ ├── test_queue.test_get_messages_with_options.yaml │ ├── test_queue.test_get_queue_acl.yaml │ ├── test_queue.test_get_queue_acl_iter.yaml │ ├── test_queue.test_get_queue_acl_with_non_existing_queue.yaml │ ├── test_queue.test_get_queue_metadata_message_count.yaml │ ├── test_queue.test_list_queues.yaml │ ├── test_queue.test_list_queues_with_metadata.yaml │ ├── test_queue.test_list_queues_with_options.yaml │ ├── test_queue.test_peek_messages.yaml │ ├── test_queue.test_peek_messages_with_options.yaml │ ├── test_queue.test_put_message.yaml │ ├── test_queue.test_put_message_infinite_time_to_live.yaml │ ├── test_queue.test_put_message_large_time_to_live.yaml │ ├── test_queue.test_queue_exists.yaml │ ├── test_queue.test_queue_not_exists.yaml │ ├── test_queue.test_set_queue_acl.yaml │ ├── test_queue.test_set_queue_acl_too_many_ids.yaml │ ├── test_queue.test_set_queue_acl_with_empty_signed_identifier.yaml │ ├── test_queue.test_set_queue_acl_with_empty_signed_identifiers.yaml │ ├── test_queue.test_set_queue_acl_with_non_existing_queue.yaml │ ├── test_queue.test_set_queue_acl_with_signed_identifiers.yaml │ ├── test_queue.test_set_queue_metadata.yaml │ ├── test_queue.test_token_credential.yaml │ ├── test_queue.test_unicode_create_queue_unicode_name.yaml │ ├── test_queue.test_unicode_get_messages_unicode_data.yaml │ ├── test_queue.test_unicode_update_message_unicode_data.yaml │ ├── test_queue.test_update_message.yaml │ ├── test_queue.test_update_message_content.yaml │ ├── test_queue_encodings.test_message_base64_decode_fails.yaml │ ├── test_queue_encodings.test_message_bytes_base64.yaml │ ├── test_queue_encodings.test_message_text_base64.yaml │ ├── test_queue_encodings.test_message_text_xml.yaml │ ├── test_queue_encodings.test_message_text_xml_invalid_chars.yaml │ ├── test_queue_encodings.test_message_text_xml_whitespace.yaml │ ├── test_queue_encryption.test_encryption_add_encrypted_64k_message.yaml │ ├── test_queue_encryption.test_encryption_nonmatching_kid.yaml │ ├── test_queue_encryption.test_get_messages_encrypted_kek.yaml │ ├── test_queue_encryption.test_get_messages_encrypted_resolver.yaml │ ├── test_queue_encryption.test_get_with_strict_mode.yaml │ ├── test_queue_encryption.test_invalid_value_kek_unwrap.yaml │ ├── test_queue_encryption.test_invalid_value_kek_wrap.yaml │ ├── test_queue_encryption.test_missing_attribute_kek_unrwap.yaml │ ├── test_queue_encryption.test_missing_attribute_kek_wrap.yaml │ ├── test_queue_encryption.test_peek_messages_encrypted_kek.yaml │ ├── test_queue_encryption.test_peek_messages_encrypted_resolver.yaml │ ├── test_queue_encryption.test_put_with_strict_mode.yaml │ ├── test_queue_encryption.test_update_encrypted_binary_message.yaml │ ├── test_queue_encryption.test_update_encrypted_json_message.yaml │ ├── test_queue_encryption.test_update_encrypted_message.yaml │ ├── test_queue_encryption.test_update_encrypted_raw_text_message.yaml │ ├── test_queue_encryption.test_validate_encryption.yaml │ ├── test_retry.test_exponential_retry.yaml │ ├── test_retry.test_invalid_retry.yaml │ ├── test_retry.test_linear_retry.yaml │ ├── test_retry.test_location_lock.yaml │ ├── test_retry.test_no_retry.yaml │ ├── test_retry.test_retry_callback_and_retry_context.yaml │ ├── test_retry.test_retry_on_server_error.yaml │ ├── test_retry.test_retry_on_socket_timeout.yaml │ ├── test_retry.test_retry_on_timeout.yaml │ ├── test_retry.test_retry_to_secondary_with_get.yaml │ ├── test_retry.test_retry_to_secondary_with_put.yaml │ ├── test_retry.test_retry_with_deserialization.yaml │ ├── test_retry.test_secondary_location_mode.yaml │ ├── test_service_properties.test_blob_service_properties.yaml │ ├── test_service_properties.test_disabled_static_website_properties.yaml │ ├── test_service_properties.test_file_service_properties.yaml │ ├── test_service_properties.test_queue_service_properties.yaml │ ├── test_service_properties.test_retention_too_long.yaml │ ├── test_service_properties.test_set_cors.yaml │ ├── test_service_properties.test_set_default_service_version.yaml │ ├── test_service_properties.test_set_delete_retention_policy.yaml │ ├── test_service_properties.test_set_delete_retention_policy_edge_cases.yaml │ ├── test_service_properties.test_set_disabled_delete_retention_policy.yaml │ ├── test_service_properties.test_set_hour_metrics.yaml │ ├── test_service_properties.test_set_logging.yaml │ ├── test_service_properties.test_set_minute_metrics.yaml │ ├── test_service_properties.test_set_static_website_properties.yaml │ ├── test_service_properties.test_set_static_website_properties_does_not_impact_other_properties.yaml │ ├── test_service_properties.test_set_static_website_properties_missing_field.yaml │ ├── test_service_properties.test_too_many_cors_rules.yaml │ ├── test_service_stats.test_blob_service_stats.yaml │ ├── test_service_stats.test_blob_service_stats_when_unavailable.yaml │ ├── test_service_stats.test_queue_service_stats.yaml │ ├── test_service_stats.test_queue_service_stats_when_unavailable.yaml │ ├── test_share.test_create_permission_for_share.yaml │ ├── test_share.test_create_share.yaml │ ├── test_share.test_create_share_fail_on_exist.yaml │ ├── test_share.test_create_share_snapshot.yaml │ ├── test_share.test_create_share_with_already_existing_share.yaml │ ├── test_share.test_create_share_with_already_existing_share_fail_on_exist.yaml │ ├── test_share.test_create_share_with_metadata.yaml │ ├── test_share.test_create_share_with_quota.yaml │ ├── test_share.test_create_snapshot_with_metadata.yaml │ ├── test_share.test_delete_share_with_existing_share.yaml │ ├── test_share.test_delete_share_with_existing_share_fail_not_exist.yaml │ ├── test_share.test_delete_share_with_non_existing_share.yaml │ ├── test_share.test_delete_share_with_non_existing_share_fail_not_exist.yaml │ ├── test_share.test_delete_share_with_snapshots.yaml │ ├── test_share.test_delete_snapshot.yaml │ ├── test_share.test_get_share_metadata.yaml │ ├── test_share.test_get_share_metadata_with_snapshot.yaml │ ├── test_share.test_get_share_properties.yaml │ ├── test_share.test_get_share_properties_with_snapshot.yaml │ ├── test_share.test_get_share_stats.yaml │ ├── test_share.test_list_directories_and_files.yaml │ ├── test_share.test_list_directories_and_files_with_num_results.yaml │ ├── test_share.test_list_directories_and_files_with_num_results_and_marker.yaml │ ├── test_share.test_list_directories_and_files_with_prefix.yaml │ ├── test_share.test_list_directories_and_files_with_snapshot.yaml │ ├── test_share.test_list_shares_no_options.yaml │ ├── test_share.test_list_shares_with_include_metadata.yaml │ ├── test_share.test_list_shares_with_num_results_and_marker.yaml │ ├── test_share.test_list_shares_with_prefix.yaml │ ├── test_share.test_list_shares_with_snapshot.yaml │ ├── test_share.test_set_share_acl.yaml │ ├── test_share.test_set_share_acl_too_many_ids.yaml │ ├── test_share.test_set_share_acl_with_empty_signed_identifier.yaml │ ├── test_share.test_set_share_acl_with_empty_signed_identifiers.yaml │ ├── test_share.test_set_share_acl_with_signed_identifiers.yaml │ ├── test_share.test_set_share_metadata.yaml │ ├── test_share.test_set_share_properties.yaml │ ├── test_share.test_share_exists.yaml │ ├── test_share.test_share_not_exists.yaml │ ├── test_share.test_share_snapshot_exists.yaml │ ├── test_share.test_share_snapshot_not_exists.yaml │ └── test_share.test_unicode_create_share_unicode_name.yaml ├── recordings_backup │ ├── test_handle.test_close_all_handle.yaml │ ├── test_handle.test_close_single_handle.yaml │ ├── test_handle.test_list_handles_on_directory.yaml │ ├── test_handle.test_list_handles_on_file.yaml │ ├── test_handle.test_list_handles_on_share.yaml │ ├── test_handle.test_list_handles_on_share_snapshot.yaml │ └── test_handle.test_list_handles_with_marker.yaml ├── run-storage.bat ├── settings_fake.py └── testcase.py ├── tool_build_packages.py ├── tool_clean_build_files.sh ├── tool_reset_account.py └── tool_validate_packages.py /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | include = 4 | azure* 5 | omit = 6 | azure-storage-nspkg -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Which service(blob, file, queue) does this issue concern? 2 | Note: for package version >= 12.0.0 please post the issue here instead: https://github.com/Azure/azure-sdk-for-python/issues 3 | for table service, please post the issue here instead: https://github.com/Azure/azure-cosmosdb-python. 4 | 5 | 6 | ### Which version of the SDK was used? Please provide the output of `pip freeze`. 7 | 8 | 9 | ### What problem was encountered? 10 | 11 | 12 | ### Have you found a mitigation/solution? 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Python cache 2 | __pycache__/ 3 | *.pyc 4 | 5 | # Virtual environment 6 | env*/ 7 | venv*/ 8 | 9 | # PTVS analysis 10 | .ptvs/ 11 | 12 | # Build results 13 | bin/ 14 | obj/ 15 | dist/ 16 | MANIFEST 17 | 18 | # Result of running python setup.py install/pip install -e 19 | RECORD.txt 20 | build/ 21 | *.egg-info/ 22 | 23 | # Test results 24 | TestResults/ 25 | 26 | # Credentials 27 | testsettings_local.json 28 | settings_real.py 29 | 30 | # User-specific files 31 | *.suo 32 | *.user 33 | *.sln.docstates 34 | .vs/ 35 | 36 | # Windows image file caches 37 | Thumbs.db 38 | ehthumbs.db 39 | 40 | # Folder config file 41 | Desktop.ini 42 | 43 | # Recycle Bin used on file shares 44 | $RECYCLE.BIN/ 45 | 46 | # Mac desktop service store files 47 | .DS_Store 48 | 49 | .idea 50 | src/build 51 | *.iml 52 | /doc/_build 53 | /.vs/config/applicationhost.config 54 | 55 | # Azure deployment credentials 56 | *.pubxml 57 | 58 | # code coverage 59 | .coverage 60 | .cache/ 61 | 62 | # virtual environments for testing generated by validate_packages.py 63 | py*test-*/* 64 | 65 | # pytest cache 66 | .pytest_cache/* -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: trusty 2 | sudo: required 3 | cache: pip 4 | language: python 5 | matrix: 6 | include: 7 | - os: linux 8 | python: "2.7" 9 | - os: linux 10 | python: "3.5" 11 | - os: linux 12 | python: "3.6" 13 | - os: linux 14 | python: "pypy3.5-5.8.0" 15 | - os: osx 16 | osx_image: xcode9.4 17 | language: generic 18 | allow_failures: 19 | - os: osx 20 | - python: "pypy3.5-5.8.0" 21 | fast_finish: true 22 | # Perform the manual steps on osx to install python3 and activate venv 23 | before_install: 24 | - if [[ -n "$TRAVIS_TAG" && "$TRAVIS_PYTHON_VERSION" != "3.6" ]]; then travis_terminate 0; fi; # Deploy on 3.6 25 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi 26 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python; fi 27 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python3 -m venv venv; fi 28 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source venv/bin/activate; fi 29 | install: 30 | - pip install -U pip 31 | - pip install codecov 32 | - pip install coverage 33 | - pip install -r requirements.txt 34 | - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then pip install -e azure-storage-nspkg; fi; # Would work on Python 3, but will not be installed by PyPI. Trying to be close to real life. 35 | - pip install -e azure-storage-common 36 | - pip install -e azure-storage-blob 37 | - pip install -e azure-storage-file 38 | - pip install -e azure-storage-queue 39 | script: 40 | - coverage run -m unittest discover 41 | after_success: 42 | - coverage report 43 | - codecov 44 | notifications: 45 | webhooks: 46 | urls: 47 | - https://outlook.office.com/webhook/a4aad5a1-3f32-42c8-8a5e-903446565be3@72f988bf-86f1-41af-91ab-2d7cd011db47/TravisCI/a018a63e5e994165a2a56b0dd4c62120/3d491bab-ac74-4d43-aeeb-f4b674cb5466 48 | on_success: never # default: always 49 | on_failure: always # default: always 50 | on_start: never # default: never 51 | on_cancel: always # default: always 52 | on_error: always # default: always 53 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /NOTICE.md: -------------------------------------------------------------------------------- 1 | ## NOTICE 2 | 3 | Please note that while the Storage Python SDKs (`azure-storage-blob`, `azure-storage-queue`, `azure-storage-file`, and `azure-storage-common`) 4 | are licensed under the MIT license, the SDKs have dependencies that use other types of licenses. 5 | 6 | Since Microsoft does not modify nor distribute these dependencies, it is the sole responsibility of the user to determine the correct/compliant usage of these dependencies. Please refer to the 7 | [setup.py](./azure-storage-common/setup.py#L73) for a list of the **direct** dependencies. 8 | 9 | Please also note that the SDKs depend on the `requests` package, which has a dependency `chardet` that uses LGPL license. 10 | -------------------------------------------------------------------------------- /azure-storage-blob/BreakingChanges.md: -------------------------------------------------------------------------------- 1 | # Breaking Changes azure-storage-blob 2 | 3 | > See the [Change Log](ChangeLog.md) for a summary of storage library changes. 4 | 5 | ## Version 1.0.0: 6 | 7 | - Metadata keys are now case-preserving when fetched from the service. Previously they were made lower-case by the library. 8 | -------------------------------------------------------------------------------- /azure-storage-blob/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /azure-storage-blob/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | include azure/__init__.py 3 | include azure/storage/__init__.py 4 | include LICENSE.txt 5 | -------------------------------------------------------------------------------- /azure-storage-blob/azure/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-blob/azure/storage/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-blob/azure/storage/blob/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .appendblobservice import AppendBlobService 7 | from .blockblobservice import BlockBlobService 8 | from .models import ( 9 | Container, 10 | ContainerProperties, 11 | Blob, 12 | BlobProperties, 13 | BlobBlock, 14 | BlobBlockList, 15 | PageRange, 16 | ContentSettings, 17 | CopyProperties, 18 | ContainerPermissions, 19 | BlobPermissions, 20 | _LeaseActions, 21 | AppendBlockProperties, 22 | PageBlobProperties, 23 | ResourceProperties, 24 | Include, 25 | SequenceNumberAction, 26 | BlockListType, 27 | PublicAccess, 28 | BlobPrefix, 29 | DeleteSnapshot, 30 | BatchDeleteSubRequest, 31 | BatchSetBlobTierSubRequest, 32 | BatchSubResponse, 33 | CustomerProvidedEncryptionKey, 34 | RehydratePriority, 35 | ) 36 | from .pageblobservice import PageBlobService 37 | from ._constants import __version__ 38 | -------------------------------------------------------------------------------- /azure-storage-blob/azure/storage/blob/_constants.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | __author__ = 'Microsoft Corp. ' 8 | __version__ = '2.1.0' 9 | 10 | # x-ms-version for storage service. 11 | X_MS_VERSION = '2019-02-02' 12 | 13 | # internal configurations, should not be changed 14 | _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 15 | -------------------------------------------------------------------------------- /azure-storage-blob/azure/storage/blob/_error.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | _ERROR_PAGE_BLOB_SIZE_ALIGNMENT = \ 8 | 'Invalid page blob size: {0}. ' + \ 9 | 'The size must be aligned to a 512-byte boundary.' 10 | 11 | _ERROR_PAGE_BLOB_START_ALIGNMENT = \ 12 | 'start_range must align with 512 page size' 13 | 14 | _ERROR_PAGE_BLOB_END_ALIGNMENT = \ 15 | 'end_range must align with 512 page size' 16 | 17 | _ERROR_INVALID_BLOCK_ID = \ 18 | 'All blocks in block list need to have valid block ids.' 19 | 20 | _ERROR_INVALID_LEASE_DURATION = \ 21 | "lease_duration param needs to be between 15 and 60 or -1." 22 | 23 | _ERROR_INVALID_LEASE_BREAK_PERIOD = \ 24 | "lease_break_period param needs to be between 0 and 60." 25 | 26 | _ERROR_NO_SINGLE_THREAD_CHUNKING = \ 27 | 'To use blob chunk downloader more than 1 thread must be ' + \ 28 | 'used since get_blob_to_bytes should be called for single threaded ' + \ 29 | 'blob downloads.' 30 | -------------------------------------------------------------------------------- /azure-storage-blob/setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal=1 3 | -------------------------------------------------------------------------------- /azure-storage-common/BreakingChanges.md: -------------------------------------------------------------------------------- 1 | # Breaking Changes azure-storage-common 2 | 3 | > See the [Change Log](ChangeLog.md) for a summary of storage library changes. 4 | 5 | ## Version 1.1.0: 6 | 7 | - Error message now contains the ErrorCode from the x-ms-error-code header value. 8 | 9 | ## Version 1.0.0: 10 | 11 | - Renamed the confusing argument name increment_power to increment_base on ExponentialRetry. 12 | -------------------------------------------------------------------------------- /azure-storage-common/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /azure-storage-common/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | include azure/__init__.py 3 | include azure/storage/__init__.py 4 | include LICENSE.txt 5 | -------------------------------------------------------------------------------- /azure-storage-common/azure/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-common/azure/storage/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-common/azure/storage/common/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from ._constants import ( 7 | __author__, 8 | __version__, 9 | DEFAULT_X_MS_VERSION, 10 | ) 11 | from .cloudstorageaccount import CloudStorageAccount 12 | from .models import ( 13 | RetentionPolicy, 14 | Logging, 15 | Metrics, 16 | CorsRule, 17 | DeleteRetentionPolicy, 18 | StaticWebsite, 19 | ServiceProperties, 20 | AccessPolicy, 21 | ResourceTypes, 22 | Services, 23 | AccountPermissions, 24 | Protocol, 25 | ServiceStats, 26 | GeoReplication, 27 | LocationMode, 28 | RetryContext, 29 | ) 30 | from .retry import ( 31 | ExponentialRetry, 32 | LinearRetry, 33 | no_retry, 34 | ) 35 | from .sharedaccesssignature import ( 36 | SharedAccessSignature, 37 | ) 38 | from .tokencredential import TokenCredential 39 | from ._error import AzureSigningError 40 | -------------------------------------------------------------------------------- /azure-storage-common/azure/storage/common/tokencredential.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | import requests 8 | 9 | 10 | class TokenCredential(object): 11 | """ 12 | Represents a token credential that is used to authorize HTTPS requests. 13 | The token can be updated by the user. 14 | 15 | :ivar str token: 16 | The authorization token. It can be set by the user at any point in a thread-safe way. 17 | """ 18 | 19 | def __init__(self, initial_value=None): 20 | """ 21 | :param initial_value: initial value for the token. 22 | """ 23 | self.token = initial_value 24 | 25 | def signed_session(self, session=None): 26 | """ 27 | Sign requests session with the token. This method is called every time a request is going on the wire. 28 | The user is responsible for updating the token with the preferred tool/SDK. 29 | In general there are two options: 30 | - override this method to update the token in a preferred way and set Authorization header on session 31 | - not override this method, and have a timer that triggers periodically to update the token on this class 32 | 33 | The second option is recommended as it tends to be more performance-friendly. 34 | 35 | :param session: The session to configure for authentication 36 | :type session: requests.Session 37 | :rtype: requests.Session 38 | """ 39 | session = session or requests.Session() 40 | session.headers['Authorization'] = "Bearer {}".format(self.token) 41 | 42 | return session 43 | 44 | def token(self, new_value): 45 | """ 46 | :param new_value: new value to be set as the token. 47 | """ 48 | self.token = new_value -------------------------------------------------------------------------------- /azure-storage-common/setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal=1 3 | -------------------------------------------------------------------------------- /azure-storage-file/BreakingChanges.md: -------------------------------------------------------------------------------- 1 | # Breaking Changes azure-storage-file 2 | 3 | > See the [Change Log](ChangeLog.md) for a summary of storage library changes. 4 | 5 | ## Version 1.0.0: 6 | 7 | - Metadata keys are now case-preserving when fetched from the service. Previously they were made lower-case by the library. 8 | -------------------------------------------------------------------------------- /azure-storage-file/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /azure-storage-file/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | include azure/__init__.py 3 | include azure/storage/__init__.py 4 | include LICENSE.txt 5 | -------------------------------------------------------------------------------- /azure-storage-file/azure/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-file/azure/storage/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-file/azure/storage/file/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .fileservice import FileService 7 | from .models import ( 8 | Share, 9 | ShareProperties, 10 | File, 11 | FileProperties, 12 | Directory, 13 | DirectoryProperties, 14 | FileRange, 15 | ContentSettings, 16 | CopyProperties, 17 | SharePermissions, 18 | FilePermissions, 19 | DeleteSnapshot, 20 | SMBProperties, 21 | NTFSAttributes, 22 | ) 23 | from ._constants import __version__ 24 | -------------------------------------------------------------------------------- /azure-storage-file/azure/storage/file/_constants.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | __author__ = 'Microsoft Corp. ' 8 | __version__ = '2.1.0' 9 | 10 | # x-ms-version for storage service. 11 | X_MS_VERSION = '2019-02-02' 12 | -------------------------------------------------------------------------------- /azure-storage-file/setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal=1 3 | -------------------------------------------------------------------------------- /azure-storage-nspkg/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | include azure/__init__.py 3 | include azure/storage/__init__.py 4 | -------------------------------------------------------------------------------- /azure-storage-nspkg/README.rst: -------------------------------------------------------------------------------- 1 | Microsoft Azure Storage SDK for Python 2 | ====================================== 3 | 4 | This is the Microsoft Azure Storage namespace package. 5 | 6 | This package is not intended to be installed directly by the end user. 7 | 8 | It provides the necessary files for other packages to extend the azure.storage namespace. 9 | 10 | If you are looking to install the Azure Storage libraries, see the 11 | `azure `__ bundle package. 12 | -------------------------------------------------------------------------------- /azure-storage-nspkg/azure/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-nspkg/azure/storage/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-nspkg/setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal=1 3 | -------------------------------------------------------------------------------- /azure-storage-nspkg/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # ------------------------------------------------------------------------- 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # Licensed under the MIT License. See License.txt in the project root for 6 | # license information. 7 | # -------------------------------------------------------------------------- 8 | 9 | from setuptools import setup 10 | 11 | # azure v0.x is not compatible with this package 12 | # azure v0.x used to have a __version__ attribute (newer versions don't) 13 | try: 14 | import azure 15 | 16 | try: 17 | ver = azure.__version__ 18 | raise Exception( 19 | 'This package is incompatible with azure=={}. '.format(ver) + 20 | 'Uninstall it with "pip uninstall azure".' 21 | ) 22 | except AttributeError: 23 | pass 24 | except ImportError: 25 | pass 26 | 27 | setup( 28 | name='azure-storage-nspkg', 29 | version='3.1.0', 30 | description='Microsoft Azure Storage Namespace Package [Internal]', 31 | long_description=open('README.rst', 'r').read(), 32 | license='MIT License', 33 | author='Microsoft Corporation', 34 | author_email='ascl@microsoft.com', 35 | url='https://github.com/Azure/azure-storage-python', 36 | classifiers=[ 37 | 'Development Status :: 5 - Production/Stable', 38 | 'Programming Language :: Python', 39 | 'Programming Language :: Python :: 2', 40 | 'Programming Language :: Python :: 2.7', 41 | 'Programming Language :: Python :: 3', 42 | 'Programming Language :: Python :: 3.3', 43 | 'Programming Language :: Python :: 3.4', 44 | 'Programming Language :: Python :: 3.5', 45 | 'Programming Language :: Python :: 3.6', 46 | 'Programming Language :: Python :: 3.7', 47 | 'License :: OSI Approved :: MIT License', 48 | ], 49 | zip_safe=False, 50 | packages=[ 51 | 'azure.storage', 52 | ], 53 | install_requires=[ 54 | 'azure-nspkg>=2.0.0', 55 | ] 56 | ) -------------------------------------------------------------------------------- /azure-storage-queue/BreakingChanges.md: -------------------------------------------------------------------------------- 1 | # Breaking Changes azure-storage-queue 2 | 3 | > See the [Change Log](ChangeLog.md) for a summary of storage library changes. 4 | -------------------------------------------------------------------------------- /azure-storage-queue/ChangeLog.md: -------------------------------------------------------------------------------- 1 | # Change Log azure-storage-queue 2 | 3 | > See [BreakingChanges](BreakingChanges.md) for a detailed list of API breaks. 4 | 5 | ## Version 2.1.0: 6 | 7 | - Support for 2019-02-02 REST version. No new features for Queue. 8 | 9 | ## Version 2.0.1: 10 | - Updated dependency on azure-storage-common. 11 | 12 | ## Version 2.0.0: 13 | - Support for 2018-11-09 REST version. 14 | 15 | ## Version 1.4.0: 16 | 17 | - azure-storage-nspkg is not installed anymore on Python 3 (PEP420-based namespace package) 18 | 19 | ## Version 1.3.0: 20 | 21 | - Support for 2018-03-28 REST version. Please see our REST API documentation and blog for information about the related added features. 22 | 23 | ## Version 1.2.0rc1: 24 | 25 | - Support for 2017-11-09 REST version. Please see our REST API documentation and blog for information about the related added features. 26 | - Added support for OAuth authentication for HTTPS requests(Please note that this feature is available in preview). 27 | 28 | ## Version 1.1.0: 29 | 30 | - Support for 2017-07-29 REST version. Please see our REST API documentation and blogs for information about the related added features. 31 | - Queue messages can now have an arbitrarily large or infinite time to live. 32 | - Error message now contains the ErrorCode from the x-ms-error-code header value. 33 | 34 | ## Version 1.0.0: 35 | 36 | - The package has switched from Apache 2.0 to the MIT license. 37 | -------------------------------------------------------------------------------- /azure-storage-queue/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /azure-storage-queue/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | include azure/__init__.py 3 | include azure/storage/__init__.py 4 | include LICENSE.txt 5 | -------------------------------------------------------------------------------- /azure-storage-queue/azure/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-queue/azure/storage/__init__.py: -------------------------------------------------------------------------------- 1 | __path__ = __import__('pkgutil').extend_path(__path__, __name__) -------------------------------------------------------------------------------- /azure-storage-queue/azure/storage/queue/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .models import ( 7 | Queue, 8 | QueueMessage, 9 | QueuePermissions, 10 | QueueMessageFormat, 11 | ) 12 | 13 | from .queueservice import QueueService 14 | from ._constants import __version__ 15 | -------------------------------------------------------------------------------- /azure-storage-queue/azure/storage/queue/_constants.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | __author__ = 'Microsoft Corp. ' 8 | __version__ = '2.1.0' 9 | 10 | # x-ms-version for storage service. 11 | X_MS_VERSION = '2019-02-02' 12 | -------------------------------------------------------------------------------- /azure-storage-queue/azure/storage/queue/_error.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | import sys 7 | 8 | from azure.storage.common._error import ( 9 | _validate_type_bytes, 10 | ) 11 | 12 | _ERROR_MESSAGE_SHOULD_BE_UNICODE = 'message should be of type unicode.' 13 | _ERROR_MESSAGE_SHOULD_BE_STR = 'message should be of type str.' 14 | _ERROR_MESSAGE_NOT_BASE64 = 'message is not a valid base64 value.' 15 | _ERROR_MESSAGE_NOT_ENCRYPTED = 'Message was not encrypted.' 16 | 17 | def _validate_message_type_text(param): 18 | if sys.version_info < (3,): 19 | if not isinstance(param, unicode): 20 | raise TypeError(_ERROR_MESSAGE_SHOULD_BE_UNICODE) 21 | else: 22 | if not isinstance(param, str): 23 | raise TypeError(_ERROR_MESSAGE_SHOULD_BE_STR) 24 | 25 | 26 | def _validate_message_type_bytes(param): 27 | _validate_type_bytes('message', param) 28 | -------------------------------------------------------------------------------- /azure-storage-queue/setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal=1 3 | -------------------------------------------------------------------------------- /doc/BuildDocs.bat: -------------------------------------------------------------------------------- 1 | call InstallDocDependencies.bat 2 | sphinx-apidoc -e -o .\ref ..\azure 3 | call make.bat html -------------------------------------------------------------------------------- /doc/InstallDocDependencies.bat: -------------------------------------------------------------------------------- 1 | pip install -r requirements.txt -------------------------------------------------------------------------------- /doc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/doc/__init__.py -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.appendblobservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.appendblobservice module 2 | =========================================== 3 | 4 | .. automodule:: azure.storage.blob.appendblobservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.baseblobservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.baseblobservice module 2 | ========================================= 3 | 4 | .. automodule:: azure.storage.blob.baseblobservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.blockblobservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.blockblobservice module 2 | ========================================== 3 | 4 | .. automodule:: azure.storage.blob.blockblobservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.models.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.models module 2 | ================================ 3 | 4 | .. automodule:: azure.storage.blob.models 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.pageblobservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.pageblobservice module 2 | ========================================= 3 | 4 | .. automodule:: azure.storage.blob.pageblobservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob package 2 | ========================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | .. toctree:: 8 | 9 | azure.storage.blob.appendblobservice 10 | azure.storage.blob.baseblobservice 11 | azure.storage.blob.blockblobservice 12 | azure.storage.blob.models 13 | azure.storage.blob.pageblobservice 14 | azure.storage.blob.sharedaccesssignature 15 | 16 | Module contents 17 | --------------- 18 | 19 | .. automodule:: azure.storage.blob 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.blob.sharedaccesssignature.rst: -------------------------------------------------------------------------------- 1 | azure.storage.blob.sharedaccesssignature module 2 | =============================================== 3 | 4 | .. automodule:: azure.storage.blob.sharedaccesssignature 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.common.cloudstorageaccount.rst: -------------------------------------------------------------------------------- 1 | azure.storage.common.cloudstorageaccount module 2 | =============================================== 3 | 4 | .. automodule:: azure.storage.common.cloudstorageaccount 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.common.models.rst: -------------------------------------------------------------------------------- 1 | azure.storage.common.models module 2 | ================================== 3 | 4 | .. automodule:: azure.storage.common.models 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.common.rst: -------------------------------------------------------------------------------- 1 | azure.storage.common package 2 | ============================ 3 | 4 | Submodules 5 | ---------- 6 | 7 | .. toctree:: 8 | 9 | azure.storage.common.cloudstorageaccount 10 | azure.storage.common.models 11 | azure.storage.common.sharedaccesssignature 12 | azure.storage.common.storageclient 13 | 14 | Module contents 15 | --------------- 16 | 17 | .. automodule:: azure.storage.common 18 | :members: 19 | :undoc-members: 20 | :show-inheritance: 21 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.common.sharedaccesssignature.rst: -------------------------------------------------------------------------------- 1 | azure.storage.common.sharedaccesssignature module 2 | ================================================= 3 | 4 | .. automodule:: azure.storage.common.sharedaccesssignature 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.common.storageclient.rst: -------------------------------------------------------------------------------- 1 | azure.storage.common.storageclient module 2 | ========================================= 3 | 4 | .. automodule:: azure.storage.common.storageclient 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.file.fileservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.file.fileservice module 2 | ===================================== 3 | 4 | .. automodule:: azure.storage.file.fileservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.file.models.rst: -------------------------------------------------------------------------------- 1 | azure.storage.file.models module 2 | ================================ 3 | 4 | .. automodule:: azure.storage.file.models 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.file.rst: -------------------------------------------------------------------------------- 1 | azure.storage.file package 2 | ========================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | .. toctree:: 8 | 9 | azure.storage.file.fileservice 10 | azure.storage.file.models 11 | azure.storage.file.sharedaccesssignature 12 | 13 | Module contents 14 | --------------- 15 | 16 | .. automodule:: azure.storage.file 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.file.sharedaccesssignature.rst: -------------------------------------------------------------------------------- 1 | azure.storage.file.sharedaccesssignature module 2 | =============================================== 3 | 4 | .. automodule:: azure.storage.file.sharedaccesssignature 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.queue.models.rst: -------------------------------------------------------------------------------- 1 | azure.storage.queue.models module 2 | ================================= 3 | 4 | .. automodule:: azure.storage.queue.models 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.queue.queueservice.rst: -------------------------------------------------------------------------------- 1 | azure.storage.queue.queueservice module 2 | ======================================= 3 | 4 | .. automodule:: azure.storage.queue.queueservice 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.queue.rst: -------------------------------------------------------------------------------- 1 | azure.storage.queue package 2 | =========================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | .. toctree:: 8 | 9 | azure.storage.queue.models 10 | azure.storage.queue.queueservice 11 | azure.storage.queue.sharedaccesssignature 12 | 13 | Module contents 14 | --------------- 15 | 16 | .. automodule:: azure.storage.queue 17 | :members: 18 | :undoc-members: 19 | :show-inheritance: 20 | -------------------------------------------------------------------------------- /doc/ref/azure.storage.queue.sharedaccesssignature.rst: -------------------------------------------------------------------------------- 1 | azure.storage.queue.sharedaccesssignature module 2 | ================================================ 3 | 4 | .. automodule:: azure.storage.queue.sharedaccesssignature 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /doc/ref/modules.rst: -------------------------------------------------------------------------------- 1 | azure 2 | ===== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | azure.storage.common 8 | azure.storage.blob 9 | azure.storage.file 10 | azure.storage.queue 11 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | azure-common 3 | futures;python_version<="2.7" 4 | python-dateutil 5 | requests>=2.9.2 6 | cryptography>=1.3.0 -------------------------------------------------------------------------------- /package_service_mapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "azure-storage-common": { 3 | "service_name": "Storage", 4 | "category ": "Client", 5 | "namespaces": [ 6 | "azure.storage.common" 7 | ] 8 | }, 9 | "azure-storage-blob": { 10 | "service_name": "Storage", 11 | "category ": "Client", 12 | "namespaces": [ 13 | "azure.storage.blob" 14 | ] 15 | }, 16 | "azure-storage-file": { 17 | "service_name": "Storage", 18 | "category ": "Client", 19 | "namespaces": [ 20 | "azure.storage.file" 21 | ] 22 | }, 23 | "azure-storage-queue": { 24 | "service_name": "Storage", 25 | "category ": "Client", 26 | "namespaces": [ 27 | "azure.storage.queue" 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | futures;python_version<="2.7" 2 | python-dateutil 3 | requests>=2.9.2 4 | vcrpy<2.0.0 #2.0 breaks python 3.4 5 | azure-common 6 | cryptography>=1.3.0;python_version!="3.3" 7 | cryptography<=1.9.0;python_version=="3.3" 8 | adal -------------------------------------------------------------------------------- /samples/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/samples/__init__.py -------------------------------------------------------------------------------- /samples/advanced/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .authentication import AuthenticationSamples 7 | from .client import ClientSamples 8 | -------------------------------------------------------------------------------- /samples/blob/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .append_blob_usage import AppendBlobSamples 7 | from .block_blob_usage import BlockBlobSamples 8 | from .container_usage import ContainerSamples 9 | from .encryption_usage import BlobEncryptionSamples 10 | from .page_blob_usage import PageBlobSamples 11 | from .sas_usage import BlobSasSamples 12 | -------------------------------------------------------------------------------- /samples/config.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | 7 | STORAGE_ACCOUNT_NAME = '' 8 | STORAGE_ACCOUNT_KEY = '' 9 | SAS = '' 10 | IS_EMULATED = False 11 | -------------------------------------------------------------------------------- /samples/file/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .directory_usage import DirectorySamples 7 | from .file_usage import FileSamples 8 | from .sas_usage import FileSasSamples 9 | from .share_usage import ShareSamples 10 | -------------------------------------------------------------------------------- /samples/queue/__init__.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See License.txt in the project root for 4 | # license information. 5 | # -------------------------------------------------------------------------- 6 | from .encryption_usage import QueueEncryptionSamples 7 | from .queue_usage import QueueSamples 8 | from .sas_usage import QueueSasSamples 9 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | __import__('pkg_resources').declare_namespace(__name__) 2 | -------------------------------------------------------------------------------- /tests/blob/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/tests/blob/__init__.py -------------------------------------------------------------------------------- /tests/common/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/tests/common/__init__.py -------------------------------------------------------------------------------- /tests/file/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/tests/file/__init__.py -------------------------------------------------------------------------------- /tests/queues/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/azure-storage-python/7508a7fa495b5b9a48185a8d9b750f6e22be1397/tests/queues/__init__.py -------------------------------------------------------------------------------- /tests/recordings/test_append_blob.test_append_blob_with_md5.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [AppendBlob] 9 | x-ms-client-request-id: [dc036476-71f2-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:39:09 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer6f1410d9/blob6f1410d9 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Date: ['Thu, 09 May 2019 00:39:09 GMT'] 19 | ETag: ['"0x8D6D416C051FAF1"'] 20 | Last-Modified: ['Thu, 09 May 2019 00:39:10 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-request-id: [58fba60c-d01e-0063-2eff-05890e000000] 23 | x-ms-request-server-encrypted: ['true'] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 201, message: Created} 26 | - request: 27 | body: hello world 28 | headers: 29 | Connection: [keep-alive] 30 | Content-Length: ['11'] 31 | Content-MD5: [XrY7u+Ae7tCTyyK7j1rNww==] 32 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 33 | x-ms-client-request-id: [dc234bf6-71f2-11e9-b134-acde48001122] 34 | x-ms-date: ['Thu, 09 May 2019 00:39:10 GMT'] 35 | x-ms-version: ['2018-11-09'] 36 | method: PUT 37 | uri: https://storagename.blob.core.windows.net/utcontainer6f1410d9/blob6f1410d9?comp=appendblock 38 | response: 39 | body: {string: ''} 40 | headers: 41 | Content-Length: ['0'] 42 | Content-MD5: [XrY7u+Ae7tCTyyK7j1rNww==] 43 | Date: ['Thu, 09 May 2019 00:39:09 GMT'] 44 | ETag: ['"0x8D6D416C057C8BC"'] 45 | Last-Modified: ['Thu, 09 May 2019 00:39:10 GMT'] 46 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 47 | x-ms-blob-append-offset: ['0'] 48 | x-ms-blob-committed-block-count: ['1'] 49 | x-ms-request-id: [58fba62f-d01e-0063-50ff-05890e000000] 50 | x-ms-request-server-encrypted: ['true'] 51 | x-ms-version: ['2018-11-09'] 52 | status: {code: 201, message: Created} 53 | version: 1 54 | -------------------------------------------------------------------------------- /tests/recordings/test_append_blob.test_append_block_unicode.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [AppendBlob] 9 | x-ms-client-request-id: [0841a99e-71f3-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:40:24 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer6f45110b/blob6f45110b 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Date: ['Thu, 09 May 2019 00:40:23 GMT'] 19 | ETag: ['"0x8D6D416EC83E42D"'] 20 | Last-Modified: ['Thu, 09 May 2019 00:40:24 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-request-id: [a467d6f0-601e-001c-4aff-05173c000000] 23 | x-ms-request-server-encrypted: ['true'] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 201, message: Created} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_append_blob.test_append_block_with_md5.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [AppendBlob] 9 | x-ms-client-request-id: [08b5d0bc-71f3-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:40:24 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer80a61145/blob80a61145 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Date: ['Thu, 09 May 2019 00:40:26 GMT'] 19 | ETag: ['"0x8D6D416EDE6B16C"'] 20 | Last-Modified: ['Thu, 09 May 2019 00:40:26 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-request-id: [cdab8a5d-e01e-0024-6eff-055665000000] 23 | x-ms-request-server-encrypted: ['true'] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 201, message: Created} 26 | - request: 27 | body: block 28 | headers: 29 | Connection: [keep-alive] 30 | Content-Length: ['5'] 31 | Content-MD5: [FFEfL1VkZQ0SnKfKvDMyeA==] 32 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 33 | x-ms-client-request-id: [09b7e6bc-71f3-11e9-b134-acde48001122] 34 | x-ms-date: ['Thu, 09 May 2019 00:40:26 GMT'] 35 | x-ms-version: ['2018-11-09'] 36 | method: PUT 37 | uri: https://storagename.blob.core.windows.net/utcontainer80a61145/blob80a61145?comp=appendblock 38 | response: 39 | body: {string: ''} 40 | headers: 41 | Content-Length: ['0'] 42 | Content-MD5: [FFEfL1VkZQ0SnKfKvDMyeA==] 43 | Date: ['Thu, 09 May 2019 00:40:26 GMT'] 44 | ETag: ['"0x8D6D416EDEC310B"'] 45 | Last-Modified: ['Thu, 09 May 2019 00:40:26 GMT'] 46 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 47 | x-ms-blob-append-offset: ['0'] 48 | x-ms-blob-committed-block-count: ['1'] 49 | x-ms-request-id: [cdab8a7c-e01e-0024-07ff-055665000000] 50 | x-ms-request-server-encrypted: ['true'] 51 | x-ms-version: ['2018-11-09'] 52 | status: {code: 201, message: Created} 53 | version: 1 54 | -------------------------------------------------------------------------------- /tests/recordings/test_append_blob.test_create_blob_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [AppendBlob] 9 | x-ms-client-request-id: [0b09f456-71f3-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:40:28 GMT'] 11 | x-ms-meta-hello: [world] 12 | x-ms-meta-number: ['42'] 13 | x-ms-version: ['2018-11-09'] 14 | method: PUT 15 | uri: https://storagename.blob.core.windows.net/utcontainerca521310/blobca521310 16 | response: 17 | body: {string: ''} 18 | headers: 19 | Content-Length: ['0'] 20 | Date: ['Thu, 09 May 2019 00:40:29 GMT'] 21 | ETag: ['"0x8D6D416EFF1CEA2"'] 22 | Last-Modified: ['Thu, 09 May 2019 00:40:29 GMT'] 23 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 24 | x-ms-request-id: [41b6d186-601e-0053-4dff-05d324000000] 25 | x-ms-request-server-encrypted: ['true'] 26 | x-ms-version: ['2018-11-09'] 27 | status: {code: 201, message: Created} 28 | - request: 29 | body: null 30 | headers: 31 | Connection: [keep-alive] 32 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 33 | x-ms-client-request-id: [0bc334b6-71f3-11e9-b134-acde48001122] 34 | x-ms-date: ['Thu, 09 May 2019 00:40:29 GMT'] 35 | x-ms-version: ['2018-11-09'] 36 | method: GET 37 | uri: https://storagename.blob.core.windows.net/utcontainerca521310/blobca521310?comp=metadata 38 | response: 39 | body: {string: ''} 40 | headers: 41 | Content-Length: ['0'] 42 | Date: ['Thu, 09 May 2019 00:40:29 GMT'] 43 | ETag: ['"0x8D6D416EFF1CEA2"'] 44 | Last-Modified: ['Thu, 09 May 2019 00:40:29 GMT'] 45 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 46 | Vary: [Origin] 47 | x-ms-meta-hello: [world] 48 | x-ms-meta-number: ['42'] 49 | x-ms-request-id: [41b6d1b7-601e-0053-77ff-05d324000000] 50 | x-ms-version: ['2018-11-09'] 51 | status: {code: 200, message: OK} 52 | version: 1 53 | -------------------------------------------------------------------------------- /tests/recordings/test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: !!binary | 4 | P/kEsnm5GtjsmG1ZIMyRWA== 5 | headers: 6 | Connection: [keep-alive] 7 | Content-Length: ['16'] 8 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 9 | x-ms-blob-type: [BlockBlob] 10 | x-ms-client-request-id: [7e33b20a-71f3-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 00:43:41 GMT'] 12 | x-ms-meta-encryptiondata: ['{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": 13 | "NUy4i1AF3mFLYz7/R1sRV9DyibvbW0T2vv1HAV9WXoQ2uz2SUx/yIA==", "Algorithm": 14 | "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": 15 | "AES_CBC_256"}, "ContentEncryptionIV": "Q4GoR6wDQ2RkocgehblQ6Q==", "KeyWrappingMetadata": 16 | {"EncryptionLibrary": "Python 1.4.0"}, "EncryptionMode": "FullBlob"}'] 17 | x-ms-version: ['2018-11-09'] 18 | method: PUT 19 | uri: https://storagename.blob.core.windows.net/utcontainer9237171b/encryption_block_blob9237171b 20 | response: 21 | body: {string: ''} 22 | headers: 23 | Content-Length: ['0'] 24 | Content-MD5: [EoOPeAVFyy1EPrGcu+94/g==] 25 | Date: ['Thu, 09 May 2019 00:43:41 GMT'] 26 | ETag: ['"0x8D6D4176275E952"'] 27 | Last-Modified: ['Thu, 09 May 2019 00:43:42 GMT'] 28 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 29 | x-ms-request-id: [021dba01-401e-0022-7200-06a11d000000] 30 | x-ms-request-server-encrypted: ['true'] 31 | x-ms-version: ['2018-11-09'] 32 | status: {code: 201, message: Created} 33 | version: 1 34 | -------------------------------------------------------------------------------- /tests/recordings/test_block_blob.test_create_blob_with_md5.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: hello world 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['11'] 7 | Content-MD5: [XrY7u+Ae7tCTyyK7j1rNww==] 8 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 9 | x-ms-blob-type: [BlockBlob] 10 | x-ms-client-request-id: [a4a97d20-71f3-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 00:44:46 GMT'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/utcontainer5ce71068/blob5ce71068 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Content-MD5: [XrY7u+Ae7tCTyyK7j1rNww==] 20 | Date: ['Thu, 09 May 2019 00:44:45 GMT'] 21 | ETag: ['"0x8D6D41788EB763A"'] 22 | Last-Modified: ['Thu, 09 May 2019 00:44:46 GMT'] 23 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 24 | x-ms-request-id: [1a417690-e01e-002f-3000-064e11000000] 25 | x-ms-request-server-encrypted: ['true'] 26 | x-ms-version: ['2018-11-09'] 27 | status: {code: 201, message: Created} 28 | version: 1 29 | -------------------------------------------------------------------------------- /tests/recordings/test_block_blob.test_put_block_unicode.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [BlockBlob] 9 | x-ms-client-request-id: [ae75541e-71f3-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:45:02 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer2e5a0f7f/blob2e5a0f7f 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Content-MD5: [1B2M2Y8AsgTpgAmY7PhCfg==] 19 | Date: ['Thu, 09 May 2019 00:45:02 GMT'] 20 | ETag: ['"0x8D6D41792C20C7C"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:45:03 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [d4fec4ce-d01e-0005-1000-063b54000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | version: 1 28 | -------------------------------------------------------------------------------- /tests/recordings/test_block_blob.test_put_block_with_md5.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [BlockBlob] 9 | x-ms-client-request-id: [af381f1c-71f3-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:45:04 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer3e2f0fb9/blob3e2f0fb9 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Content-MD5: [1B2M2Y8AsgTpgAmY7PhCfg==] 19 | Date: ['Thu, 09 May 2019 00:45:04 GMT'] 20 | ETag: ['"0x8D6D4179379F0D5"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:45:04 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [84166ed0-b01e-0037-2600-066384000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | - request: 28 | body: block 29 | headers: 30 | Connection: [keep-alive] 31 | Content-Length: ['5'] 32 | Content-MD5: [FFEfL1VkZQ0SnKfKvDMyeA==] 33 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 34 | x-ms-client-request-id: [af4bba68-71f3-11e9-b134-acde48001122] 35 | x-ms-date: ['Thu, 09 May 2019 00:45:04 GMT'] 36 | x-ms-version: ['2018-11-09'] 37 | method: PUT 38 | uri: https://storagename.blob.core.windows.net/utcontainer3e2f0fb9/blob3e2f0fb9?comp=block&blockid=MQ%3D%3D 39 | response: 40 | body: {string: ''} 41 | headers: 42 | Content-Length: ['0'] 43 | Content-MD5: [FFEfL1VkZQ0SnKfKvDMyeA==] 44 | Date: ['Thu, 09 May 2019 00:45:04 GMT'] 45 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 46 | x-ms-request-id: [84166ee1-b01e-0037-3500-066384000000] 47 | x-ms-request-server-encrypted: ['true'] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 201, message: Created} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_client.test_response_callback.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [89ba1b72-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:26:58 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.blob.core.windows.net/contf4c30de7?restype=container 12 | response: 13 | body: {string: "\uFEFFContainerNotFoundThe\ 14 | \ specified container does not exist.\nRequestId:b5ada985-501e-005b-6c06-06c857000000\n\ 15 | Time:2019-05-09T01:26:59.1150040Z"} 16 | headers: 17 | Content-Length: ['225'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:26:58 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | Vary: [Origin] 22 | x-ms-error-code: [ContainerNotFound] 23 | x-ms-request-id: [b5ada985-501e-005b-6c06-06c857000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified container does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_blob_container_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [28ffbc10-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:48:28 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.blob.core.windows.net/containerce1c1364/blobce1c1364 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Date: ['Thu, 09 May 2019 00:48:28 GMT'] 16 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 17 | Transfer-Encoding: [chunked] 18 | Vary: [Origin] 19 | x-ms-error-code: [ContainerNotFound] 20 | x-ms-request-id: [eaa3277a-a01e-0001-4600-06ced6000000] 21 | x-ms-version: ['2018-11-09'] 22 | status: {code: 404, message: The specified container does not exist.} 23 | version: 1 24 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_blob_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [2a5fa296-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:48:30 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.blob.core.windows.net/utcontainer20760f42/blob20760f42 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Date: ['Thu, 09 May 2019 00:48:30 GMT'] 16 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 17 | Transfer-Encoding: [chunked] 18 | Vary: [Origin] 19 | x-ms-error-code: [BlobNotFound] 20 | x-ms-request-id: [1a445bcf-e01e-002f-3900-064e11000000] 21 | x-ms-version: ['2018-11-09'] 22 | status: {code: 404, message: The specified blob does not exist.} 23 | version: 1 24 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_create_blob_blob_unicode_data.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['26'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [BlockBlob] 9 | x-ms-client-request-id: [b7cca3fe-71f4-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:52:28 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainer1c0014a3/blob1c0014a3 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Content-MD5: [aFkhSeVIRnJoB2MmKjC25w==] 19 | Date: ['Thu, 09 May 2019 00:52:27 GMT'] 20 | ETag: ['"0x8D6D4189C0CE81E"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:52:28 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [8d149262-901e-0046-2e01-0611bd000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | version: 1 28 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_create_blob_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: hello world 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['11'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [BlockBlob] 9 | x-ms-client-request-id: [b8e6c4fe-71f4-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:52:29 GMT'] 11 | x-ms-meta-hello: [world] 12 | x-ms-meta-number: ['42'] 13 | x-ms-version: ['2018-11-09'] 14 | method: PUT 15 | uri: https://storagename.blob.core.windows.net/utcontainerccd51321/blobccd51321 16 | response: 17 | body: {string: ''} 18 | headers: 19 | Content-Length: ['0'] 20 | Content-MD5: [XrY7u+Ae7tCTyyK7j1rNww==] 21 | Date: ['Thu, 09 May 2019 00:52:29 GMT'] 22 | ETag: ['"0x8D6D4189D283A9A"'] 23 | Last-Modified: ['Thu, 09 May 2019 00:52:30 GMT'] 24 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 25 | x-ms-request-id: [9d1cf519-301e-0040-0201-06e6c5000000] 26 | x-ms-request-server-encrypted: ['true'] 27 | x-ms-version: ['2018-11-09'] 28 | status: {code: 201, message: Created} 29 | - request: 30 | body: null 31 | headers: 32 | Connection: [keep-alive] 33 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 34 | x-ms-client-request-id: [b8fb3010-71f4-11e9-b134-acde48001122] 35 | x-ms-date: ['Thu, 09 May 2019 00:52:30 GMT'] 36 | x-ms-version: ['2018-11-09'] 37 | method: GET 38 | uri: https://storagename.blob.core.windows.net/utcontainerccd51321/blobccd51321?comp=metadata 39 | response: 40 | body: {string: ''} 41 | headers: 42 | Content-Length: ['0'] 43 | Date: ['Thu, 09 May 2019 00:52:29 GMT'] 44 | ETag: ['"0x8D6D4189D283A9A"'] 45 | Last-Modified: ['Thu, 09 May 2019 00:52:30 GMT'] 46 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 47 | Vary: [Origin] 48 | x-ms-meta-hello: [world] 49 | x-ms-meta-number: ['42'] 50 | x-ms-request-id: [9d1cf54d-301e-0040-3001-06e6c5000000] 51 | x-ms-version: ['2018-11-09'] 52 | status: {code: 200, message: OK} 53 | version: 1 54 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_delete_blob_with_non_existing_blob.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [bf9f04f0-71f4-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:52:41 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.blob.core.windows.net/utcontainer8d2416f2/blob8d2416f2 13 | response: 14 | body: {string: "\uFEFFBlobNotFoundThe\ 15 | \ specified blob does not exist.\nRequestId:725db27b-001e-000c-4201-0621da000000\n\ 16 | Time:2019-05-09T00:52:41.3124480Z"} 17 | headers: 18 | Content-Length: ['215'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 00:52:41 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [BlobNotFound] 23 | x-ms-request-id: [725db27b-001e-000c-4201-0621da000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified blob does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_get_account_information.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [c067b1c0-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:52:42 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.blob.core.windows.net/?restype=account&comp=properties 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Content-Length: ['0'] 16 | Date: ['Thu, 09 May 2019 00:52:41 GMT'] 17 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 18 | Vary: [Origin] 19 | x-ms-account-kind: [StorageV2] 20 | x-ms-request-id: [0224f48a-401e-0022-7301-06a11d000000] 21 | x-ms-sku-name: [Standard_RAGRS] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_get_account_information_with_blob_name.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [c0f04f30-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:52:43 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.blob.core.windows.net/missing/missing?restype=account&comp=properties 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Content-Length: ['0'] 16 | Date: ['Thu, 09 May 2019 00:52:42 GMT'] 17 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 18 | Vary: [Origin] 19 | x-ms-account-kind: [StorageV2] 20 | x-ms-request-id: [f131dc81-d01e-000e-2701-062320000000] 21 | x-ms-sku-name: [Standard_RAGRS] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_get_account_information_with_container_name.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [c1458216-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:52:44 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.blob.core.windows.net/missing?restype=account&comp=properties 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Content-Length: ['0'] 16 | Date: ['Thu, 09 May 2019 00:52:43 GMT'] 17 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 18 | Vary: [Origin] 19 | x-ms-account-kind: [StorageV2] 20 | x-ms-request-id: [378bfa4d-f01e-0030-5301-069501000000] 21 | x-ms-sku-name: [Standard_RAGRS] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_common_blob.test_get_blob_with_non_existing_blob.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [ca9955cc-71f4-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:52:59 GMT'] 9 | x-ms-range: [bytes=0-33554431] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.blob.core.windows.net/utcontainer4aaa15bf/blob4aaa15bf 13 | response: 14 | body: {string: "\uFEFFBlobNotFoundThe\ 15 | \ specified blob does not exist.\nRequestId:3b6767a4-101e-005c-7b01-063ed2000000\n\ 16 | Time:2019-05-09T00:52:59.7513148Z"} 17 | headers: 18 | Content-Length: ['215'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 00:52:59 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | Vary: [Origin] 23 | x-ms-error-code: [BlobNotFound] 24 | x-ms-request-id: [3b6767a4-101e-005c-7b01-063ed2000000] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 404, message: The specified blob does not exist.} 27 | version: 1 28 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_container_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4a63ddfe-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:34 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/container12fe0ef2?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:33 GMT'] 18 | ETag: ['"0x8D6D4192EABCBEF"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:34 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [853fe4c5-101e-0013-1102-06faca000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 29 | x-ms-client-request-id: [4a7ab722-71f5-11e9-b134-acde48001122] 30 | x-ms-date: ['Thu, 09 May 2019 00:56:34 GMT'] 31 | x-ms-version: ['2018-11-09'] 32 | method: GET 33 | uri: https://storagename.blob.core.windows.net/container12fe0ef2?restype=container 34 | response: 35 | body: {string: ''} 36 | headers: 37 | Content-Length: ['0'] 38 | Date: ['Thu, 09 May 2019 00:56:33 GMT'] 39 | ETag: ['"0x8D6D4192EABCBEF"'] 40 | Last-Modified: ['Thu, 09 May 2019 00:56:34 GMT'] 41 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 42 | Vary: [Origin] 43 | x-ms-has-immutability-policy: ['false'] 44 | x-ms-has-legal-hold: ['false'] 45 | x-ms-lease-state: [available] 46 | x-ms-lease-status: [unlocked] 47 | x-ms-request-id: [853fe4da-101e-0013-2402-06faca000000] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 200, message: OK} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_container_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [4b293996-71f5-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:56:35 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.blob.core.windows.net/container52b210a2?restype=container 12 | response: 13 | body: {string: "\uFEFFContainerNotFoundThe\ 14 | \ specified container does not exist.\nRequestId:1f3626ab-001e-0061-4b02-068bf4000000\n\ 15 | Time:2019-05-09T00:56:35.4515963Z"} 16 | headers: 17 | Content-Length: ['225'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 00:56:35 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | Vary: [Origin] 22 | x-ms-error-code: [ContainerNotFound] 23 | x-ms-request-id: [1f3626ab-001e-0061-4b02-068bf4000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified container does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4ce40d06-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:38 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/container11d00ec6?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:37 GMT'] 18 | ETag: ['"0x8D6D4193127EE88"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:38 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [853ff18e-101e-0013-7502-06faca000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container_fail_on_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4d0b8462-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:38 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/containerad31489?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:38 GMT'] 18 | ETag: ['"0x8D6D41931C0E1BF"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:39 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [7aa0d531-b01e-0051-7002-06d1de000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container_with_already_existing_container.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4da745dc-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:39 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/containerc5151c0e?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:38 GMT'] 18 | ETag: ['"0x8D6D41931EBC0E0"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:39 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [eaaa251f-a01e-0001-4402-06ced6000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [4dbaa708-71f5-11e9-b134-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 00:56:39 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: PUT 34 | uri: https://storagename.blob.core.windows.net/containerc5151c0e?restype=container 35 | response: 36 | body: {string: "\uFEFFContainerAlreadyExistsThe\ 37 | \ specified container already exists.\nRequestId:eaaa253b-a01e-0001-5d02-06ced6000000\n\ 38 | Time:2019-05-09T00:56:39.6659035Z"} 39 | headers: 40 | Content-Length: ['230'] 41 | Content-Type: [application/xml] 42 | Date: ['Thu, 09 May 2019 00:56:38 GMT'] 43 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 44 | x-ms-error-code: [ContainerAlreadyExists] 45 | x-ms-request-id: [eaaa253b-a01e-0001-5d02-06ced6000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 409, message: The specified container already exists.} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container_with_already_existing_container_fail_on_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4dd3e6fa-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:39 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/container781721d1?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:39 GMT'] 18 | ETag: ['"0x8D6D419323F8026"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:40 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [555389d5-201e-0054-5902-0625a1000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [4e0e83dc-71f5-11e9-b134-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 00:56:40 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: PUT 34 | uri: https://storagename.blob.core.windows.net/container781721d1?restype=container 35 | response: 36 | body: {string: "\uFEFFContainerAlreadyExistsThe\ 37 | \ specified container already exists.\nRequestId:555389f8-201e-0054-7902-0625a1000000\n\ 38 | Time:2019-05-09T00:56:40.2167507Z"} 39 | headers: 40 | Content-Length: ['230'] 41 | Content-Type: [application/xml] 42 | Date: ['Thu, 09 May 2019 00:56:39 GMT'] 43 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 44 | x-ms-error-code: [ContainerAlreadyExists] 45 | x-ms-request-id: [555389f8-201e-0054-7902-0625a1000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 409, message: The specified container already exists.} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [4e279a48-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:40 GMT'] 10 | x-ms-meta-hello: [world] 11 | x-ms-meta-number: ['42'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/containerc031481?restype=container 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 00:56:39 GMT'] 20 | ETag: ['"0x8D6D419326BA3F5"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:56:40 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [55538a93-201e-0054-0402-0625a1000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 201, message: Created} 26 | - request: 27 | body: null 28 | headers: 29 | Connection: [keep-alive] 30 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 31 | x-ms-client-request-id: [4e3aa03e-71f5-11e9-b134-acde48001122] 32 | x-ms-date: ['Thu, 09 May 2019 00:56:40 GMT'] 33 | x-ms-version: ['2018-11-09'] 34 | method: GET 35 | uri: https://storagename.blob.core.windows.net/containerc031481?restype=container&comp=metadata 36 | response: 37 | body: {string: ''} 38 | headers: 39 | Content-Length: ['0'] 40 | Date: ['Thu, 09 May 2019 00:56:39 GMT'] 41 | ETag: ['"0x8D6D419326BA3F5"'] 42 | Last-Modified: ['Thu, 09 May 2019 00:56:40 GMT'] 43 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 44 | Vary: [Origin] 45 | x-ms-meta-hello: [world] 46 | x-ms-meta-number: ['42'] 47 | x-ms-request-id: [55538aab-201e-0054-1b02-0625a1000000] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 200, message: OK} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_create_container_with_public_access_container.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-public-access: [container] 9 | x-ms-client-request-id: [4ecfd316-71f5-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:56:41 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/container70e51ab2?restype=container 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Date: ['Thu, 09 May 2019 00:56:41 GMT'] 19 | ETag: ['"0x8D6D41933567A70"'] 20 | Last-Modified: ['Thu, 09 May 2019 00:56:42 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-request-id: [853ffd82-101e-0013-3202-06faca000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | - request: 26 | body: null 27 | headers: 28 | Connection: [keep-alive] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [4f2595da-71f5-11e9-b134-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 00:56:42 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: GET 34 | uri: https://storagename.blob.core.windows.net/container70e51ab2?restype=container&comp=list 35 | response: 36 | body: {string: "\uFEFF"} 39 | headers: 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 00:56:42 GMT'] 42 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 43 | Transfer-Encoding: [chunked] 44 | Vary: [Origin] 45 | x-ms-request-id: [378e2108-f01e-0030-2402-069501000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 200, message: OK} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_delete_container_with_non_existing_container.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [51c60b26-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:46 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.blob.core.windows.net/container58dc1a76?restype=container 13 | response: 14 | body: {string: "\uFEFFContainerNotFoundThe\ 15 | \ specified container does not exist.\nRequestId:b45d5c29-901e-0009-1b02-06d5a5000000\n\ 16 | Time:2019-05-09T00:56:46.5467055Z"} 17 | headers: 18 | Content-Length: ['225'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 00:56:45 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ContainerNotFound] 23 | x-ms-request-id: [b45d5c29-901e-0009-1b02-06d5a5000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified container does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_delete_container_with_non_existing_container_fail_not_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [5214a4ac-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:46 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.blob.core.windows.net/container166620ad?restype=container 13 | response: 14 | body: {string: "\uFEFFContainerNotFoundThe\ 15 | \ specified container does not exist.\nRequestId:02283752-401e-0022-1202-06a11d000000\n\ 16 | Time:2019-05-09T00:56:47.0744516Z"} 17 | headers: 18 | Content-Length: ['225'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 00:56:46 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ContainerNotFound] 23 | x-ms-request-id: [02283752-401e-0022-1202-06a11d000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified container does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_get_container_acl.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [52f34db0-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:56:48 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/container21340f21?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:56:49 GMT'] 18 | ETag: ['"0x8D6D41937C7A6B6"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:56:49 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [d508b6ca-d01e-0005-6202-063b54000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 29 | x-ms-client-request-id: [5396b176-71f5-11e9-b134-acde48001122] 30 | x-ms-date: ['Thu, 09 May 2019 00:56:49 GMT'] 31 | x-ms-version: ['2018-11-09'] 32 | method: GET 33 | uri: https://storagename.blob.core.windows.net/container21340f21?restype=container&comp=acl 34 | response: 35 | body: {string: "\uFEFF"} 37 | headers: 38 | Content-Type: [application/xml] 39 | Date: ['Thu, 09 May 2019 00:56:49 GMT'] 40 | ETag: ['"0x8D6D41937C7A6B6"'] 41 | Last-Modified: ['Thu, 09 May 2019 00:56:49 GMT'] 42 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 43 | Transfer-Encoding: [chunked] 44 | Vary: [Origin] 45 | x-ms-request-id: [d508b6f1-d01e-0005-0402-063b54000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 200, message: OK} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_lease_container_with_proposed_lease_id.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [74395384-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:57:44 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/containerc09017d7?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:57:43 GMT'] 18 | ETag: ['"0x8D6D4195880509E"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:57:44 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [abb60baa-901e-0020-3702-06a3e7000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [744f6a34-71f5-11e9-b134-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 00:57:44 GMT'] 32 | x-ms-lease-action: [acquire] 33 | x-ms-lease-duration: ['-1'] 34 | x-ms-proposed-lease-id: [55e97f64-73e8-4390-838d-d9e84a374321] 35 | x-ms-version: ['2018-11-09'] 36 | method: PUT 37 | uri: https://storagename.blob.core.windows.net/containerc09017d7?restype=container&comp=lease 38 | response: 39 | body: {string: ''} 40 | headers: 41 | Content-Length: ['0'] 42 | Date: ['Thu, 09 May 2019 00:57:43 GMT'] 43 | ETag: ['"0x8D6D4195880509E"'] 44 | Last-Modified: ['Thu, 09 May 2019 00:57:44 GMT'] 45 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 46 | x-ms-lease-id: [55e97f64-73e8-4390-838d-d9e84a374321] 47 | x-ms-request-id: [abb60bd3-901e-0020-5b02-06a3e7000000] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 201, message: Created} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_set_container_acl_too_many_ids.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [827c49c4-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:58:08 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/containercff1491?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 00:58:07 GMT'] 18 | ETag: ['"0x8D6D41966BFD71A"'] 19 | Last-Modified: ['Thu, 09 May 2019 00:58:08 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [7aa21f42-b01e-0051-3c02-06d1de000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_set_container_metadata_with_non_existing_container.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8783ae12-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:58:16 GMT'] 10 | x-ms-meta-hello: [world] 11 | x-ms-meta-number: ['43'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/containerd41cef?restype=container&comp=metadata 15 | response: 16 | body: {string: "\uFEFFContainerNotFoundThe\ 17 | \ specified container does not exist.\nRequestId:b7d37bfc-d01e-004a-6502-06ff4c000000\n\ 18 | Time:2019-05-09T00:58:16.7252026Z"} 19 | headers: 20 | Content-Length: ['225'] 21 | Content-Type: [application/xml] 22 | Date: ['Thu, 09 May 2019 00:58:16 GMT'] 23 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 24 | x-ms-error-code: [ContainerNotFound] 25 | x-ms-request-id: [b7d37bfc-d01e-004a-6502-06ff4c000000] 26 | x-ms-version: ['2018-11-09'] 27 | status: {code: 404, message: The specified container does not exist.} 28 | version: 1 29 | -------------------------------------------------------------------------------- /tests/recordings/test_container.test_unicode_create_container_unicode_name.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [87b0f124-71f5-11e9-b134-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 00:58:16 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C?restype=container 13 | response: 14 | body: {string: "\uFEFFInvalidResourceNameThe\ 15 | \ specifed resource name contains invalid characters.\nRequestId:1c1773e7-801e-0059-0b02-06caad000000\n\ 16 | Time:2019-05-09T00:58:17.3932565Z"} 17 | headers: 18 | Content-Length: ['243'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 00:58:16 GMT'] 21 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [InvalidResourceName] 23 | x-ms-request-id: [1c1773e7-801e-0059-0b02-06caad000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 400, message: The specifed resource name contains invalid characters.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_create_directories.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [7232efb6-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:09 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/utshare32270fb2/dir1?restype=directory 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:09 GMT'] 18 | ETag: ['"0x8D6D41C56796B90"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:19:09 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [5ba03b6d-101a-005c-7105-063ed2000000] 22 | x-ms-request-server-encrypted: ['true'] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_create_directories_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [73ba5752-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:11 GMT'] 10 | x-ms-meta-hello: [world] 11 | x-ms-meta-number: ['42'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.file.core.windows.net/utshare3942156d/dir1?restype=directory 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 01:19:11 GMT'] 20 | ETag: ['"0x8D6D41C57FF8146"'] 21 | Last-Modified: ['Thu, 09 May 2019 01:19:12 GMT'] 22 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [1cd0fa21-a01a-000a-0705-06d6a2000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | - request: 28 | body: null 29 | headers: 30 | Connection: [keep-alive] 31 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 32 | x-ms-client-request-id: [73d1dd14-71f8-11e9-b82c-acde48001122] 33 | x-ms-date: ['Thu, 09 May 2019 01:19:12 GMT'] 34 | x-ms-version: ['2018-11-09'] 35 | method: GET 36 | uri: https://storagename.file.core.windows.net/utshare3942156d/dir1?restype=directory&comp=metadata 37 | response: 38 | body: {string: ''} 39 | headers: 40 | Content-Length: ['0'] 41 | Date: ['Thu, 09 May 2019 01:19:11 GMT'] 42 | ETag: ['"0x8D6D41C57FF8146"'] 43 | Last-Modified: ['Thu, 09 May 2019 01:19:12 GMT'] 44 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 45 | x-ms-meta-hello: [world] 46 | x-ms-meta-number: ['42'] 47 | x-ms-request-id: [1cd0fa23-a01a-000a-0805-06d6a2000000] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 200, message: OK} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_delete_directory_with_non_existing_directory.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [761624cc-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:15 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.file.core.windows.net/utshare5e371aac/dir1?restype=directory 13 | response: 14 | body: {string: "\uFEFFResourceNotFoundThe\ 15 | \ specified resource does not exist.\nRequestId:d065d653-d01a-0005-3c05-063b54000000\n\ 16 | Time:2019-05-09T01:19:16.0045409Z"} 17 | headers: 18 | Content-Length: ['223'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:19:15 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ResourceNotFound] 23 | x-ms-request-id: [d065d653-d01a-0005-3c05-063b54000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified resource does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_delete_directory_with_non_existing_directory_fail_not_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [768a3d58-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:16 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.file.core.windows.net/utshare1eeb20e3/dir1?restype=directory 13 | response: 14 | body: {string: "\uFEFFResourceNotFoundThe\ 15 | \ specified resource does not exist.\nRequestId:f21afdf1-a01a-0045-4005-0612ba000000\n\ 16 | Time:2019-05-09T01:19:16.8523138Z"} 17 | headers: 18 | Content-Length: ['223'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:19:16 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ResourceNotFound] 23 | x-ms-request-id: [f21afdf1-a01a-0045-4005-0612ba000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified resource does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_directory_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [76ef32a8-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:17 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/utshare14f20f16/dir1?restype=directory 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:16 GMT'] 18 | ETag: ['"0x8D6D41C5B33622E"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:19:17 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [9cee5e4d-801a-0034-4b05-066083000000] 22 | x-ms-request-server-encrypted: ['true'] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | - request: 26 | body: null 27 | headers: 28 | Connection: [keep-alive] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [77059ee4-71f8-11e9-b82c-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:19:17 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: GET 34 | uri: https://storagename.file.core.windows.net/utshare14f20f16/dir1?restype=directory 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:19:16 GMT'] 40 | ETag: ['"0x8D6D41C5B33622E"'] 41 | Last-Modified: ['Thu, 09 May 2019 01:19:17 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-request-id: [9cee5e4f-801a-0034-4c05-066083000000] 44 | x-ms-server-encrypted: ['true'] 45 | x-ms-version: ['2018-11-09'] 46 | status: {code: 200, message: OK} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_directory_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [77a17594-71f8-11e9-b82c-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:18 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/utshare553610c6/missing?restype=directory 12 | response: 13 | body: {string: "\uFEFFResourceNotFoundThe\ 14 | \ specified resource does not exist.\nRequestId:ca77e83a-e01a-0060-2a05-068a09000000\n\ 15 | Time:2019-05-09T01:19:18.5685414Z"} 16 | headers: 17 | Content-Length: ['223'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:17 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [ResourceNotFound] 22 | x-ms-request-id: [ca77e83a-e01a-0060-2a05-068a09000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 404, message: The specified resource does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_directory_parent_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [784a43ae-71f8-11e9-b82c-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:19 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/utshared53f13af/missing1/missing2?restype=directory 12 | response: 13 | body: {string: "\uFEFFParentNotFoundThe\ 14 | \ specified parent path does not exist.\nRequestId:01517a33-701a-004c-4a05-060834000000\n\ 15 | Time:2019-05-09T01:19:19.6861907Z"} 16 | headers: 17 | Content-Length: ['224'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:19 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [ParentNotFound] 22 | x-ms-request-id: [01517a33-701a-004c-4a05-060834000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 404, message: The specified parent path does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_get_directory_properties.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [7921cfe0-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:20 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/utshare9b0c1262/dir1?restype=directory 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:20 GMT'] 18 | ETag: ['"0x8D6D41C5D62D9CA"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:19:21 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [959c40fb-101a-0057-7305-0626a6000000] 22 | x-ms-request-server-encrypted: ['true'] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | - request: 26 | body: null 27 | headers: 28 | Connection: [keep-alive] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [79350cf4-71f8-11e9-b82c-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:19:21 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: GET 34 | uri: https://storagename.file.core.windows.net/utshare9b0c1262/dir1?restype=directory 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:19:20 GMT'] 40 | ETag: ['"0x8D6D41C5D62D9CA"'] 41 | Last-Modified: ['Thu, 09 May 2019 01:19:21 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-request-id: [959c40fc-101a-0057-7405-0626a6000000] 44 | x-ms-server-encrypted: ['true'] 45 | x-ms-version: ['2018-11-09'] 46 | status: {code: 200, message: OK} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_get_directory_properties_server_encryption.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [79654c2a-71f8-11e9-b82c-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:21 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/utshare2dc21a02/dir1?restype=directory 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:20 GMT'] 18 | ETag: ['"0x8D6D41C5DA942E2"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:19:21 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [d065d66b-d01a-0005-4805-063b54000000] 22 | x-ms-request-server-encrypted: ['true'] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | - request: 26 | body: null 27 | headers: 28 | Connection: [keep-alive] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [797fed82-71f8-11e9-b82c-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:19:21 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: GET 34 | uri: https://storagename.file.core.windows.net/utshare2dc21a02/dir1?restype=directory 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:19:20 GMT'] 40 | ETag: ['"0x8D6D41C5DA942E2"'] 41 | Last-Modified: ['Thu, 09 May 2019 01:19:21 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-request-id: [d065d66c-d01a-0005-4905-063b54000000] 44 | x-ms-server-encrypted: ['true'] 45 | x-ms-version: ['2018-11-09'] 46 | status: {code: 200, message: OK} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_directory.test_get_directory_properties_with_non_existing_directory.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [7a04ae6e-71f8-11e9-b82c-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:22 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/utshare47651e25/dir1?restype=directory 12 | response: 13 | body: {string: "\uFEFFResourceNotFoundThe\ 14 | \ specified resource does not exist.\nRequestId:acb99eeb-001a-0025-6305-065798000000\n\ 15 | Time:2019-05-09T01:19:22.5314374Z"} 16 | headers: 17 | Content-Length: ['223'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:22 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [ResourceNotFound] 22 | x-ms-request-id: [acb99eeb-001a-0025-6305-065798000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 404, message: The specified resource does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_create_file_with_invalid_file_permission.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: 6 | - keep-alive 7 | Content-Length: 8 | - '0' 9 | User-Agent: 10 | - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.3; Windows 10) 11 | x-ms-client-request-id: 12 | - d3579c06-a732-11e9-b3c4-001a7dda7113 13 | x-ms-content-length: 14 | - '1024' 15 | x-ms-date: 16 | - Mon, 15 Jul 2019 19:00:34 GMT 17 | x-ms-file-attributes: 18 | - Archive 19 | x-ms-file-creation-time: 20 | - '2019-07-15T19:00:34.7448320Z' 21 | x-ms-file-last-write-time: 22 | - '2019-07-15T19:00:34.7448320Z' 23 | x-ms-file-permission: 24 | - abcde 25 | x-ms-type: 26 | - file 27 | x-ms-version: 28 | - '2019-02-02' 29 | method: PUT 30 | uri: https://storagename.file.core.windows.net/utshare725b1688/file725b1688 31 | response: 32 | body: 33 | string: "\uFEFFFileInvalidPermissionThe 34 | specified file permission is not valid.\nRequestId:f044e5f5-201a-0011-173f-3b088f000000\nTime:2019-07-15T19:00:35.0308204Z" 35 | headers: 36 | Content-Length: 37 | - '233' 38 | Content-Type: 39 | - application/xml 40 | Date: 41 | - Mon, 15 Jul 2019 19:00:34 GMT 42 | Server: 43 | - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 44 | x-ms-client-request-id: 45 | - d3579c06-a732-11e9-b3c4-001a7dda7113 46 | x-ms-error-code: 47 | - FileInvalidPermission 48 | x-ms-request-id: 49 | - f044e5f5-201a-0011-173f-3b088f000000 50 | x-ms-version: 51 | - '2019-02-02' 52 | status: 53 | code: 400 54 | message: The specified file permission is not valid. 55 | version: 1 56 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_create_file_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8113046a-71fa-11e9-b3e1-acde48001122] 9 | x-ms-content-length: ['1024'] 10 | x-ms-date: ['Thu, 09 May 2019 01:33:53 GMT'] 11 | x-ms-meta-hello: [world] 12 | x-ms-meta-number: ['42'] 13 | x-ms-type: [file] 14 | x-ms-version: ['2018-11-09'] 15 | method: PUT 16 | uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b 17 | response: 18 | body: {string: ''} 19 | headers: 20 | Content-Length: ['0'] 21 | Date: ['Thu, 09 May 2019 01:33:53 GMT'] 22 | ETag: ['"0x8D6D41E655748B3"'] 23 | Last-Modified: ['Thu, 09 May 2019 01:33:53 GMT'] 24 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 25 | x-ms-request-id: [18f70a3d-a01a-0001-4107-06ced6000000] 26 | x-ms-request-server-encrypted: ['true'] 27 | x-ms-version: ['2018-11-09'] 28 | status: {code: 201, message: Created} 29 | - request: 30 | body: null 31 | headers: 32 | Connection: [keep-alive] 33 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 34 | x-ms-client-request-id: [81276f9a-71fa-11e9-b3e1-acde48001122] 35 | x-ms-date: ['Thu, 09 May 2019 01:33:53 GMT'] 36 | x-ms-version: ['2018-11-09'] 37 | method: GET 38 | uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b?comp=metadata 39 | response: 40 | body: {string: ''} 41 | headers: 42 | Content-Length: ['0'] 43 | Date: ['Thu, 09 May 2019 01:33:53 GMT'] 44 | ETag: ['"0x8D6D41E655748B3"'] 45 | Last-Modified: ['Thu, 09 May 2019 01:33:53 GMT'] 46 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 47 | x-ms-meta-hello: [world] 48 | x-ms-meta-number: ['42'] 49 | x-ms-request-id: [18f70a3e-a01a-0001-4207-06ced6000000] 50 | x-ms-version: ['2018-11-09'] 51 | status: {code: 200, message: OK} 52 | version: 1 53 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_delete_file_with_non_existing_file.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [81ef715c-71fa-11e9-b3e1-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:33:54 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.file.core.windows.net/utsharef2f4140d/filef2f4140d 13 | response: 14 | body: {string: "\uFEFFResourceNotFoundThe\ 15 | \ specified resource does not exist.\nRequestId:88125b09-e01a-0024-3107-065665000000\n\ 16 | Time:2019-05-09T01:33:55.1155073Z"} 17 | headers: 18 | Content-Length: ['223'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:33:54 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ResourceNotFound] 23 | x-ms-request-id: [88125b09-e01a-0024-3107-065665000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified resource does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_file_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [833c0372-71fa-11e9-b3e1-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:33:56 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.file.core.windows.net/utsharebd5b0c5c/missingdir/filebd5b0c5c 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Date: ['Thu, 09 May 2019 01:33:56 GMT'] 16 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 17 | Transfer-Encoding: [chunked] 18 | x-ms-error-code: [ParentNotFound] 19 | x-ms-request-id: [a5648be6-301a-0062-5107-0688f3000000] 20 | x-ms-version: ['2018-11-09'] 21 | status: {code: 404, message: The specified parent path does not exist.} 22 | version: 1 23 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_get_file_properties_with_non_existing_file.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [863531c0-71fa-11e9-b3e1-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:34:01 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.file.core.windows.net/utsharea6d51786/filea6d51786 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Date: ['Thu, 09 May 2019 01:34:01 GMT'] 16 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 17 | Transfer-Encoding: [chunked] 18 | x-ms-error-code: [ResourceNotFound] 19 | x-ms-request-id: [0198be36-901a-0046-1a07-0611bd000000] 20 | x-ms-version: ['2018-11-09'] 21 | status: {code: 404, message: The specified resource does not exist.} 22 | version: 1 23 | -------------------------------------------------------------------------------- /tests/recordings/test_file.test_list_ranges_none.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8817dd44-71fa-11e9-b3e1-acde48001122] 9 | x-ms-content-length: ['1024'] 10 | x-ms-date: ['Thu, 09 May 2019 01:34:05 GMT'] 11 | x-ms-type: [file] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 01:34:04 GMT'] 20 | ETag: ['"0x8D6D41E6C5BE676"'] 21 | Last-Modified: ['Thu, 09 May 2019 01:34:05 GMT'] 22 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [e4567447-201a-001b-3c07-06e1b9000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | - request: 28 | body: null 29 | headers: 30 | Connection: [keep-alive] 31 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 32 | x-ms-client-request-id: [882bdc0e-71fa-11e9-b3e1-acde48001122] 33 | x-ms-date: ['Thu, 09 May 2019 01:34:05 GMT'] 34 | x-ms-version: ['2018-11-09'] 35 | method: GET 36 | uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7?comp=rangelist 37 | response: 38 | body: {string: "\uFEFF"} 39 | headers: 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 01:34:04 GMT'] 42 | ETag: ['"0x8D6D41E6C5BE676"'] 43 | Last-Modified: ['Thu, 09 May 2019 01:34:05 GMT'] 44 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 45 | Transfer-Encoding: [chunked] 46 | x-ms-content-length: ['1024'] 47 | x-ms-request-id: [e4567449-201a-001b-3d07-06e1b9000000] 48 | x-ms-version: ['2018-11-09'] 49 | status: {code: 200, message: OK} 50 | version: 1 51 | -------------------------------------------------------------------------------- /tests/recordings/test_get_blob.test_ranged_get_blob_to_path_non_parallel.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [a25bcbf2-71f5-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:59:01 GMT'] 9 | x-ms-range: [bytes=1-3] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.blob.core.windows.net/utcontainer70c4165d/byteblob70c4165d 13 | response: 14 | body: 15 | string: !!binary | 16 | ggln 17 | headers: 18 | Accept-Ranges: [bytes] 19 | Content-Length: ['3'] 20 | Content-Range: [bytes 1-3/65541] 21 | Content-Type: [application/octet-stream] 22 | Date: ['Thu, 09 May 2019 00:59:01 GMT'] 23 | ETag: ['"0x8D6D419868B72C2"'] 24 | Last-Modified: ['Thu, 09 May 2019 00:59:01 GMT'] 25 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 26 | Vary: [Origin] 27 | x-ms-blob-content-md5: [aDw6r6PDnuj5jJUVZCgSPg==] 28 | x-ms-blob-type: [BlockBlob] 29 | x-ms-creation-time: ['Thu, 09 May 2019 00:59:01 GMT'] 30 | x-ms-lease-state: [available] 31 | x-ms-lease-status: [unlocked] 32 | x-ms-request-id: [b9f5eef4-e01e-0042-0b02-06e43f000000] 33 | x-ms-server-encrypted: ['true'] 34 | x-ms-tag-count: ['0'] 35 | x-ms-version: ['2018-11-09'] 36 | status: {code: 206, message: Partial Content} 37 | version: 1 38 | -------------------------------------------------------------------------------- /tests/recordings/test_get_blob.test_ranged_get_blob_to_path_small.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [a342ca70-71f5-11e9-b134-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 00:59:03 GMT'] 9 | x-ms-range: [bytes=1-4] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.blob.core.windows.net/utcontainerdcd3137f/byteblobdcd3137f 13 | response: 14 | body: 15 | string: !!binary | 16 | zo/aeA== 17 | headers: 18 | Accept-Ranges: [bytes] 19 | Content-Length: ['4'] 20 | Content-Range: [bytes 1-4/65541] 21 | Content-Type: [application/octet-stream] 22 | Date: ['Thu, 09 May 2019 00:59:03 GMT'] 23 | ETag: ['"0x8D6D41987732573"'] 24 | Last-Modified: ['Thu, 09 May 2019 00:59:03 GMT'] 25 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 26 | Vary: [Origin] 27 | x-ms-blob-content-md5: [RugOb6AIs01yYBt4PMhJWQ==] 28 | x-ms-blob-type: [BlockBlob] 29 | x-ms-creation-time: ['Thu, 09 May 2019 00:59:03 GMT'] 30 | x-ms-lease-state: [available] 31 | x-ms-lease-status: [unlocked] 32 | x-ms-request-id: [10c28750-001e-002e-6902-064fec000000] 33 | x-ms-server-encrypted: ['true'] 34 | x-ms-tag-count: ['0'] 35 | x-ms-version: ['2018-11-09'] 36 | status: {code: 206, message: Partial Content} 37 | version: 1 38 | -------------------------------------------------------------------------------- /tests/recordings/test_get_blob.test_ranged_get_blob_with_missing_start_range.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: foobar 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['6'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-type: [BlockBlob] 9 | x-ms-client-request-id: [a446a6da-71f5-11e9-b134-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 00:59:04 GMT'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.blob.core.windows.net/utcontainerd0a41826/blobd0a41826 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Content-MD5: [OFj2IjCsPJFfMAxmQxLGPw==] 19 | Date: ['Thu, 09 May 2019 00:59:04 GMT'] 20 | ETag: ['"0x8D6D419888B1B7C"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:59:04 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [f24a67cb-101e-0031-3b02-0694fc000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | version: 1 28 | -------------------------------------------------------------------------------- /tests/recordings/test_get_file.test_get_file_properties_server_encryption.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [b28517c2-71fa-11e9-ae82-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:35:16 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: HEAD 11 | uri: https://storagename.file.core.windows.net/utshare8e471737/utdir8e471737/bytefile8e471737 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Content-Length: ['65541'] 16 | Content-Type: [application/octet-stream] 17 | Date: ['Thu, 09 May 2019 01:35:15 GMT'] 18 | ETag: ['"0x8D6D41E96B39FC0"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:35:16 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [22981cee-901a-0009-6c07-06d5a5000000] 22 | x-ms-server-encrypted: ['true'] 23 | x-ms-type: [File] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 200, message: OK} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_get_file.test_ranged_get_file_to_path_non_parallel.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [c0a05d30-71fa-11e9-ae82-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:35:39 GMT'] 9 | x-ms-range: [bytes=1-3] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.file.core.windows.net/utshare710b165f/utdir710b165f/bytefile710b165f 13 | response: 14 | body: 15 | string: !!binary | 16 | +DzG 17 | headers: 18 | Accept-Ranges: [bytes] 19 | Content-Length: ['3'] 20 | Content-Range: [bytes 1-3/65541] 21 | Content-Type: [application/octet-stream] 22 | Date: ['Thu, 09 May 2019 01:35:39 GMT'] 23 | ETag: ['"0x8D6D41EA4CFA4CB"'] 24 | Last-Modified: ['Thu, 09 May 2019 01:35:39 GMT'] 25 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 26 | x-ms-request-id: [4486242f-201a-0054-2f07-0625a1000000] 27 | x-ms-server-encrypted: ['true'] 28 | x-ms-type: [File] 29 | x-ms-version: ['2018-11-09'] 30 | status: {code: 206, message: Partial Content} 31 | version: 1 32 | -------------------------------------------------------------------------------- /tests/recordings/test_get_file.test_ranged_get_file_to_path_small.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [c0ff1c12-71fa-11e9-ae82-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:35:40 GMT'] 9 | x-ms-range: [bytes=1-4] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.file.core.windows.net/utsharedd0c1381/utdirdd0c1381/bytefiledd0c1381 13 | response: 14 | body: 15 | string: !!binary | 16 | R/0OsA== 17 | headers: 18 | Accept-Ranges: [bytes] 19 | Content-Length: ['4'] 20 | Content-Range: [bytes 1-4/65541] 21 | Content-Type: [application/octet-stream] 22 | Date: ['Thu, 09 May 2019 01:35:40 GMT'] 23 | ETag: ['"0x8D6D41EA52EA505"'] 24 | Last-Modified: ['Thu, 09 May 2019 01:35:40 GMT'] 25 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 26 | x-ms-request-id: [ca176045-001a-0043-4b07-06e5c2000000] 27 | x-ms-server-encrypted: ['true'] 28 | x-ms-type: [File] 29 | x-ms-version: ['2018-11-09'] 30 | status: {code: 206, message: Partial Content} 31 | version: 1 32 | -------------------------------------------------------------------------------- /tests/recordings/test_handle.test_list_handles_on_file.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-1.4.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [5a6e7ecc-6d6b-11e9-8802-f218981b70f8] 8 | x-ms-date: ['Fri, 03 May 2019 06:19:05 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/test/wut/bla.txt?comp=listhandles 12 | response: 13 | body: {string: "\uFEFF21123902372wut/bla.txt13835136120607735808115293085045568307209385737614310506553167.220.2.92:27553Fri,\ 14 | \ 03 May 2019 04:52:31 GMT"} 15 | headers: 16 | Content-Type: [application/xml] 17 | Date: ['Fri, 03 May 2019 06:19:05 GMT'] 18 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 19 | Transfer-Encoding: [chunked] 20 | x-ms-request-id: [6f1b3437-701a-0008-5478-01d458000000] 21 | x-ms-version: ['2018-11-09'] 22 | status: {code: 200, message: OK} 23 | version: 1 24 | -------------------------------------------------------------------------------- /tests/recordings/test_handle.test_list_handles_on_share_snapshot.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-1.4.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [0166e1e2-71ea-11e9-9eaf-acde48001122] 8 | x-ms-date: ['Wed, 08 May 2019 23:35:47 GMT'] 9 | x-ms-recursive: ['True'] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.file.core.windows.net/test?comp=listhandles&sharesnapshot=2019-05-08T23%3A27%3A24.0000000Z 13 | response: 14 | body: {string: "\uFEFF21515839124wut1152930850455683072009435289398791897169167.220.2.92:14118Wed,\ 15 | \ 08 May 2019 23:32:16 GMT21515839125wut1152930850455683072009435289398791897169167.220.2.92:14118Wed,\ 16 | \ 08 May 2019 23:32:17 GMT"} 17 | headers: 18 | Content-Type: [application/xml] 19 | Date: ['Wed, 08 May 2019 23:35:47 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | Transfer-Encoding: [chunked] 22 | x-ms-request-id: [d7453674-901a-002b-1bf6-05bb93000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 200, message: OK} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_logging.test_authorization_is_scrubbed_off.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [8af753f6-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:27:00 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.blob.core.windows.net/utcontainerd2b91363?restype=container 12 | response: 13 | body: {string: ''} 14 | headers: 15 | Content-Length: ['0'] 16 | Date: ['Thu, 09 May 2019 01:26:59 GMT'] 17 | ETag: ['"0x8D6D41D6F0E2A13"'] 18 | Last-Modified: ['Thu, 09 May 2019 01:27:00 GMT'] 19 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 20 | Vary: [Origin] 21 | x-ms-has-immutability-policy: ['false'] 22 | x-ms-has-legal-hold: ['false'] 23 | x-ms-lease-state: [available] 24 | x-ms-lease-status: [unlocked] 25 | x-ms-request-id: [2b0a94a0-301e-004b-1606-06feb1000000] 26 | x-ms-version: ['2018-11-09'] 27 | status: {code: 200, message: OK} 28 | version: 1 29 | -------------------------------------------------------------------------------- /tests/recordings/test_page_blob.test_create_blob_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-content-length: ['512'] 9 | x-ms-blob-type: [PageBlob] 10 | x-ms-client-request-id: [b344acd6-71f5-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 00:59:30 GMT'] 12 | x-ms-meta-hello: [world] 13 | x-ms-meta-number: ['42'] 14 | x-ms-version: ['2018-11-09'] 15 | method: PUT 16 | uri: https://storagename.blob.core.windows.net/utcontainera2b71235/bloba2b71235 17 | response: 18 | body: {string: ''} 19 | headers: 20 | Content-Length: ['0'] 21 | Date: ['Thu, 09 May 2019 00:59:29 GMT'] 22 | ETag: ['"0x8D6D419978C3833"'] 23 | Last-Modified: ['Thu, 09 May 2019 00:59:30 GMT'] 24 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 25 | x-ms-request-id: [4d6ff82d-c01e-001a-0a02-06e044000000] 26 | x-ms-request-server-encrypted: ['true'] 27 | x-ms-version: ['2018-11-09'] 28 | status: {code: 201, message: Created} 29 | - request: 30 | body: null 31 | headers: 32 | Connection: [keep-alive] 33 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 34 | x-ms-client-request-id: [b35b59b8-71f5-11e9-b134-acde48001122] 35 | x-ms-date: ['Thu, 09 May 2019 00:59:30 GMT'] 36 | x-ms-version: ['2018-11-09'] 37 | method: GET 38 | uri: https://storagename.blob.core.windows.net/utcontainera2b71235/bloba2b71235?comp=metadata 39 | response: 40 | body: {string: ''} 41 | headers: 42 | Content-Length: ['0'] 43 | Date: ['Thu, 09 May 2019 00:59:29 GMT'] 44 | ETag: ['"0x8D6D419978C3833"'] 45 | Last-Modified: ['Thu, 09 May 2019 00:59:30 GMT'] 46 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 47 | Vary: [Origin] 48 | x-ms-meta-hello: [world] 49 | x-ms-meta-number: ['42'] 50 | x-ms-request-id: [4d6ff858-c01e-001a-2f02-06e044000000] 51 | x-ms-version: ['2018-11-09'] 52 | status: {code: 200, message: OK} 53 | version: 1 54 | -------------------------------------------------------------------------------- /tests/recordings/test_page_blob.test_create_larger_than_8tb_blob_fail.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-content-length: ['8796093022209'] 9 | x-ms-blob-type: [PageBlob] 10 | x-ms-client-request-id: [b442a7be-71f5-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 00:59:31 GMT'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/utcontainer2aa214c8/blob2aa214c8 15 | response: 16 | body: {string: "\uFEFFInvalidHeaderValueThe\ 17 | \ value for one of the HTTP headers is not in the correct format.\nRequestId:8423801f-b01e-0037-3702-066384000000\n\ 18 | Time:2019-05-09T00:59:32.5467407Zx-ms-blob-content-length8796093022209"} 19 | headers: 20 | Content-Length: ['343'] 21 | Content-Type: [application/xml] 22 | Date: ['Thu, 09 May 2019 00:59:32 GMT'] 23 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 24 | x-ms-error-code: [InvalidHeaderValue] 25 | x-ms-request-id: [8423801f-b01e-0037-3702-066384000000] 26 | x-ms-version: ['2018-11-09'] 27 | status: {code: 400, message: The value for one of the HTTP headers is not in the 28 | correct format.} 29 | version: 1 30 | -------------------------------------------------------------------------------- /tests/recordings/test_page_blob.test_get_page_ranges_no_pages.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-content-length: ['512'] 9 | x-ms-blob-type: [PageBlob] 10 | x-ms-client-request-id: [b7c871fc-71f5-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 00:59:37 GMT'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/utcontainer902711ce/blob902711ce 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 00:59:36 GMT'] 20 | ETag: ['"0x8D6D4199C0F803D"'] 21 | Last-Modified: ['Thu, 09 May 2019 00:59:37 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [5906a95c-d01e-0063-4502-06890e000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | - request: 28 | body: null 29 | headers: 30 | Connection: [keep-alive] 31 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 32 | x-ms-client-request-id: [b7df4314-71f5-11e9-b134-acde48001122] 33 | x-ms-date: ['Thu, 09 May 2019 00:59:37 GMT'] 34 | x-ms-version: ['2018-11-09'] 35 | method: GET 36 | uri: https://storagename.blob.core.windows.net/utcontainer902711ce/blob902711ce?comp=pagelist 37 | response: 38 | body: {string: "\uFEFF"} 39 | headers: 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 00:59:36 GMT'] 42 | ETag: ['"0x8D6D4199C0F803D"'] 43 | Last-Modified: ['Thu, 09 May 2019 00:59:37 GMT'] 44 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 45 | Transfer-Encoding: [chunked] 46 | Vary: [Origin] 47 | x-ms-blob-content-length: ['512'] 48 | x-ms-request-id: [5906a985-d01e-0063-6d02-06890e000000] 49 | x-ms-version: ['2018-11-09'] 50 | status: {code: 200, message: OK} 51 | version: 1 52 | -------------------------------------------------------------------------------- /tests/recordings/test_page_blob.test_update_page_unicode.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-blob-content-length: ['512'] 9 | x-ms-blob-type: [PageBlob] 10 | x-ms-client-request-id: [d6cfda9a-71f5-11e9-b134-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 01:00:29 GMT'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/utcontainer3c780fcd/blob3c780fcd 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 01:00:29 GMT'] 20 | ETag: ['"0x8D6D419BB1314E7"'] 21 | Last-Modified: ['Thu, 09 May 2019 01:00:29 GMT'] 22 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [9990d57d-201e-0039-5a02-068f8f000000] 24 | x-ms-request-server-encrypted: ['true'] 25 | x-ms-version: ['2018-11-09'] 26 | status: {code: 201, message: Created} 27 | version: 1 28 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8275f4a4-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:36 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queuea7af0b8a 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:36 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [568796d6-b003-001e-7905-0615c6000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 27 | x-ms-client-request-id: [82897448-71f8-11e9-a804-acde48001122] 28 | x-ms-date: ['Thu, 09 May 2019 01:19:36 GMT'] 29 | x-ms-version: ['2018-03-28'] 30 | method: GET 31 | uri: https://storagename.queue.core.windows.net/queuea7af0b8a?comp=metadata 32 | response: 33 | body: {string: ''} 34 | headers: 35 | Cache-Control: [no-cache] 36 | Content-Length: ['0'] 37 | Date: ['Thu, 09 May 2019 01:19:36 GMT'] 38 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 39 | x-ms-approximate-messages-count: ['0'] 40 | x-ms-request-id: [568796e3-b003-001e-0305-0615c6000000] 41 | x-ms-version: ['2018-03-28'] 42 | status: {code: 200, message: OK} 43 | version: 1 44 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue_already_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [82a37c58-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:36 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue73d11157 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:36 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [41f99cd2-5003-0036-1705-066279000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | Content-Length: ['0'] 27 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 28 | x-ms-client-request-id: [82b69ff4-71f8-11e9-a804-acde48001122] 29 | x-ms-date: ['Thu, 09 May 2019 01:19:37 GMT'] 30 | x-ms-version: ['2018-03-28'] 31 | method: PUT 32 | uri: https://storagename.queue.core.windows.net/queue73d11157 33 | response: 34 | body: {string: ''} 35 | headers: 36 | Content-Length: ['0'] 37 | Date: ['Thu, 09 May 2019 01:19:36 GMT'] 38 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 39 | x-ms-request-id: [41f99ce1-5003-0036-2405-066279000000] 40 | x-ms-version: ['2018-03-28'] 41 | status: {code: 204, message: No Content} 42 | version: 1 43 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue_already_exist_different_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [82fe7de2-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:37 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queuea35190d 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:37 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [15b8af2c-5003-0014-5e05-060c4f000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | Content-Length: ['0'] 27 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 28 | x-ms-client-request-id: [8312a556-71f8-11e9-a804-acde48001122] 29 | x-ms-date: ['Thu, 09 May 2019 01:19:37 GMT'] 30 | x-ms-meta-val: [value] 31 | x-ms-version: ['2018-03-28'] 32 | method: PUT 33 | uri: https://storagename.queue.core.windows.net/queuea35190d 34 | response: 35 | body: {string: "\uFEFFQueueAlreadyExistsThe\ 36 | \ specified queue already exists.\nRequestId:15b8af38-5003-0014-6805-060c4f000000\n\ 37 | Time:2019-05-09T01:19:37.6332214Z"} 38 | headers: 39 | Content-Length: ['222'] 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 01:19:37 GMT'] 42 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-error-code: [QueueAlreadyExists] 44 | x-ms-request-id: [15b8af38-5003-0014-6805-060c4f000000] 45 | x-ms-version: ['2018-03-28'] 46 | status: {code: 409, message: The specified queue already exists.} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue_fail_on_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [83451478-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:37 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue736a114d 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:37 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [9aaa73ca-d003-002c-7105-064d16000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | Content-Length: ['0'] 27 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 28 | x-ms-client-request-id: [8357f1ce-71f8-11e9-a804-acde48001122] 29 | x-ms-date: ['Thu, 09 May 2019 01:19:38 GMT'] 30 | x-ms-version: ['2018-03-28'] 31 | method: PUT 32 | uri: https://storagename.queue.core.windows.net/queue736a114d 33 | response: 34 | body: {string: ''} 35 | headers: 36 | Content-Length: ['0'] 37 | Date: ['Thu, 09 May 2019 01:19:37 GMT'] 38 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 39 | x-ms-request-id: [9aaa73d1-d003-002c-7605-064d16000000] 40 | x-ms-version: ['2018-03-28'] 41 | status: {code: 204, message: No Content} 42 | version: 1 43 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue_fail_on_exist_different_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [83ff04dc-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:39 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue9101903 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:38 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [55614012-c003-0055-0d05-06245c000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | Content-Length: ['0'] 27 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 28 | x-ms-client-request-id: [8435d37c-71f8-11e9-a804-acde48001122] 29 | x-ms-date: ['Thu, 09 May 2019 01:19:39 GMT'] 30 | x-ms-meta-val: [value] 31 | x-ms-version: ['2018-03-28'] 32 | method: PUT 33 | uri: https://storagename.queue.core.windows.net/queue9101903 34 | response: 35 | body: {string: "\uFEFFQueueAlreadyExistsThe\ 36 | \ specified queue already exists.\nRequestId:5561404d-c003-0055-4205-06245c000000\n\ 37 | Time:2019-05-09T01:19:39.5885383Z"} 38 | headers: 39 | Content-Length: ['222'] 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 01:19:38 GMT'] 42 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-error-code: [QueueAlreadyExists] 44 | x-ms-request-id: [5561404d-c003-0055-4205-06245c000000] 45 | x-ms-version: ['2018-03-28'] 46 | status: {code: 409, message: The specified queue already exists.} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_create_queue_with_options.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8458d570-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:39 GMT'] 10 | x-ms-meta-val1: [test] 11 | x-ms-meta-val2: [blah] 12 | x-ms-version: ['2018-03-28'] 13 | method: PUT 14 | uri: https://storagename.queue.core.windows.net/queue63ff1110 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 01:19:41 GMT'] 20 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [a3f75b32-a003-0045-0705-0612ba000000] 22 | x-ms-version: ['2018-03-28'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 29 | x-ms-client-request-id: [85a4549a-71f8-11e9-a804-acde48001122] 30 | x-ms-date: ['Thu, 09 May 2019 01:19:41 GMT'] 31 | x-ms-version: ['2018-03-28'] 32 | method: GET 33 | uri: https://storagename.queue.core.windows.net/queue63ff1110?comp=metadata 34 | response: 35 | body: {string: ''} 36 | headers: 37 | Cache-Control: [no-cache] 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:19:41 GMT'] 40 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 41 | x-ms-approximate-messages-count: ['0'] 42 | x-ms-meta-val1: [test] 43 | x-ms-meta-val2: [blah] 44 | x-ms-request-id: [a3f75c18-a003-0045-4c05-0612ba000000] 45 | x-ms-version: ['2018-03-28'] 46 | status: {code: 200, message: OK} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_delete_existing_queue_fail_not_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [85bf3daa-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:42 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue38c6158a 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:42 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [f03c8467-8003-001d-4f05-0616c1000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | Content-Length: ['0'] 27 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 28 | x-ms-client-request-id: [8611bc1a-71f8-11e9-a804-acde48001122] 29 | x-ms-date: ['Thu, 09 May 2019 01:19:42 GMT'] 30 | x-ms-version: ['2018-03-28'] 31 | method: DELETE 32 | uri: https://storagename.queue.core.windows.net/queue38c6158a 33 | response: 34 | body: {string: ''} 35 | headers: 36 | Content-Length: ['0'] 37 | Date: ['Thu, 09 May 2019 01:19:42 GMT'] 38 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 39 | x-ms-request-id: [f03c8487-8003-001d-6705-0616c1000000] 40 | x-ms-version: ['2018-03-28'] 41 | status: {code: 204, message: No Content} 42 | version: 1 43 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_delete_non_existing_queue.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [867c9f26-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:43 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: DELETE 12 | uri: https://storagename.queue.core.windows.net/queue637410fd 13 | response: 14 | body: {string: "\uFEFFQueueNotFoundThe\ 15 | \ specified queue does not exist.\nRequestId:8e3a077d-2003-005f-2405-063dd5000000\n\ 16 | Time:2019-05-09T01:19:43.5395599Z"} 17 | headers: 18 | Content-Length: ['217'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:19:43 GMT'] 21 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [QueueNotFound] 23 | x-ms-request-id: [8e3a077d-2003-005f-2405-063dd5000000] 24 | x-ms-version: ['2018-03-28'] 25 | status: {code: 404, message: The specified queue does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_delete_non_existing_queue_fail_not_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [86b0870a-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:43 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: DELETE 12 | uri: https://storagename.queue.core.windows.net/queue92d81734 13 | response: 14 | body: {string: "\uFEFFQueueNotFoundThe\ 15 | \ specified queue does not exist.\nRequestId:41f9a789-5003-0036-3c05-066279000000\n\ 16 | Time:2019-05-09T01:19:43.7914702Z"} 17 | headers: 18 | Content-Length: ['217'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:19:43 GMT'] 21 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [QueueNotFound] 23 | x-ms-request-id: [41f9a789-5003-0036-3c05-066279000000] 24 | x-ms-version: ['2018-03-28'] 25 | status: {code: 404, message: The specified queue does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_get_queue_acl.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8769465a-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:44 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queueb3cd0be5 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:44 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [bbd8e6e1-4003-0022-4605-06a11d000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 27 | x-ms-client-request-id: [87c76230-71f8-11e9-a804-acde48001122] 28 | x-ms-date: ['Thu, 09 May 2019 01:19:45 GMT'] 29 | x-ms-version: ['2018-03-28'] 30 | method: GET 31 | uri: https://storagename.queue.core.windows.net/queueb3cd0be5?comp=acl 32 | response: 33 | body: {string: "\uFEFF"} 35 | headers: 36 | Cache-Control: [no-cache] 37 | Content-Type: [application/xml] 38 | Date: ['Thu, 09 May 2019 01:19:44 GMT'] 39 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 40 | Transfer-Encoding: [chunked] 41 | x-ms-request-id: [bbd8e734-4003-0022-0d05-06a11d000000] 42 | x-ms-version: ['2018-03-28'] 43 | status: {code: 200, message: OK} 44 | version: 1 45 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_get_queue_acl_iter.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [87e072f2-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:45 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queuef55d0df8 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:45 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [cbd48126-3003-002d-5c05-064ceb000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 27 | x-ms-client-request-id: [87f4349a-71f8-11e9-a804-acde48001122] 28 | x-ms-date: ['Thu, 09 May 2019 01:19:45 GMT'] 29 | x-ms-version: ['2018-03-28'] 30 | method: GET 31 | uri: https://storagename.queue.core.windows.net/queuef55d0df8?comp=acl 32 | response: 33 | body: {string: "\uFEFF"} 35 | headers: 36 | Cache-Control: [no-cache] 37 | Content-Type: [application/xml] 38 | Date: ['Thu, 09 May 2019 01:19:45 GMT'] 39 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 40 | Transfer-Encoding: [chunked] 41 | x-ms-request-id: [cbd4812a-3003-002d-5f05-064ceb000000] 42 | x-ms-version: ['2018-03-28'] 43 | status: {code: 200, message: OK} 44 | version: 1 45 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_get_queue_acl_with_non_existing_queue.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [880f8e0c-71f8-11e9-a804-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:46 GMT'] 9 | x-ms-version: ['2018-03-28'] 10 | method: GET 11 | uri: https://storagename.queue.core.windows.net/queue4ef515f8?comp=acl 12 | response: 13 | body: {string: "\uFEFFQueueNotFoundThe\ 14 | \ specified queue does not exist.\nRequestId:7ad8c2f3-4003-0029-6105-06b969000000\n\ 15 | Time:2019-05-09T01:19:46.1028034Z"} 16 | headers: 17 | Content-Length: ['217'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:45 GMT'] 20 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [QueueNotFound] 22 | x-ms-request-id: [7ad8c2f3-4003-0029-6105-06b969000000] 23 | x-ms-version: ['2018-03-28'] 24 | status: {code: 404, message: The specified queue does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_list_queues.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [88700520-71f8-11e9-a804-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:46 GMT'] 9 | x-ms-version: ['2018-03-28'] 10 | method: GET 11 | uri: https://storagename.queue.core.windows.net/?comp=list 12 | response: 13 | body: {string: "\uFEFFgodeletenonexistentqueue3428569699000queue6"} 16 | headers: 17 | Cache-Control: [no-cache] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:46 GMT'] 20 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 21 | Transfer-Encoding: [chunked] 22 | x-ms-request-id: [c5954d7b-6003-0058-7605-06cb50000000] 23 | x-ms-version: ['2018-03-28'] 24 | status: {code: 200, message: OK} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_queue_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8b820f60-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:51 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queuea8d70bb6 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:51 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [3aea97d6-e003-0006-2c05-063853000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | - request: 23 | body: null 24 | headers: 25 | Connection: [keep-alive] 26 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 27 | x-ms-client-request-id: [8b948046-71f8-11e9-a804-acde48001122] 28 | x-ms-date: ['Thu, 09 May 2019 01:19:51 GMT'] 29 | x-ms-version: ['2018-03-28'] 30 | method: GET 31 | uri: https://storagename.queue.core.windows.net/queuea8d70bb6?comp=metadata 32 | response: 33 | body: {string: ''} 34 | headers: 35 | Cache-Control: [no-cache] 36 | Content-Length: ['0'] 37 | Date: ['Thu, 09 May 2019 01:19:51 GMT'] 38 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 39 | x-ms-approximate-messages-count: ['0'] 40 | x-ms-request-id: [3aea97dd-e003-0006-3105-063853000000] 41 | x-ms-version: ['2018-03-28'] 42 | status: {code: 200, message: OK} 43 | version: 1 44 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_queue_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [8bdeaa04-71f8-11e9-a804-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:19:52 GMT'] 9 | x-ms-version: ['2018-03-28'] 10 | method: GET 11 | uri: https://storagename.queue.core.windows.net/missingdb9b0d66?comp=metadata 12 | response: 13 | body: {string: "\uFEFFQueueNotFoundThe\ 14 | \ specified queue does not exist.\nRequestId:e7beaf1a-0003-0025-3f05-065798000000\n\ 15 | Time:2019-05-09T01:19:52.4801283Z"} 16 | headers: 17 | Content-Length: ['217'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:19:52 GMT'] 20 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [QueueNotFound] 22 | x-ms-request-id: [e7beaf1a-0003-0025-3f05-065798000000] 23 | x-ms-version: ['2018-03-28'] 24 | status: {code: 404, message: The specified queue does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_set_queue_acl_too_many_ids.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8c647bb6-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:53 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue755c1155 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:19:53 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [8e3a143a-2003-005f-4705-063dd5000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | version: 1 23 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_set_queue_acl_with_non_existing_queue.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [8d2049e0-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:19:54 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/queue50b11604?comp=acl 13 | response: 14 | body: {string: "\uFEFFQueueNotFoundThe\ 15 | \ specified queue does not exist.\nRequestId:7608bcc3-f003-005d-3205-063f2f000000\n\ 16 | Time:2019-05-09T01:19:54.6006658Z"} 17 | headers: 18 | Content-Length: ['217'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:19:54 GMT'] 21 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [QueueNotFound] 23 | x-ms-request-id: [7608bcc3-f003-005d-3205-063f2f000000] 24 | x-ms-version: ['2018-03-28'] 25 | status: {code: 404, message: The specified queue does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_queue.test_unicode_create_queue_unicode_name.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [9566973a-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:20:08 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C 13 | response: 14 | body: {string: "\uFEFFInvalidResourceNameThe\ 15 | \ specifed resource name contains invalid characters.\nRequestId:1eab35cd-9003-004d-0705-0609c9000000\n\ 16 | Time:2019-05-09T01:20:08.4777068Z"} 17 | headers: 18 | Content-Length: ['243'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:20:08 GMT'] 21 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [InvalidResourceName] 23 | x-ms-request-id: [1eab35cd-9003-004d-0705-0609c9000000] 24 | x-ms-version: ['2018-03-28'] 25 | status: {code: 400, message: The specifed resource name contains invalid characters.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_queue_encodings.test_message_text_xml_invalid_chars.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: "\n\x01\ 4 | " 5 | headers: 6 | Connection: [keep-alive] 7 | Content-Length: ['96'] 8 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 9 | x-ms-client-request-id: [bbe4ec86-71f8-11e9-a804-acde48001122] 10 | x-ms-date: ['Thu, 09 May 2019 01:21:12 GMT'] 11 | x-ms-version: ['2018-03-28'] 12 | method: POST 13 | uri: https://storagename.queue.core.windows.net/mytestqueue093de171a/messages 14 | response: 15 | body: {string: "\uFEFFInvalidXmlDocumentXML\ 16 | \ specified is not syntactically valid.\nRequestId:2c814d22-9003-0046-5c05-0611bd000000\n\ 17 | Time:2019-05-09T01:21:13.1470355Z228Error\ 18 | \ parsing Xml content"} 19 | headers: 20 | Content-Length: ['327'] 21 | Content-Type: [application/xml] 22 | Date: ['Thu, 09 May 2019 01:21:12 GMT'] 23 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 24 | x-ms-error-code: [InvalidXmlDocument] 25 | x-ms-request-id: [2c814d22-9003-0046-5c05-0611bd000000] 26 | x-ms-version: ['2018-03-28'] 27 | status: {code: 400, message: XML specified is not syntactically valid.} 28 | version: 1 29 | -------------------------------------------------------------------------------- /tests/recordings/test_queue_encryption.test_invalid_value_kek_wrap.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [c781b1dc-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:21:32 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/encryptionqueuefee61452 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:21:32 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [8679f7c4-9003-0009-1205-06d5a5000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | version: 1 23 | -------------------------------------------------------------------------------- /tests/recordings/test_queue_encryption.test_missing_attribute_kek_wrap.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [c8079068-71f8-11e9-a804-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:21:33 GMT'] 10 | x-ms-version: ['2018-03-28'] 11 | method: PUT 12 | uri: https://storagename.queue.core.windows.net/encryptionqueue56cd161c 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:21:33 GMT'] 18 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 19 | x-ms-request-id: [71ed27d9-9003-002b-1005-06bb93000000] 20 | x-ms-version: ['2018-03-28'] 21 | status: {code: 201, message: Created} 22 | version: 1 23 | -------------------------------------------------------------------------------- /tests/recordings/test_retry.test_invalid_retry.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [949314cc-71f9-11e9-be36-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:27:16 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/b5650c1f?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:27:16 GMT'] 18 | ETag: ['"0x8D6D41D78D744A5"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:27:16 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [b5ae0216-501e-005b-7906-06c857000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [94a74c3a-71f9-11e9-be36-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:27:16 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: DELETE 34 | uri: https://storagename.blob.core.windows.net/b5650c1f?restype=container 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:27:16 GMT'] 40 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 41 | x-ms-request-id: [b5ae024e-501e-005b-3006-06c857000000] 42 | x-ms-version: ['2018-11-09'] 43 | status: {code: 202, message: Accepted} 44 | version: 1 45 | -------------------------------------------------------------------------------- /tests/recordings/test_retry.test_no_retry.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [972187be-71f9-11e9-be36-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:27:20 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/7d860a15?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:27:20 GMT'] 18 | ETag: ['"0x8D6D41D7B66DA18"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:27:20 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [7ff30544-801e-0034-5506-066083000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [97592516-71f9-11e9-be36-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:27:21 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: DELETE 34 | uri: https://storagename.blob.core.windows.net/7d860a15?restype=container 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:27:21 GMT'] 40 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 41 | x-ms-request-id: [7ff30699-801e-0034-1d06-066083000000] 42 | x-ms-version: ['2018-11-09'] 43 | status: {code: 202, message: Accepted} 44 | version: 1 45 | -------------------------------------------------------------------------------- /tests/recordings/test_retry.test_retry_on_socket_timeout.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [a263e036-71f9-11e9-be36-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:27:39 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.blob.core.windows.net/46e31063?restype=container 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:27:39 GMT'] 18 | ETag: ['"0x8D6D41D86ABD657"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:27:39 GMT'] 20 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [02386798-d01e-0027-0106-065562000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [a27a6c5c-71f9-11e9-be36-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:27:39 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: DELETE 34 | uri: https://storagename.blob.core.windows.net/46e31063?restype=container 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:27:39 GMT'] 40 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 41 | x-ms-request-id: [023867b7-d01e-0027-1906-065562000000] 42 | x-ms-version: ['2018-11-09'] 43 | status: {code: 202, message: Accepted} 44 | version: 1 45 | -------------------------------------------------------------------------------- /tests/recordings/test_service_properties.test_retention_too_long.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: ' 4 | 5 | 1.0TrueTrueTrue366' 6 | headers: 7 | Connection: [keep-alive] 8 | Content-Length: ['273'] 9 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 10 | x-ms-client-request-id: [ae815fec-71f9-11e9-be36-acde48001122] 11 | x-ms-date: ['Thu, 09 May 2019 01:28:00 GMT'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.blob.core.windows.net/?restype=service&comp=properties 15 | response: 16 | body: {string: "\uFEFFInvalidXmlDocumentXML\ 17 | \ specified is not syntactically valid.\nRequestId:71444717-501e-0036-1d06-066279000000\n\ 18 | Time:2019-05-09T01:28:00.1366982Z2176Retention\ 19 | \ days must be greater than 0 and less than or equal to 365 days."} 20 | headers: 21 | Content-Length: ['376'] 22 | Content-Type: [application/xml] 23 | Date: ['Thu, 09 May 2019 01:27:59 GMT'] 24 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 25 | x-ms-error-code: [InvalidXmlDocument] 26 | x-ms-request-id: [71444717-501e-0036-1d06-066279000000] 27 | x-ms-version: ['2018-11-09'] 28 | status: {code: 400, message: XML specified is not syntactically valid.} 29 | version: 1 30 | -------------------------------------------------------------------------------- /tests/recordings/test_service_stats.test_blob_service_stats.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [b13b8ee2-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:28:04 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename-secondary.blob.core.windows.net/?restype=service&comp=stats 12 | response: 13 | body: {string: "\uFEFFliveThu,\ 14 | \ 09 May 2019 01:25:53 GMT"} 15 | headers: 16 | Content-Type: [application/xml] 17 | Date: ['Thu, 09 May 2019 01:28:04 GMT'] 18 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 19 | Transfer-Encoding: [chunked] 20 | Vary: [Origin] 21 | x-ms-request-id: [c7e6eafe-301e-0056-6006-0651c9000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_service_stats.test_blob_service_stats_when_unavailable.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [b183edc2-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:28:05 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename-secondary.blob.core.windows.net/?restype=service&comp=stats 12 | response: 13 | body: {string: "\uFEFFliveThu,\ 14 | \ 09 May 2019 01:25:53 GMT"} 15 | headers: 16 | Content-Type: [application/xml] 17 | Date: ['Thu, 09 May 2019 01:28:04 GMT'] 18 | Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 19 | Transfer-Encoding: [chunked] 20 | Vary: [Origin] 21 | x-ms-request-id: [96da8c7f-f01e-0004-5106-064c3b000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_service_stats.test_queue_service_stats.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [b1c5975e-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:28:05 GMT'] 9 | x-ms-version: ['2018-03-28'] 10 | method: GET 11 | uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats 12 | response: 13 | body: {string: "\uFEFFliveThu,\ 14 | \ 09 May 2019 01:25:46 GMT"} 15 | headers: 16 | Cache-Control: [no-cache] 17 | Content-Type: [application/xml] 18 | Date: ['Thu, 09 May 2019 01:28:05 GMT'] 19 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 20 | Transfer-Encoding: [chunked] 21 | x-ms-request-id: [740a497e-0003-0033-5a06-06e094000000] 22 | x-ms-version: ['2018-03-28'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_service_stats.test_queue_service_stats_when_unavailable.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [b211a6f8-71f9-11e9-be36-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:28:05 GMT'] 9 | x-ms-version: ['2018-03-28'] 10 | method: GET 11 | uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats 12 | response: 13 | body: {string: "\uFEFFliveThu,\ 14 | \ 09 May 2019 01:25:46 GMT"} 15 | headers: 16 | Cache-Control: [no-cache] 17 | Content-Type: [application/xml] 18 | Date: ['Thu, 09 May 2019 01:28:06 GMT'] 19 | Server: [Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0] 20 | Transfer-Encoding: [chunked] 21 | x-ms-request-id: [9113a10f-f003-004b-6c06-068823000000] 22 | x-ms-version: ['2018-03-28'] 23 | status: {code: 200, message: OK} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [9331160a-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:23 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/sharea5f30b66?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:23 GMT'] 18 | ETag: ['"0x8D6D41E77767CBC"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:23 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [06eac7b8-d01a-002c-5307-064d16000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_fail_on_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [9440001a-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:25 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/share6fb61129?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:25 GMT'] 18 | ETag: ['"0x8D6D41E78841AEF"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:25 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [72fb568b-701a-002a-3907-06ba6e000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_snapshot.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [946808bc-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:25 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/share1f550f35?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:25 GMT'] 18 | ETag: ['"0x8D6D41E78AC3024"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:25 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [e2caa13b-c01a-0011-3a07-06f830000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [947c15aa-71fa-11e9-aabd-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:34:25 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: PUT 34 | uri: https://storagename.file.core.windows.net/share1f550f35?restype=share&comp=snapshot 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:34:25 GMT'] 40 | ETag: ['"0x8D6D41E78AC3024"'] 41 | Last-Modified: ['Thu, 09 May 2019 01:34:25 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-request-id: [e2caa13e-c01a-0011-3b07-06f830000000] 44 | x-ms-snapshot: ['2019-05-09T01:34:25.0000000Z'] 45 | x-ms-version: ['2018-11-09'] 46 | status: {code: 201, message: Created} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_with_already_existing_share.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [94ac8e56-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/share8d1b16fe?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 18 | ETag: ['"0x8D6D41E78F0174F"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:26 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [d74592ba-901a-002b-4507-06bb93000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [94c000b2-71fa-11e9-aabd-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: PUT 34 | uri: https://storagename.file.core.windows.net/share8d1b16fe?restype=share 35 | response: 36 | body: {string: "\uFEFFShareAlreadyExistsThe\ 37 | \ specified share already exists.\nRequestId:d74592be-901a-002b-4707-06bb93000000\n\ 38 | Time:2019-05-09T01:34:26.3002161Z"} 39 | headers: 40 | Content-Length: ['222'] 41 | Content-Type: [application/xml] 42 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 43 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 44 | x-ms-error-code: [ShareAlreadyExists] 45 | x-ms-request-id: [d74592be-901a-002b-4707-06bb93000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 409, message: The specified share already exists.} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_with_already_existing_share_fail_on_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [94da7802-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/sharef92e1cc1?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:25 GMT'] 18 | ETag: ['"0x8D6D41E791E025F"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:26 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [8f170df9-801a-001d-2807-0616c1000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | Content-Length: ['0'] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [94ed7560-71fa-11e9-aabd-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: PUT 34 | uri: https://storagename.file.core.windows.net/sharef92e1cc1?restype=share 35 | response: 36 | body: {string: "\uFEFFShareAlreadyExistsThe\ 37 | \ specified share already exists.\nRequestId:8f170dfc-801a-001d-2907-0616c1000000\n\ 38 | Time:2019-05-09T01:34:26.5981434Z"} 39 | headers: 40 | Content-Length: ['222'] 41 | Content-Type: [application/xml] 42 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 43 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 44 | x-ms-error-code: [ShareAlreadyExists] 45 | x-ms-request-id: [8f170dfc-801a-001d-2907-0616c1000000] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 409, message: The specified share already exists.} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_with_metadata.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [9506786c-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 10 | x-ms-meta-hello: [world] 11 | x-ms-meta-number: ['42'] 12 | x-ms-version: ['2018-11-09'] 13 | method: PUT 14 | uri: https://storagename.file.core.windows.net/share70e61121?restype=share 15 | response: 16 | body: {string: ''} 17 | headers: 18 | Content-Length: ['0'] 19 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 20 | ETag: ['"0x8D6D41E794B1C89"'] 21 | Last-Modified: ['Thu, 09 May 2019 01:34:26 GMT'] 22 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 23 | x-ms-request-id: [a5648c11-301a-0062-5c07-0688f3000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 201, message: Created} 26 | - request: 27 | body: null 28 | headers: 29 | Connection: [keep-alive] 30 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 31 | x-ms-client-request-id: [95214f3e-71fa-11e9-aabd-acde48001122] 32 | x-ms-date: ['Thu, 09 May 2019 01:34:26 GMT'] 33 | x-ms-version: ['2018-11-09'] 34 | method: GET 35 | uri: https://storagename.file.core.windows.net/share70e61121?restype=share&comp=metadata 36 | response: 37 | body: {string: ''} 38 | headers: 39 | Content-Length: ['0'] 40 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 41 | ETag: ['"0x8D6D41E794B1C89"'] 42 | Last-Modified: ['Thu, 09 May 2019 01:34:26 GMT'] 43 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 44 | x-ms-meta-hello: [world] 45 | x-ms-meta-number: ['42'] 46 | x-ms-request-id: [a5648c14-301a-0062-5d07-0688f3000000] 47 | x-ms-version: ['2018-11-09'] 48 | status: {code: 200, message: OK} 49 | version: 1 50 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_create_share_with_quota.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [953e1948-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:27 GMT'] 10 | x-ms-share-quota: ['1'] 11 | x-ms-version: ['2018-11-09'] 12 | method: PUT 13 | uri: https://storagename.file.core.windows.net/share3f21100a?restype=share 14 | response: 15 | body: {string: ''} 16 | headers: 17 | Content-Length: ['0'] 18 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 19 | ETag: ['"0x8D6D41E79823D40"'] 20 | Last-Modified: ['Thu, 09 May 2019 01:34:27 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-request-id: [99d2d364-b01a-0037-6d07-066384000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 201, message: Created} 25 | - request: 26 | body: null 27 | headers: 28 | Connection: [keep-alive] 29 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 30 | x-ms-client-request-id: [9551ae40-71fa-11e9-aabd-acde48001122] 31 | x-ms-date: ['Thu, 09 May 2019 01:34:27 GMT'] 32 | x-ms-version: ['2018-11-09'] 33 | method: GET 34 | uri: https://storagename.file.core.windows.net/share3f21100a?restype=share 35 | response: 36 | body: {string: ''} 37 | headers: 38 | Content-Length: ['0'] 39 | Date: ['Thu, 09 May 2019 01:34:26 GMT'] 40 | ETag: ['"0x8D6D41E79823D40"'] 41 | Last-Modified: ['Thu, 09 May 2019 01:34:27 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-has-immutability-policy: ['false'] 44 | x-ms-has-legal-hold: ['false'] 45 | x-ms-request-id: [99d2d367-b01a-0037-6e07-066384000000] 46 | x-ms-share-quota: ['1'] 47 | x-ms-version: ['2018-11-09'] 48 | status: {code: 200, message: OK} 49 | version: 1 50 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_delete_share_with_non_existing_share.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [96a61b8c-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:29 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.file.core.windows.net/share34c61566?restype=share 13 | response: 14 | body: {string: "\uFEFFShareNotFoundThe\ 15 | \ specified share does not exist.\nRequestId:566729c4-d01a-0027-4507-065562000000\n\ 16 | Time:2019-05-09T01:34:30.0224912Z"} 17 | headers: 18 | Content-Length: ['217'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:34:29 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ShareNotFound] 23 | x-ms-request-id: [566729c4-d01a-0027-4507-065562000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified share does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_delete_share_with_non_existing_share_fail_not_exist.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [971103ac-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:30 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: DELETE 12 | uri: https://storagename.file.core.windows.net/sharea6511b9d?restype=share 13 | response: 14 | body: {string: "\uFEFFShareNotFoundThe\ 15 | \ specified share does not exist.\nRequestId:6ddf49a5-301a-0004-6807-063aa9000000\n\ 16 | Time:2019-05-09T01:34:30.2758887Z"} 17 | headers: 18 | Content-Length: ['217'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:34:29 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [ShareNotFound] 23 | x-ms-request-id: [6ddf49a5-301a-0004-6807-063aa9000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 404, message: The specified share does not exist.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_set_share_acl_too_many_ids.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [a051f49e-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:45 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/share71721131?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:45 GMT'] 18 | ETag: ['"0x8D6D41E84951691"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:45 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [b6aa0ff4-501a-003d-4f07-067a0d000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | version: 1 25 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_share_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [a294ef9a-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:49 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/sharea69d0b92?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:49 GMT'] 18 | ETag: ['"0x8D6D41E86D9A63F"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:49 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [4802bc2a-601a-001c-4207-06173c000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 29 | x-ms-client-request-id: [a2ae4026-71fa-11e9-aabd-acde48001122] 30 | x-ms-date: ['Thu, 09 May 2019 01:34:49 GMT'] 31 | x-ms-version: ['2018-11-09'] 32 | method: GET 33 | uri: https://storagename.file.core.windows.net/sharea69d0b92?restype=share 34 | response: 35 | body: {string: ''} 36 | headers: 37 | Content-Length: ['0'] 38 | Date: ['Thu, 09 May 2019 01:34:49 GMT'] 39 | ETag: ['"0x8D6D41E86D9A63F"'] 40 | Last-Modified: ['Thu, 09 May 2019 01:34:49 GMT'] 41 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 42 | x-ms-has-immutability-policy: ['false'] 43 | x-ms-has-legal-hold: ['false'] 44 | x-ms-request-id: [4802bc2d-601a-001c-4307-06173c000000] 45 | x-ms-share-quota: ['5120'] 46 | x-ms-version: ['2018-11-09'] 47 | status: {code: 200, message: OK} 48 | version: 1 49 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_share_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [a2c73b8a-71fa-11e9-aabd-acde48001122] 8 | x-ms-date: ['Thu, 09 May 2019 01:34:49 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/shared8d10d42?restype=share 12 | response: 13 | body: {string: "\uFEFFShareNotFoundThe\ 14 | \ specified share does not exist.\nRequestId:9951d1db-c01a-0033-7407-069606000000\n\ 15 | Time:2019-05-09T01:34:49.9254904Z"} 16 | headers: 17 | Content-Length: ['217'] 18 | Content-Type: [application/xml] 19 | Date: ['Thu, 09 May 2019 01:34:49 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-error-code: [ShareNotFound] 22 | x-ms-request-id: [9951d1db-c01a-0033-7407-069606000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 404, message: The specified share does not exist.} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_share_snapshot_not_exists.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [a35cae36-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:50 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/share62ad1111?restype=share 13 | response: 14 | body: {string: ''} 15 | headers: 16 | Content-Length: ['0'] 17 | Date: ['Thu, 09 May 2019 01:34:50 GMT'] 18 | ETag: ['"0x8D6D41E87A0D529"'] 19 | Last-Modified: ['Thu, 09 May 2019 01:34:50 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | x-ms-request-id: [4756c713-901a-0002-6407-06cdd1000000] 22 | x-ms-version: ['2018-11-09'] 23 | status: {code: 201, message: Created} 24 | - request: 25 | body: null 26 | headers: 27 | Connection: [keep-alive] 28 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 29 | x-ms-client-request-id: [a3707ac4-71fa-11e9-aabd-acde48001122] 30 | x-ms-date: ['Thu, 09 May 2019 01:34:50 GMT'] 31 | x-ms-version: ['2018-11-09'] 32 | method: GET 33 | uri: https://storagename.file.core.windows.net/share62ad1111?restype=share&sharesnapshot=2017-07-19T06%3A53%3A46.0000000Z 34 | response: 35 | body: {string: "\uFEFFShareNotFoundThe\ 36 | \ specified share does not exist.\nRequestId:4756c716-901a-0002-6507-06cdd1000000\n\ 37 | Time:2019-05-09T01:34:50.9506169Z"} 38 | headers: 39 | Content-Length: ['217'] 40 | Content-Type: [application/xml] 41 | Date: ['Thu, 09 May 2019 01:34:50 GMT'] 42 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 43 | x-ms-error-code: [ShareNotFound] 44 | x-ms-request-id: [4756c716-901a-0002-6507-06cdd1000000] 45 | x-ms-version: ['2018-11-09'] 46 | status: {code: 404, message: The specified share does not exist.} 47 | version: 1 48 | -------------------------------------------------------------------------------- /tests/recordings/test_share.test_unicode_create_share_unicode_name.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | Content-Length: ['0'] 7 | User-Agent: [Azure-Storage/1.4.0-2.0.0 (Python CPython 3.7.0; Darwin 18.5.0)] 8 | x-ms-client-request-id: [a38abc36-71fa-11e9-aabd-acde48001122] 9 | x-ms-date: ['Thu, 09 May 2019 01:34:51 GMT'] 10 | x-ms-version: ['2018-11-09'] 11 | method: PUT 12 | uri: https://storagename.file.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C?restype=share 13 | response: 14 | body: {string: "\uFEFFInvalidResourceNameThe\ 15 | \ specifed resource name contains invalid characters.\nRequestId:dff22ed2-f01a-005d-2a07-063f2f000000\n\ 16 | Time:2019-05-09T01:34:51.2079863Z"} 17 | headers: 18 | Content-Length: ['243'] 19 | Content-Type: [application/xml] 20 | Date: ['Thu, 09 May 2019 01:34:51 GMT'] 21 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 22 | x-ms-error-code: [InvalidResourceName] 23 | x-ms-request-id: [dff22ed2-f01a-005d-2a07-063f2f000000] 24 | x-ms-version: ['2018-11-09'] 25 | status: {code: 400, message: The specifed resource name contains invalid characters.} 26 | version: 1 27 | -------------------------------------------------------------------------------- /tests/recordings_backup/test_handle.test_list_handles_on_file.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-1.4.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [5a6e7ecc-6d6b-11e9-8802-f218981b70f8] 8 | x-ms-date: ['Fri, 03 May 2019 06:19:05 GMT'] 9 | x-ms-version: ['2018-11-09'] 10 | method: GET 11 | uri: https://storagename.file.core.windows.net/test/wut/bla.txt?comp=listhandles 12 | response: 13 | body: {string: "\uFEFF21123902372wut/bla.txt13835136120607735808115293085045568307209385737614310506553167.220.2.92:27553Fri,\ 14 | \ 03 May 2019 04:52:31 GMT"} 15 | headers: 16 | Content-Type: [application/xml] 17 | Date: ['Fri, 03 May 2019 06:19:05 GMT'] 18 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 19 | Transfer-Encoding: [chunked] 20 | x-ms-request-id: [6f1b3437-701a-0008-5478-01d458000000] 21 | x-ms-version: ['2018-11-09'] 22 | status: {code: 200, message: OK} 23 | version: 1 24 | -------------------------------------------------------------------------------- /tests/recordings_backup/test_handle.test_list_handles_on_share_snapshot.yaml: -------------------------------------------------------------------------------- 1 | interactions: 2 | - request: 3 | body: null 4 | headers: 5 | Connection: [keep-alive] 6 | User-Agent: [Azure-Storage/1.4.0-1.4.0 (Python CPython 3.7.0; Darwin 18.5.0)] 7 | x-ms-client-request-id: [0166e1e2-71ea-11e9-9eaf-acde48001122] 8 | x-ms-date: ['Wed, 08 May 2019 23:35:47 GMT'] 9 | x-ms-recursive: ['True'] 10 | x-ms-version: ['2018-11-09'] 11 | method: GET 12 | uri: https://storagename.file.core.windows.net/test?comp=listhandles&sharesnapshot=2019-05-08T23%3A27%3A24.0000000Z 13 | response: 14 | body: {string: "\uFEFF21515839124wut1152930850455683072009435289398791897169167.220.2.92:14118Wed,\ 15 | \ 08 May 2019 23:32:16 GMT21515839125wut1152930850455683072009435289398791897169167.220.2.92:14118Wed,\ 16 | \ 08 May 2019 23:32:17 GMT"} 17 | headers: 18 | Content-Type: [application/xml] 19 | Date: ['Wed, 08 May 2019 23:35:47 GMT'] 20 | Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0] 21 | Transfer-Encoding: [chunked] 22 | x-ms-request-id: [d7453674-901a-002b-1bf6-05bb93000000] 23 | x-ms-version: ['2018-11-09'] 24 | status: {code: 200, message: OK} 25 | version: 1 26 | -------------------------------------------------------------------------------- /tests/run-storage.bat: -------------------------------------------------------------------------------- 1 | @echo OFF 2 | SETLOCAL 3 | REM ------------------------------------------------------------------------- 4 | REM Copyright (c) Microsoft Corporation. All rights reserved. 5 | REM Licensed under the MIT License. See License.txt in the project root for 6 | REM license information. 7 | REM -------------------------------------------------------------------------- 8 | cls 9 | 10 | if "%1%" == "" ( 11 | set PYTHONDIR=%SystemDrive%\Python27 12 | ) else ( 13 | set PYTHONDIR=%1% 14 | ) 15 | 16 | if "%PYTHONPATH%" == "" ( 17 | set PYTHONPATH=. 18 | ) 19 | 20 | set PYTHONPATH=%PYTHONPATH%;.. 21 | 22 | echo Running tests using %PYTHONDIR% 23 | %PYTHONDIR%\python.exe -m unittest discover -p "test_*.py" 24 | 25 | 26 | set UNITTEST_EC=%ERRORLEVEL% 27 | echo Finished running tests! 28 | 29 | 30 | REM --------------------------------------------------------------------------- 31 | :exit_door 32 | exit /B %UNITTEST_EC% -------------------------------------------------------------------------------- /tool_build_packages.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # ------------------------------------------------------------------------- 4 | # Copyright (c) Microsoft Corporation. All rights reserved. 5 | # Licensed under the MIT License. See License.txt in the project root for 6 | # license information. 7 | # -------------------------------------------------------------------------- 8 | 9 | import argparse 10 | import os 11 | from subprocess import check_call 12 | 13 | DEFAULT_DESTINATION_FOLDER = "../dist" 14 | package_list = ['azure-storage-blob', 'azure-storage-file', 'azure-storage-queue', 15 | 'azure-storage-common', 'azure-storage-nspkg'] 16 | 17 | 18 | def create_package(name, dest_folder=DEFAULT_DESTINATION_FOLDER): 19 | absdirpath = os.path.abspath(name) 20 | check_call(['python', 'setup.py', 'bdist_wheel', '-d', dest_folder], cwd=absdirpath) 21 | check_call(['python', 'setup.py', "sdist", '-d', dest_folder], cwd=absdirpath) 22 | 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser(description='Build Azure package.') 26 | parser.add_argument('name', help='The package name') 27 | parser.add_argument('--dest', '-d', default=DEFAULT_DESTINATION_FOLDER, 28 | help='Destination folder. Relative to the package dir. [default: %(default)s]') 29 | 30 | args = parser.parse_args() 31 | if args.name == 'all': 32 | for package in package_list: 33 | create_package(package, args.dest) 34 | else: 35 | create_package(args.name, args.dest) 36 | -------------------------------------------------------------------------------- /tool_clean_build_files.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # clean up all build files that were generated by setup.py 4 | rm -vrf ./azure-storage-*/build ./azure-storage-*/*.egg-info ./dist ./py?test-* ./build 5 | --------------------------------------------------------------------------------