From 8af451174eda07d40076ae8d951a680ddaced238 Mon Sep 17 00:00:00 2001 From: Arpad Borsos Date: Mon, 9 Sep 2024 12:55:22 +0200 Subject: [PATCH 1/2] Clean up Archive Storage Tests - Converts from class-based to function-based tests. - Cleans up usage of bucket names and filepaths. - Tests the minio and AWS backends against a live minio instance. (as a reminder: minio is supposed to be AWS API compatible) - Run GCS storage tests against upstream GCS. The GCS tests were locally run by using the existing symbolicator GCS test credentials, though they are lacking some permissions. Also embeds the other change to avoid constantly fetching GCS bucket metadata on each read/write. Avoiding fetching of blob metadata was reverted however, as that does not play nice with correctly downloading gzip compressed archives depending on their content-type. --- .gitignore | 2 + docker-compose.yml | 6 +- shared/storage/aws.py | 1 + shared/storage/gcp.py | 74 +- shared/storage/minio.py | 10 +- tests/unit/storage/__init__.py | 0 .../test_batch_delete_files.yaml | 199 --- .../test_create_bucket.yaml | 55 - .../test_create_bucket_already_exists.yaml | 29 - ...reate_bucket_already_exists_at_region.yaml | 64 - .../test_create_bucket_at_region.yaml | 60 - .../test_delete_file.yaml | 95 -- .../test_list_folder_contents.yaml | 306 ----- ...test_write_then_append_then_read_file.yaml | 142 --- .../test_write_then_read_file.yaml | 71 -- .../test_write_then_read_gzipped_file.yaml | 96 -- ...ite_then_read_reduced_redundancy_file.yaml | 73 -- .../test_append_to_non_existing_file.yaml | 437 ------- .../test_batch_delete_files.yaml | 1107 ----------------- .../test_create_bucket.yaml | 187 --- .../test_create_bucket_already_exists.yaml | 104 -- .../test_delete_file_doesnt_exist.yaml | 161 --- .../test_list_folder_contents.yaml | 1052 ---------------- ...ist_on_first_but_not_exists_on_second.yaml | 335 ----- .../test_read_file_does_not_exist.yaml | 196 --- ...t_exist_on_first_but_exists_on_second.yaml | 250 ---- ...test_write_then_append_then_read_file.yaml | 615 --------- .../test_write_then_delete_file.yaml | 445 ------- .../test_write_then_read_file.yaml | 335 ----- .../test_append_to_non_existing_file.yaml | 416 ------- .../test_batch_delete_files.yaml | 943 -------------- .../test_create_bucket.yaml | 115 -- .../test_create_bucket_already_exists.yaml | 104 -- .../test_delete_file_doesnt_exist.yaml | 160 --- .../test_list_folder_contents.yaml | 1042 ---------------- ...y_then_read_then_write_then_read_file.yaml | 722 ----------- .../test_read_file_application_gzip.yaml | 432 ------- .../test_read_file_does_not_exist.yaml | 158 --- ...test_write_then_append_then_read_file.yaml | 599 --------- .../test_write_then_delete_file.yaml | 349 ------ .../test_write_then_read_file.yaml | 372 ------ .../test_write_then_read_file_gzipped.yaml | 327 ----- .../test_write_then_read_file_obj.yaml | 387 ------ .../test_append_to_non_existing_file.yaml | 180 --- .../test_batch_delete_files.yaml | 312 ----- .../test_create_bucket.yaml | 125 -- .../test_create_bucket_already_exists.yaml | 161 --- .../test_delete_file_doesnt_exist.yaml | 80 -- .../test_list_folder_contents.yaml | 416 ------- .../test_read_file_does_not_exist.yaml | 86 -- ...test_write_then_append_then_read_file.yaml | 236 ---- .../test_write_then_delete_file.yaml | 170 --- .../test_write_then_read_file.yaml | 140 --- .../test_write_then_read_file_obj.yaml | 140 --- tests/unit/storage/test_aws.py | 357 +++--- tests/unit/storage/test_fallback.py | 376 +++--- tests/unit/storage/test_gcp.py | 495 ++++---- tests/unit/storage/test_init.py | 84 +- tests/unit/storage/test_memory.py | 283 +++-- tests/unit/storage/test_minio.py | 428 ++++--- 60 files changed, 1103 insertions(+), 15599 deletions(-) create mode 100644 tests/unit/storage/__init__.py delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_batch_delete_files.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists_at_region.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_at_region.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_delete_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_list_folder_contents.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_append_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_gzipped_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_reduced_redundancy_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_append_to_non_existing_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_batch_delete_files.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket_already_exists.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_delete_file_doesnt_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_list_folder_contents.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_exist_on_first_but_not_exists_on_second.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist_on_first_but_exists_on_second.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_append_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_delete_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_append_to_non_existing_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_batch_delete_files.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket_already_exists.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_delete_file_doesnt_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_list_folder_contents.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_manually_then_read_then_write_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_application_gzip.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_does_not_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_append_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_gzipped.yaml delete mode 100644 tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_obj.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_append_to_non_existing_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_batch_delete_files.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket_already_exists.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_delete_file_doesnt_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_list_folder_contents.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_read_file_does_not_exist.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_append_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_delete_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file.yaml delete mode 100644 tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file_obj.yaml diff --git a/.gitignore b/.gitignore index 33edc1c0e..e8b7fa163 100644 --- a/.gitignore +++ b/.gitignore @@ -152,3 +152,5 @@ cython_debug/ # Make working with Sapling a little easier .git .sl + +tests/gcs-service-account.json diff --git a/docker-compose.yml b/docker-compose.yml index 5831b8716..4417b4ec4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,12 +51,12 @@ services: size: 1024M minio: - image: minio/minio:RELEASE.2019-04-09T01-22-30Z - command: server /export + image: minio/minio + command: server /data ports: - "9000:9000" environment: - MINIO_ACCESS_KEY=codecov-default-key - MINIO_SECRET_KEY=codecov-default-secret volumes: - - archive-volume:/export + - archive-volume:/data diff --git a/shared/storage/aws.py b/shared/storage/aws.py index 6d5b8c3ef..fc9d79e99 100644 --- a/shared/storage/aws.py +++ b/shared/storage/aws.py @@ -15,6 +15,7 @@ def __init__(self, aws_config): self.config = aws_config self.storage_client = boto3.client( aws_config.get("resource"), + endpoint_url=aws_config.get("endpoint_url"), aws_access_key_id=aws_config.get("aws_access_key_id"), aws_secret_access_key=aws_config.get("aws_secret_access_key"), region_name=aws_config.get("region_name"), diff --git a/shared/storage/gcp.py b/shared/storage/gcp.py index 3dcc1c4b7..3113698d0 100644 --- a/shared/storage/gcp.py +++ b/shared/storage/gcp.py @@ -1,5 +1,6 @@ import gzip import logging +from typing import IO import google.cloud.exceptions from google.cloud import storage @@ -26,8 +27,8 @@ def load_credentials(self, gcp_config): return Credentials.from_service_account_info(gcp_config) def get_blob(self, bucket_name, path): - bucket = self.storage_client.get_bucket(bucket_name) - return storage.Blob(path, bucket) + bucket = self.storage_client.bucket(bucket_name) + return bucket.blob(path) def create_root_storage(self, bucket_name="archive", region="us-east-1"): """ @@ -48,29 +49,27 @@ def create_root_storage(self, bucket_name="archive", region="us-east-1"): def write_file( self, - bucket_name, - path, - data, + bucket_name: str, + path: str, + data: str | bytes | IO, reduced_redundancy=False, *, is_already_gzipped: bool = False, ): """ - Writes a new file with the contents of `data` - (What happens if the file already exists?) + Writes a new file with the contents of `data` + (What happens if the file already exists?) Args: bucket_name (str): The name of the bucket for the file to be created on path (str): The desired path of the file - data (str): The data to be written to the file + data: The data to be written to the file reduced_redundancy (bool): Whether a reduced redundancy mode should be used (default: {False}) is_already_gzipped (bool): Whether the file is already gzipped (default: {False}) - - Raises: - NotImplementedError: If the current instance did not implement this method """ blob = self.get_blob(bucket_name, path) + if isinstance(data, str): data = data.encode() if isinstance(data, bytes): @@ -84,7 +83,9 @@ def write_file( blob.upload_from_file(data) return True - def read_file(self, bucket_name, path, file_obj=None, *, retry=0): + def read_file( + self, bucket_name: str, path: str, file_obj: IO | None = None + ) -> bytes: """Reads the content of a file Args: @@ -92,14 +93,21 @@ def read_file(self, bucket_name, path, file_obj=None, *, retry=0): path (str): The path of the file Raises: - NotImplementedError: If the current instance did not implement this method FileNotInStorageError: If the file does not exist Returns: - bytes : The contents of that file, still encoded as bytes + bytes: The contents of that file, still encoded as bytes """ blob = self.get_blob(bucket_name, path) + try: + # The two `download_XYZ` below will transparently decompress gzip encoded files. + # However, that has a very weird interaction with a content-type of + # `application/x-gzip`, which can lead to bogus checksum mismatch errors. + # To avoid that for now without creating a wrapper that can + # decompress `gzip`, and potentially `zstd` compressed transparently, + # we will rewrite the metadata of the blob so that the `download_XYZ` + # will properly apply transparent decompression. blob.reload() if ( blob.content_type == "application/x-gzip" @@ -108,19 +116,15 @@ def read_file(self, bucket_name, path, file_obj=None, *, retry=0): blob.content_type = "text/plain" blob.content_encoding = "gzip" blob.patch() + if file_obj is None: - return blob.download_as_bytes(checksum="crc32c") + return blob.download_as_bytes() else: - blob.download_to_file(file_obj, checksum="crc32c") + blob.download_to_file(file_obj) except google.cloud.exceptions.NotFound: raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}") - except google.resumable_media.common.DataCorruption: - if retry == 0: - log.info("Download checksum failed. Trying again") - return self.read_file(bucket_name, path, file_obj, retry=1) - raise - def delete_file(self, bucket_name, path): + def delete_file(self, bucket_name: str, path: str) -> bool: """Deletes a single file from the storage (what happens if the file doesnt exist?) Args: @@ -128,11 +132,10 @@ def delete_file(self, bucket_name, path): path (str): The path of the file to be deleted Raises: - NotImplementedError: If the current instance did not implement this method FileNotInStorageError: If the file does not exist Returns: - bool: True if the deletion was succesful + bool: True if the deletion was successful """ blob = self.get_blob(bucket_name, path) try: @@ -141,7 +144,7 @@ def delete_file(self, bucket_name, path): raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}") return True - def delete_files(self, bucket_name, paths=[]): + def delete_files(self, bucket_name: str, paths: list[str]) -> list[bool]: """Batch deletes a list of files from a given bucket (what happens to the files that don't exist?) @@ -149,20 +152,17 @@ def delete_files(self, bucket_name, paths=[]): bucket_name (str): The name of the bucket for the file lives paths (list): A list of the paths to be deletes (default: {[]}) - Raises: - NotImplementedError: If the current instance did not implement this method - Returns: list: A list of booleans, where each result indicates whether that file was deleted successfully """ - bucket = self.storage_client.get_bucket(bucket_name) - blobs = [self.get_blob(bucket_name, path) for path in paths] + bucket = self.storage_client.bucket(bucket_name) + blobs = [bucket.blob(path) for path in paths] blobs_errored = set() bucket.delete_blobs(blobs, on_error=blobs_errored.add) return [b not in blobs_errored for b in blobs] - def list_folder_contents(self, bucket_name, prefix=None, recursive=True): + def list_folder_contents(self, bucket_name: str, prefix=None, recursive=True): """List the contents of a specific folder Attention: google ignores the `recursive` param @@ -171,13 +171,9 @@ def list_folder_contents(self, bucket_name, prefix=None, recursive=True): bucket_name (str): The name of the bucket for the file lives prefix: The prefix of the files to be listed (default: {None}) recursive: Whether the listing should be recursive (default: {True}) - - Raises: - NotImplementedError: If the current instance did not implement this method """ assert recursive - bucket = self.storage_client.get_bucket(bucket_name) - return (self._blob_to_dict(b) for b in bucket.list_blobs(prefix=prefix)) - - def _blob_to_dict(self, blob): - return {"name": blob.name, "size": blob.size} + bucket = self.storage_client.bucket(bucket_name) + return ( + {"name": b.name, "size": b.size} for b in bucket.list_blobs(prefix=prefix) + ) diff --git a/shared/storage/minio.py b/shared/storage/minio.py index 7b5f5ec81..d0167e34d 100644 --- a/shared/storage/minio.py +++ b/shared/storage/minio.py @@ -56,17 +56,17 @@ def init_minio_client( region: str = None, ): """ - Initialize the minio client + Initialize the minio client `iam_auth` adds support for IAM base authentication in a fallback pattern. - The following will be checked in order: + The following will be checked in order: * EC2 metadata -- a custom endpoint can be provided, default is None. - * AWS env vars, specifically AWS_ACCESS_KEY and AWS_SECRECT_KEY * Minio env vars, specifically MINIO_ACCESS_KEY and MINIO_SECRET_KEY + * AWS env vars, specifically AWS_ACCESS_KEY and AWS_SECRECT_KEY - to support backward compatibility, the iam_auth setting should be used in the installation - configuration + to support backward compatibility, the iam_auth setting should be used + in the installation configuration Args: host (str): The address of the host where minio lives diff --git a/tests/unit/storage/__init__.py b/tests/unit/storage/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_batch_delete_files.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_batch_delete_files.yaml deleted file mode 100644 index 38dfbbfed..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_batch_delete_files.yaml +++ /dev/null @@ -1,199 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAwWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_batch_delete_files/result1.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:02 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [2GmISUjvUb99E1HAg5phwwe8idVXeOT1y+xcCXglgbHkqVBqZPHHtvrPOWL3FLuBN9x+b8UgZdw=] - x-amz-request-id: [480DA8EFC75546C1] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAxWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_batch_delete_files/result3.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:02 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [1tLtVtnw6YzsBVpxlJjeyG+7ku0Sh7z7vVDvxKg0DvA9gP+JHyDutw1n31uBXRvUEi5P+brXjzA=] - x-amz-request-id: [65FEB366C38A8360] - status: {code: 200, message: OK} -- request: - body: test_batch_delete_files/result1.txttest_batch_delete_files/result2.txttest_batch_delete_files/result3.txt - headers: - Content-Length: ['254'] - Content-MD5: - - !!binary | - U0xoV0hBdENhbXovamZmNEltRXB6QT09 - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZmZiOGU1MmE0ODQ1MjBiMTk5Mzg0NTc2OWI1MmFkZGM4ODUxYzM3YTNjZTBiZWVkZDVkYjE0NGE0 - N2ExM2EzNA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAxWg== - method: POST - uri: https://felipearchivetest.s3.amazonaws.com/?delete - response: - body: {string: ' - - test_batch_delete_files/result3.txttest_batch_delete_files/result1.txttest_batch_delete_files/result2.txt'} - headers: - Connection: [close] - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:02 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [6v9K+ayHzs/6kpRQZ77S9lg58o3/G/WX6PR2l1qbC3Rd/wx2XO9FfuuN3xDpbxv/uP+h03YoDwk=] - x-amz-request-id: [5FB11EEA983C14B0] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAxWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_batch_delete_files/result1.txt - response: - body: {string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result1.txt44C2C5E6CD9EA766CMHWS0CPI2RgS+QD0PUnx1F3gFyIV2ROTFbXZ9DD3+X3rNQkXKgYlwqZPzUNbvQT8Z6oMJq7DLk='} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:01 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [CMHWS0CPI2RgS+QD0PUnx1F3gFyIV2ROTFbXZ9DD3+X3rNQkXKgYlwqZPzUNbvQT8Z6oMJq7DLk=] - x-amz-request-id: [44C2C5E6CD9EA766] - status: {code: 404, message: Not Found} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAxWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_batch_delete_files/result2.txt - response: - body: {string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result2.txt90A979E5DFD47F4062cgnaEGAbV+1+uuhK48ru0TfJWzGvuBNpek+NS4sNFG3Zror6QjCWpyflAGDTI14kLxZw6qv0g='} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:01 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [62cgnaEGAbV+1+uuhK48ru0TfJWzGvuBNpek+NS4sNFG3Zror6QjCWpyflAGDTI14kLxZw6qv0g=] - x-amz-request-id: [90A979E5DFD47F40] - status: {code: 404, message: Not Found} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAyWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_batch_delete_files/result3.txt - response: - body: {string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result3.txt535937CF44D5FD57jZuxJGDxq8Go6GW7MekSG17EqSCvIgA0xUSZqfn8wURINm4Mf3kosbZXp2cakuC2LCK7RBS03aM='} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:01 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [jZuxJGDxq8Go6GW7MekSG17EqSCvIgA0xUSZqfn8wURINm4Mf3kosbZXp2cakuC2LCK7RBS03aM=] - x-amz-request-id: [535937CF44D5FD57] - status: {code: 404, message: Not Found} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket.yaml deleted file mode 100644 index 2e6ff4cfb..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket.yaml +++ /dev/null @@ -1,55 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU0Wg== - method: HEAD - uri: https://felipearchivetest.s3.amazonaws.com/ - response: - body: {string: ''} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:55 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [7mlbc2RBIciSknzkNlRBH+a3sHRxnEt0/2fdZoUV0kOkBmW+c3097Tt8aO7OE9rBg0ITpyI+qQY=] - x-amz-request-id: [06A90B3469834F29] - status: {code: 404, message: Not Found} -- request: - body: null - headers: - Content-Length: ['0'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU1Wg== - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/ - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:04:56 GMT'] - Location: [/felipearchivetest] - Server: [AmazonS3] - x-amz-id-2: [4plO7O7jIag/sA+FlbZq/i07QNwZ+JQccLW5WWb00GahebnN9yiKjPeiN06rXnRJuVgqQTcxuUI=] - x-amz-request-id: [435FEAFB21C318A1] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists.yaml deleted file mode 100644 index ba4a18e11..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists.yaml +++ /dev/null @@ -1,29 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU3Wg== - method: HEAD - uri: https://felipearchivetest.s3.amazonaws.com/ - response: - body: {string: ''} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:58 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-bucket-region: [us-east-1] - x-amz-id-2: [Moal/oR/d4JS8t4dq8C1isFgmCtkOQweLfxd3eitkmGmTvmr43SWLjimn6Y1CfXheKaN8vbzrOo=] - x-amz-request-id: [2C3EA33FF25FA99C] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists_at_region.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists_at_region.yaml deleted file mode 100644 index e12c9cf6b..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_already_exists_at_region.yaml +++ /dev/null @@ -1,64 +0,0 @@ -interactions: -- request: - body: us-west-1 - headers: - Content-Length: ['153'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - YjAyNGMzODhkOWQwNjkwMzAwMDhhZmQ2ZTMwMjUyNGVkMTMwOGE5ZjNjMTA4YmZhNGU0ODFkNjUy - YjUzMTNjZg== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU3Wg== - method: PUT - uri: https://felipearchivetestw.s3.amazonaws.com/ - response: - body: {string: ' - - AuthorizationHeaderMalformedThe authorization - header is malformed; the region ''us-east-1'' is wrong; expecting ''us-west-1''us-west-15892CCC095B226BBZ5XlSqUzHOkVqE9w2ekJHAEz9xGj4gYusR+7eWv5zOiZ5+Pglwqd5X8NwcynkX0ZTIimVU3C2tA='} - headers: - Connection: [close] - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:56 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [Z5XlSqUzHOkVqE9w2ekJHAEz9xGj4gYusR+7eWv5zOiZ5+Pglwqd5X8NwcynkX0ZTIimVU3C2tA=] - x-amz-request-id: [5892CCC095B226BB] - status: {code: 400, message: Bad Request} -- request: - body: us-west-1 - headers: - Content-Length: ['153'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - YjAyNGMzODhkOWQwNjkwMzAwMDhhZmQ2ZTMwMjUyNGVkMTMwOGE5ZjNjMTA4YmZhNGU0ODFkNjUy - YjUzMTNjZg== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU3Wg== - method: PUT - uri: https://felipearchivetestw.s3.us-west-1.amazonaws.com/ - response: - body: {string: ' - - BucketAlreadyOwnedByYouYour previous request - to create the named bucket succeeded and you already own it.felipearchivetestw6AFE12359F12523D8fpurkK4kGXOP/B+wbP3iuMRV2blzSF+Rvdb2nmqEMcjNWw+wxDdT43LZ2eESG3FL794U0R3Bek='} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:57 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-bucket-region: [us-west-1] - x-amz-id-2: [8fpurkK4kGXOP/B+wbP3iuMRV2blzSF+Rvdb2nmqEMcjNWw+wxDdT43LZ2eESG3FL794U0R3Bek=] - x-amz-request-id: [6AFE12359F12523D] - status: {code: 409, message: Conflict} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_at_region.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_at_region.yaml deleted file mode 100644 index 6a43094fb..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_create_bucket_at_region.yaml +++ /dev/null @@ -1,60 +0,0 @@ -interactions: -- request: - body: us-west-1 - headers: - Content-Length: ['153'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - YjAyNGMzODhkOWQwNjkwMzAwMDhhZmQ2ZTMwMjUyNGVkMTMwOGE5ZjNjMTA4YmZhNGU0ODFkNjUy - YjUzMTNjZg== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU1Wg== - method: PUT - uri: https://felipearchivetestw.s3.amazonaws.com/ - response: - body: {string: ' - - AuthorizationHeaderMalformedThe authorization - header is malformed; the region ''us-east-1'' is wrong; expecting ''us-west-1''us-west-113DABBC4E49AA14FHI27pXi1MhL3oR7RFR4/Vlw8Oqog85gzyO7AsooDo7pEwWp2m9kzbl2JN6klS6wFJhUiiOXN0ks='} - headers: - Connection: [close] - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:55 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [HI27pXi1MhL3oR7RFR4/Vlw8Oqog85gzyO7AsooDo7pEwWp2m9kzbl2JN6klS6wFJhUiiOXN0ks=] - x-amz-request-id: [13DABBC4E49AA14F] - status: {code: 400, message: Bad Request} -- request: - body: us-west-1 - headers: - Content-Length: ['153'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - YjAyNGMzODhkOWQwNjkwMzAwMDhhZmQ2ZTMwMjUyNGVkMTMwOGE5ZjNjMTA4YmZhNGU0ODFkNjUy - YjUzMTNjZg== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU2Wg== - method: PUT - uri: https://felipearchivetestw.s3.us-west-1.amazonaws.com/ - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:04:57 GMT'] - Location: ['http://felipearchivetestw.s3.amazonaws.com/'] - Server: [AmazonS3] - x-amz-id-2: [Lgxj4oSuw8BVxYK6CqU0/wS0HgyuYXMgLJHR2XEDwJf3qzWpt4E/9DmGCR1b/6tJd9pcgLExImY=] - x-amz-request-id: [37ADBE5BB9F34B96] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_delete_file.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_delete_file.yaml deleted file mode 100644 index d52116727..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_delete_file.yaml +++ /dev/null @@ -1,95 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAwWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_delete_file/result2 - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:01 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [f3HmQPeNGnHL0QUzMZPhOLZLwOuCxIeE50muh/qRrpkpEefEVHwNimOONaP6ux24103+UjBygAU=] - x-amz-request-id: [FB2E436EAB571BFE] - status: {code: 200, message: OK} -- request: - body: null - headers: - Content-Length: ['0'] - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAwWg== - method: DELETE - uri: https://felipearchivetest.s3.amazonaws.com/test_delete_file/result2 - response: - body: {string: ''} - headers: - Date: ['Mon, 09 Sep 2019 17:05:01 GMT'] - Server: [AmazonS3] - x-amz-id-2: [7yqR0UjY4+oPbMILjTe+8o+sZBiPhaXr75SkVwk0k4V2xdwLLW7NXgTyXJT04q3xVkAbxDaQvkg=] - x-amz-request-id: [25E74A5AEFEA3400] - status: {code: 204, message: No Content} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAwWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_delete_file/result2 - response: - body: {string: ' - - NoSuchKeyThe specified key does not exist.test_delete_file/result213300495DC7EB035hatVGxjOMwBe/oFuuJ5tjHJ5uG618f0suswk7DBYifbBGiEZccNfmAxXX8YhymyEiXxbzUQFZag='} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:04:59 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-id-2: [hatVGxjOMwBe/oFuuJ5tjHJ5uG618f0suswk7DBYifbBGiEZccNfmAxXX8YhymyEiXxbzUQFZag=] - x-amz-request-id: [13300495DC7EB035] - status: {code: 404, message: Not Found} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_list_folder_contents.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_list_folder_contents.yaml deleted file mode 100644 index 7497805c0..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_list_folder_contents.yaml +++ /dev/null @@ -1,306 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9yZXN1 - bHRfMS50eHQgZm9yIA== - - 0 - - null - headers: - Content-Length: ['70'] - Content-MD5: - - !!binary | - UjJ0eWMraWdlQTBzaXBIOWZhdWFqZz09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAyWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/result_1.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:03 GMT'] - ETag: ['"476b7273e8a0780d2c8a91fd7dab9a8e"'] - Server: [AmazonS3] - x-amz-id-2: [C4Zi27X8+kj2ibztEtVG7WIBwuCPaUqROJVWA01uJmlAiM21bHl3fClO53kNeI60jkgIPo3TgcE=] - x-amz-request-id: [17488E4D436BF32F] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9yZXN1 - bHRfMi50eHQgZm9yIHBv - - 0 - - null - headers: - Content-Length: ['72'] - Content-MD5: - - !!binary | - RlRRbDBhSE9XVFVXQU9reUlZRFNGZz09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAyWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/result_2.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:03 GMT'] - ETag: ['"153425d1a1ce59351600e9322180d216"'] - Server: [AmazonS3] - x-amz-id-2: [AtlE7JfIZ7K4BWhb4R9X/o6oj3ViEUYGR/M9XXSXvxxigfWgUhkZz6XKz5vGQu2iH8YO3zL6YF4=] - x-amz-request-id: [2E142DC706F9821A] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9yZXN1 - bHRfMy50eHQgZm9yIHBvcG8= - - 0 - - null - headers: - Content-Length: ['74'] - Content-MD5: - - !!binary | - QitRZW1LMTF5T1c5Z3dGK0tHUU5RZz09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAyWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/result_3.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:03 GMT'] - ETag: ['"07e41e98ad75c8e5bd83017e28640d42"'] - Server: [AmazonS3] - x-amz-id-2: [xLJ1PbgB3cVYEonQmAP0QeS6pvAHTWYx8b6KcHTz5mMAvmAVaQtZb65LDh2diEoSZ0ZuPvdMD5g=] - x-amz-request-id: [301497F5D59F60C2] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9mMS9y - ZXN1bHRfNC50eHQgZm9yIHBvcG9wbw== - - 0 - - null - headers: - Content-Length: ['79'] - Content-MD5: - - !!binary | - UmhEUTU1L0RFNG95R1dsQXE2RUdaQT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAzWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/f1/result_4.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:04 GMT'] - ETag: ['"4610d0e79fc3138a32196940aba10664"'] - Server: [AmazonS3] - x-amz-id-2: [NGV5M4ZX/MepVsva3K8NvvY1lvrJizlXbf3ItWwFXSg96taohZU4LzMDDNTQiX4oOHpawjdxJkI=] - x-amz-request-id: [3E5BD7EA618B03BC] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9mMS9y - ZXN1bHRfNS50eHQgZm9yIHBvcG9wb3Bv - - 0 - - null - headers: - Content-Length: ['81'] - Content-MD5: - - !!binary | - ZlRraE1MZ1o0ZmVvZEN6TEYxNENVQT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAzWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/f1/result_5.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:04 GMT'] - ETag: ['"7d392130b819e1f7a8742ccb175e0250"'] - Server: [AmazonS3] - x-amz-id-2: [gQERiVelT16pxFaldU1s42xPcmuyiaJrkiYEQcnyAfI733u7UqzyBKPa5lCIC5dlyODuomBSG14=] - x-amz-request-id: [57277DDAAC240C0F] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - TG9yZW0gaXBzdW0gb24gZmlsZSBmZWxpcGUvdGVzdF9saXN0X2ZvbGRlcl9jb250ZW50cy9mMS9y - ZXN1bHRfNi50eHQgZm9yIHBvcG9wb3BvcG8= - - 0 - - null - headers: - Content-Length: ['83'] - Content-MD5: - - !!binary | - RVAvZEJQeEcrK0FjZE5QWnJtNDNSdz09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAzWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/felipe/test_list_folder_contents/f1/result_6.txt - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:04 GMT'] - ETag: ['"10ffdd04fc46fbe01c74d3d9ae6e3747"'] - Server: [AmazonS3] - x-amz-id-2: [tCwRpXjqMLTTCddZjHU70G9XCf4h+knh2c00gRbJy7YEghr0WTC4bl3PqKdKQz/+d9TFa4L+mfY=] - x-amz-request-id: [17AA60F7A9D7E5E4] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAzWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/?prefix=felipe%2Ftest_list_folder_contents&encoding-type=url - response: - body: {string: ' - - felipearchivetestfelipe/test_list_folder_contents1000urlfalsefelipe/test_list_folder_contents/f1/result_4.txt2019-09-09T17:05:04.000Z"4610d0e79fc3138a32196940aba10664"793105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/f1/result_5.txt2019-09-09T17:05:04.000Z"7d392130b819e1f7a8742ccb175e0250"813105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/f1/result_6.txt2019-09-09T17:05:04.000Z"10ffdd04fc46fbe01c74d3d9ae6e3747"833105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/result_1.txt2019-09-09T17:05:03.000Z"476b7273e8a0780d2c8a91fd7dab9a8e"703105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/result_2.txt2019-09-09T17:05:03.000Z"153425d1a1ce59351600e9322180d216"723105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/result_3.txt2019-09-09T17:05:03.000Z"07e41e98ad75c8e5bd83017e28640d42"743105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARD'} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:04 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-bucket-region: [us-east-1] - x-amz-id-2: [ozJfKTE8Rey4+uNqxu/GzAvjOD654iA7Zlct2zYM+IPnMGM0I7yyoBnz1l5067+aD+jcIi0kdyA=] - x-amz-request-id: [98607EF9A958D37D] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNTAzWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/?prefix=felipe%2Ftest_list_folder_contents%2Ff1&encoding-type=url - response: - body: {string: ' - - felipearchivetestfelipe/test_list_folder_contents/f11000urlfalsefelipe/test_list_folder_contents/f1/result_4.txt2019-09-09T17:05:04.000Z"4610d0e79fc3138a32196940aba10664"793105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/f1/result_5.txt2019-09-09T17:05:04.000Z"7d392130b819e1f7a8742ccb175e0250"813105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARDfelipe/test_list_folder_contents/f1/result_6.txt2019-09-09T17:05:04.000Z"10ffdd04fc46fbe01c74d3d9ae6e3747"833105e4cf451e730df5382ab578e76e3b0de79b77ec03e40ac79bcc9b1b9c22a5devopsSTANDARD'} - headers: - Content-Type: [application/xml] - Date: ['Mon, 09 Sep 2019 17:05:05 GMT'] - Server: [AmazonS3] - Transfer-Encoding: [chunked] - x-amz-bucket-region: [us-east-1] - x-amz-id-2: [txLeC44+VZRtjwEKGuKvBLE71o6eXKqUSvy/h9VSFAMZXohDu+fVyYS4fM+r862c08SnenG+9nM=] - x-amz-request-id: [E2F06CED07051671] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_append_then_read_file.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_append_then_read_file.yaml deleted file mode 100644 index 245bb0b51..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_append_then_read_file.yaml +++ /dev/null @@ -1,142 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU4Wg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_append_then_read_file/result - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:00 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [yfsCTYJKXocCjCzeCs6v5bQasfkClg7uYmO+0KagRt2/R4MQszEioMDi+CdgH7U/vjLQn2ymbdE=] - x-amz-request-id: [0D8F32D4F1A46EBC] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU5Wg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_append_then_read_file/result - response: - body: {string: "lorem ipsum dolor test_write_then_read_file \xE1"} - headers: - Accept-Ranges: [bytes] - Content-Length: ['46'] - Content-Type: [binary/octet-stream] - Date: ['Mon, 09 Sep 2019 17:05:00 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Last-Modified: ['Mon, 09 Sep 2019 17:05:00 GMT'] - Server: [AmazonS3] - x-amz-id-2: [/tpzrBn5RZnjqSYHDUkidlw5rP81kOqWvkZA7vGohRNjYidcWIxDJvGv8wIHfQavN0mcFHNA8/w=] - x-amz-request-id: [6F7225211D7B8954] - status: {code: 200, message: OK} -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQptb20sIGxvb2sg - YXQgbWUsIGFwcGVuZGluZyBkYXRh - - 0 - - null - headers: - Content-Length: ['78'] - Content-MD5: - - !!binary | - MlpISHlkek9ESDR2S0JJZDNqNEl4QT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU5Wg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_append_then_read_file/result - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:05:00 GMT'] - ETag: ['"d991c7c9dcce0c7e2f28121dde3e08c4"'] - Server: [AmazonS3] - x-amz-id-2: [M7Sg/Ujtq0PpMLxBetfk4NwOwvG9JwffhZHNJDpzpO8m+JeD4ybg8+2nXJNM0Fpf6JjTpydiE8I=] - x-amz-request-id: [FABD3E958A23F16D] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU5Wg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_append_then_read_file/result - response: - body: {string: "lorem ipsum dolor test_write_then_read_file \xE1\nmom, look at\ - \ me, appending data"} - headers: - Accept-Ranges: [bytes] - Content-Length: ['78'] - Content-Type: [binary/octet-stream] - Date: ['Mon, 09 Sep 2019 17:05:00 GMT'] - ETag: ['"d991c7c9dcce0c7e2f28121dde3e08c4"'] - Last-Modified: ['Mon, 09 Sep 2019 17:05:00 GMT'] - Server: [AmazonS3] - x-amz-id-2: [JUs9w5P21EYS5OhHMW9VdCLw8pAVX1S/7qoHDL118k7gE5MKlYadKgQda2pSYIHRU82o8kNxLIg=] - x-amz-request-id: [C245A636B6202151] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_file.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_file.yaml deleted file mode 100644 index a20711e24..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_file.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU4Wg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_file/result - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Mon, 09 Sep 2019 17:04:59 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [pRFYYPtGhmYDy/uD4KQBh1Jp5K0Kv37kQPg8VUHxqdXqI8ZC2i3+OrSOEE8kJ+SILExXlH5g7Fo=] - x-amz-request-id: [122F8E5B91BDA25B] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - NA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MDlUMTcwNDU4Wg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_file/result - response: - body: {string: "lorem ipsum dolor test_write_then_read_file \xE1"} - headers: - Accept-Ranges: [bytes] - Content-Length: ['46'] - Content-Type: [binary/octet-stream] - Date: ['Mon, 09 Sep 2019 17:04:59 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Last-Modified: ['Mon, 09 Sep 2019 17:04:59 GMT'] - Server: [AmazonS3] - x-amz-id-2: [x9PyNiORjsZvpPSYD/cKW71vznNT94+iHc9h61Lq0xtqIoZETPjQ7eKoyZXNHiyriweaF4Va6Fg=] - x-amz-request-id: [751529C7DB8043BA] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_gzipped_file.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_gzipped_file.yaml deleted file mode 100644 index 6f3950491..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_gzipped_file.yaml +++ /dev/null @@ -1,96 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - H4sIAFzRPF4C/wXBgQmAQAgF0FXc7BP46wQvxTOCtmmWFus9j+IUy3VN0fAoaa7GXdZED54oborj - sUwqdnPK9/4qCE07NgAAAA== - - 0 - - null - headers: - Content-Length: - - '73' - Content-MD5: - - !!binary | - Sk84anBqRy84UEo3dUNEY2NrUmhxUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAyMDAyMDdUMDI1NDIwWg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_gzipped_file/result - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 07 Feb 2020 02:54:22 GMT - ETag: - - '"24ef23a631bff0f27bb820dc724461a9"' - Server: - - AmazonS3 - x-amz-id-2: - - p7oPm2+bd6GaUxKZPrP4v95a7b2dXMiiO7qFgM2P90gTNcDshqh+xWWVK5eYyE1oA502s3CVvAM= - x-amz-request-id: - - FEE0D9CB67D14C7B - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMDdUMDI1NDIxWg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_gzipped_file/result - response: - body: - string: !!binary | - H4sIAFzRPF4C/wXBgQmAQAgF0FXc7BP46wQvxTOCtmmWFus9j+IUy3VN0fAoaa7GXdZED54oborj - sUwqdnPK9/4qCE07NgAAAA== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '73' - Content-Type: - - binary/octet-stream - Date: - - Fri, 07 Feb 2020 02:54:22 GMT - ETag: - - '"24ef23a631bff0f27bb820dc724461a9"' - Last-Modified: - - Fri, 07 Feb 2020 02:54:22 GMT - Server: - - AmazonS3 - x-amz-id-2: - - C4+OB6AaxSLe//9ESzrHbizdQvR7V683yxLPnb1LO8YRD58r7mDXj48w1dBevd8E6dMI4E99YxM= - x-amz-request-id: - - 1D8B9486B4FF75FE - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_reduced_redundancy_file.yaml b/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_reduced_redundancy_file.yaml deleted file mode 100644 index d15e6c600..000000000 --- a/tests/unit/storage/cassetes/test_aws/TestAWSStorageService/test_write_then_read_reduced_redundancy_file.yaml +++ /dev/null @@ -1,73 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - bG9yZW0gaXBzdW0gZG9sb3IgdGVzdF93cml0ZV90aGVuX3JlYWRfZmlsZSDDoQ== - - 0 - - null - headers: - Content-Length: ['46'] - Content-MD5: - - !!binary | - TndJZjQ2RWlDY25mYW90OU4rR2FCUT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - MA== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAxOTA5MTBUMjI1NjA3Wg== - x-amz-storage-class: - - !!binary | - UkVEVUNFRF9SRURVTkRBTkNZ - method: PUT - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_reduced_redundancy_file/result - response: - body: {string: ''} - headers: - Content-Length: ['0'] - Date: ['Tue, 10 Sep 2019 22:56:08 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Server: [AmazonS3] - x-amz-id-2: [uY01nKjtq3xi+newYvhD+AivRlXnv4lpUxvQzCgT7jjDIjR1jfnCi26aF5Y1aqoc7yDGAsQ1+P0=] - x-amz-request-id: [D8101DEC98E12EF6] - x-amz-storage-class: [REDUCED_REDUNDANCY] - status: {code: 200, message: OK} -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjQgRGFyd2luLzE4LjYuMCBCb3RvY29yZS8xLjEyLjIy - MA== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAxOTA5MTBUMjI1NjA4Wg== - method: GET - uri: https://felipearchivetest.s3.amazonaws.com/test_write_then_read_reduced_redundancy_file/result - response: - body: {string: "lorem ipsum dolor test_write_then_read_file \xE1"} - headers: - Accept-Ranges: [bytes] - Content-Length: ['46'] - Content-Type: [binary/octet-stream] - Date: ['Tue, 10 Sep 2019 22:56:09 GMT'] - ETag: ['"37021fe3a12209c9df6a8b7d37e19a05"'] - Last-Modified: ['Tue, 10 Sep 2019 22:56:08 GMT'] - Server: [AmazonS3] - x-amz-id-2: [oKVFkPSUYTZFs86EoOk8+Elt+XJwVgFnkb1+WOoMUcPho2k4Sh3BPeDiHx5opdGYzsCD8G18mf8=] - x-amz-request-id: [976807A37CFE6026] - x-amz-storage-class: [REDUCED_REDUNDANCY] - status: {code: 200, message: OK} -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_append_to_non_existing_file.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_append_to_non_existing_file.yaml deleted file mode 100644 index 4bbe5ebdb..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_append_to_non_existing_file.yaml +++ /dev/null @@ -1,437 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDcyLCAiZXhwIjogMTU4MTM0MDY3MiwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.FvvrUPychqbOVDeeuoFljvdrtp6xMEZa5FYses9iETMfJg42JoBdC5-o0xfCKQm47-rQsLlLHIregb8_hCf66RtsC4RwrFDyI7muke0Laq7legSODm_yjlnw5qSTWQeIaFH5OgGo650zPMhJnM7DZukrH1omBE3cy6oBde-BEhMfWjsEWFqye9c1Kf-DDx5pJcvZxZ0mo3pDyimjrxq8eEp2VcU_7ImvksXtigxpih1JDZbV_kyBCNMjb6xlKwGJW4Cwd8Cpph-ajyyXIMELfoWDUE099AxlaJv4DK9TwHa-U7GnE67tzpXbaYu2GUeRx15r6ZiXw_g7uCygR_Umkw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PyVKDMAAA0H/JuXRYS+NNNimLGGRa6iUTQ7BYyhLCVsd/t+P7g/cDCKVsGLBo - r6wBT2AlKtzSbdjF1oSKNzwpSoSwIqq8ygOjhIyKIyf6QNPD2cz8YFo0NymKQMK7U6py7uzlyI5v - 1ModnsPyS9deGuhrLZpVM/fq8rVeDo5ZeqbUzCTd9WGwPL+nvSt/syLi/d5ZoefHXp1IcRi2zCFC - LpOrnF2EhPBHVhN4R814PoWXrBqJBz9t+Z4Y9qrby3zDkx13mX0c3RWJQPVRCzaALV3F2YCrR08z - INyA/ysWa8ceYYsRzjj4/QMr1lhICgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:52 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:52 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:52 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqmpfCHizQthahDwRhEK7Vr077aLF17R6jb1FHb6SXBbW5TMVAQ2PknncvrmBVp-Ce3I6HTkEgbwK_bjkhs-hzlmV6pRQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_append_to_non_existing_file/result.txt\"\ - ,\n \"errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_append_to_non_existing_file/result.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '345' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:52 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrvyILq3aYZnVkl47F8UUnVQrC-s1N1ti5_3_2X7dmqwFfD0sRAuThEGIbC2SDw9Ea1-cg5SCl7Go_tqAEMDhz1pI0ySA - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:52 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:52 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpMx2QFCAK1P94L1wUhVMPk4-TJlGt741L-a8Fjy6H-CVubTKr-b-DnKCAzFJ3zdauUjs-gRfSGZrzcBLFdObK1hOEO9w - status: - code: 200 - message: OK -- request: - body: "--===============8296750914872740648==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_append_to_non_existing_file/result.txt\"\ - }\r\n--===============8296750914872740648==\r\ncontent-type: text/plain\r\n\r\ - \nmom, look at me, appending data\r\n--===============8296750914872740648==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '287' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04Mjk2NzUwOTE0ODcy - NzQwNjQ4PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_append_to_non_existing_file/result.txt/1581337073079476\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt\"\ - ,\n \"name\": \"test_append_to_non_existing_file/result.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337073079476\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:53.079Z\",\n \"updated\": \"2020-02-10T12:17:53.079Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:53.079Z\"\ - ,\n \"size\": \"31\",\n \"md5Hash\": \"0KezyzGusHDoY2IpCrO+Gg==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt?generation=1581337073079476&alt=media\"\ - ,\n \"crc32c\": \"hqY4xg==\",\n \"etag\": \"CLSpi9T7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '896' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:53 GMT - ETag: - - CLSpi9T7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqoC7aMWdk6DCWDapCVxZEJIugrTP4ik_aD3AkYsDaBrco3vKBwSKwlfWNdURw5sLPrQeRmEy_f5bLIm8EAbJI6ZwoDbA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:53 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:53 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up_yEt3bwhsRYXH-6x1xThLIyV1BKML_eMe--VWVK-P-17yh47ZPKEjzmzUvPmwiWFgTZzmUGVkdFGxIdMfWFQ0EbUDmw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_append_to_non_existing_file/result.txt/1581337073079476\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt?generation=1581337073079476&alt=media\"\ - ,\n \"name\": \"test_append_to_non_existing_file/result.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337073079476\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"31\",\n \"md5Hash\": \"0KezyzGusHDoY2IpCrO+Gg==\"\ - ,\n \"crc32c\": \"hqY4xg==\",\n \"etag\": \"CLSpi9T7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:53.079Z\",\n \"updated\": \"2020-02-10T12:17:53.079Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:53.079Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '913' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:53 GMT - ETag: - - CLSpi9T7xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:17:53 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqznCV1OfI2wXCfP_E_96g7alegZwp7hk0NutAKgPhwaTz60_0P_IBk6ZPSg-BchzrRxwdAadkDFfc_g2wEctyfalXU_g - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_append_to_non_existing_file%2Fresult.txt?generation=1581337073079476&alt=media - response: - body: - string: mom, look at me, appending data - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '31' - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:17:53 GMT - ETag: - - CLSpi9T7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoC7ze7wXLjP2i-5bVJiQ2yg7AQ0scsvfZdesQ9dHPDwam5FH52gXPuTSYJmTQqjgbtsgGqrNpiOL2VUhoQkYaqDTq1Yg - X-Goog-Generation: - - '1581337073079476' - X-Goog-Hash: - - crc32c=hqY4xg==,md5=0KezyzGusHDoY2IpCrO+Gg== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_batch_delete_files.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_batch_delete_files.yaml deleted file mode 100644 index f9a4d4963..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_batch_delete_files.yaml +++ /dev/null @@ -1,1107 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDgxLCAiZXhwIjogMTU4MTM0MDY4MSwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.JY9JVZLy7vfZe3Vgv9k2gPsR2JMpaVmQ4FVnWg09i9DiCvmalUdNwbpfe1SE60LIVMNXdUU5vl4HgyCQRE5Mq4Yc7eHRfbVzNYLK-rD8ahk8gPPRRip992dzetFcp9HvA_xGatlD--Bssr-xztJz6iYAh7SUq-NEZRbhXVGx2Jhfr0y6erL-SRvNP0oRxtRublZ5wQzrhwJc7z1u2oJ5CXn5575Hn0qsEnsmPXlGJ2mD3oFbyiKZAGZQByTW0q7lhi9NfVWOh5BLqxm2HT-_hwLMzBwMwpiPZgo2UcAGZi4wNlgDBvxrh_ypxGFPG8DTLOIJ3ikJRcdLODgvZLfnXg&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PS3KCMAAA0LtkrY4Vqaa78nWwkET+bBg+UQiYMgFB6PTudfpu8H5AVhS079Ph - u6EcfIA528FNsTl3tjKSksXv/klOJmEr1PWtM06gH+RE3yNjWaKhaomtwih3VHXKyCl3MC31rbT+ - go+xCr2DR8M9ORpJoh955jpmmz7eFrIrvLvAftWguKiw6RkiQYUfMjQShqKq9SiTMR3zZVhrZh1e - 75ZsLTg24y4Ib2rgOnOD4bS9GJLNeGlWz+SK9P7APr2aX1TZnLhyazQha2ziYAXos6sF7dP61ZNk - CFfg/5oOc0dfYYVmggrw+we4QDHmCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:01 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:01 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:01 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpexzC3b11pbO_jHuDJ6dg6uD17HAwU8gErYlHAej2J2udBNtLvOqublaLwQBsX6Luo7jcTuS5__OzX5u7Gex3P9mzQLg - status: - code: 200 - message: OK -- request: - body: "--===============4232448940583611266==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_batch_delete_files/result_1.txt\"}\r\ - \n--===============4232448940583611266==\r\ncontent-type: text/plain\r\n\r\n\ - lorem ipsum dolor test_write_then_read_file \xE1\r\n--===============4232448940583611266==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '295' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00MjMyNDQ4OTQwNTgz - NjExMjY2PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_batch_delete_files/result_1.txt/1581337081990055\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_1.txt\"\ - ,\n \"name\": \"test_batch_delete_files/result_1.txt\",\n \"bucket\": \"testingarchive20190210001\"\ - ,\n \"generation\": \"1581337081990055\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:18:01.989Z\"\ - ,\n \"updated\": \"2020-02-10T12:18:01.989Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:01.989Z\",\n \"size\"\ - : \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_1.txt?generation=1581337081990055&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CKeXq9j7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '868' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:02 GMT - ETag: - - CKeXq9j7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrIXDMXOQxMkzOXzZ5vAryER6vBlqPVfO1jMptah1I8nKDPq8ZvW2BKYqTPZz2ZdnsgMmal9eHXwkFc8W3MY9VbD0CpzQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:02 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:02 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrkSgmYLjaQym8fRUCMg9rejAuW_1PzBjKoDpFFw0h4no4US6Z0UJ_EjkVTVlfQJ3JNxeJPYltzkmPPTcozo8GpCQCS8w - status: - code: 200 - message: OK -- request: - body: "--===============1596729250886677360==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_batch_delete_files/result_3.txt\"}\r\ - \n--===============1596729250886677360==\r\ncontent-type: text/plain\r\n\r\n\ - lorem ipsum dolor test_write_then_read_file \xE1\r\n--===============1596729250886677360==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '295' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0xNTk2NzI5MjUwODg2 - Njc3MzYwPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_batch_delete_files/result_3.txt/1581337082443714\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_3.txt\"\ - ,\n \"name\": \"test_batch_delete_files/result_3.txt\",\n \"bucket\": \"testingarchive20190210001\"\ - ,\n \"generation\": \"1581337082443714\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:18:02.443Z\"\ - ,\n \"updated\": \"2020-02-10T12:18:02.443Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:02.443Z\",\n \"size\"\ - : \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_3.txt?generation=1581337082443714&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CMLvxtj7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '868' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:02 GMT - ETag: - - CMLvxtj7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqjNP3HXx8SNC_uhdtUwopjFgc2lvQX6Ds2ha6jbU-U8SyIuEEnP9W1MujAj7xpapnSRnsUDO4ESJrUlqKSUb719c8yZw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:02 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:02 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uoej76B68q7xI5gjsizVBTEfi9nkTsrvaN0F_OxptMoC2cbEjxgfIgjrHBtxNCtO-ifNYOlqKQT3pZzEgn6Rd7c5DG5bw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:02 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:02 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up3MW-pUFZP84ahfhMVbT-y32AcOhNXzqmm0tAPTfk_OSc6KydtHCiF7cDwXMMF-j6Mua0T9ll-4yYGTn7DGd9F8g1MYw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:03 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:03 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur7oTvD5dEDNS27pwOs0EoDc-6mEGdk3dGoStEZe97x-2LboQi_XJp-VikRwvhn6i8b0bNabKL6xXVk3L4fmUzMgD1dFw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:03 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:03 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq8-Vujk25o97G8Ng5evKTjM0ubq-3zEJhAVNeGBDQjFXM_HTHnFofaSGfJoVGxyBG7unuOQfHUKyd2192wbnf5Y-eRHw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_1.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Mon, 10 Feb 2020 12:18:03 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Urdg03UjIscfHtU5hCgN3-QJiuuwj7Ceeut0zeRrAa1Ky5jEMiq4LoWoYb8NPUA40bImXSr8a5gSakyWlL1OPLQUv8u2A - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_2.txt?prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_batch_delete_files/result_2.txt\",\n \"\ - errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_batch_delete_files/result_2.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '331' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:03 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpkeO_-7Z4Jf3aF-Bcu5AbAIeUwMpOsv7A7nC7s9CmXx3X9CHoD3BDgUE3D_Wk7oATfiyMlLYvqSJ3nowMl0t_s-XP7WA - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_3.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Mon, 10 Feb 2020 12:18:04 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upu1BuYLYBOUErN6YR9PBaSdGZn8Xo6zigsKaoMDvBRJFiRhyObrkmL4ZG71y_wUOsTEVARApTEnasm1rzVOt7iaKQcWQ - status: - code: 204 - message: No Content -- request: - body: test_batch_delete_files/result_1.txttest_batch_delete_files/result_2.txttest_batch_delete_files/result_3.txt - headers: - Content-Length: - - '257' - Content-MD5: - - !!binary | - SHdlWE9rajlmY0Zha0c1NVNXRjQ2Zz09 - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - YTVlODUxYTljNTZjNDFkZTljMTJkZTM0ZTQyMDRhZDdkYTkzYzk3Yjk4MjAwYzBlYmZmODQzNzhh - ZjQ4MjUxZg== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxODA0Wg== - method: POST - uri: https://testingarchive20190210001.s3.amazonaws.com/?delete - response: - body: - string: ' - - test_batch_delete_files/result_3.txttest_batch_delete_files/result_2.txttest_batch_delete_files/result_1.txt' - headers: - Connection: - - close - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:18:05 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - U0GZHZd0erlGrD7M2nL7uXRpozgMNKWxZtfBfK76Cfm9MFGFXtK7wk1+PJHqoAZHUiGaB/UPqKE= - x-amz-request-id: - - AEA8816E0DAA622C - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:04 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:04 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqiMO0aQIgiqmO1sE1waAWHCTlg_vYwUINwXc9IGoooyT931FFD4A9nEW6u7cDCKTAJVAJ5E5N7upUXg-SNGvlWYAUISg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_1.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_batch_delete_files/result_1.txt\",\n \"\ - errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_batch_delete_files/result_1.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '331' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:05 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrQFZYMMwYjmiqAPx3V_ivuWNUZlesanYKz4uUrmN-t-fOU9corUl5LwilRP8LmRLAnjiHEaopP31g1ypjvis2AbaINZQ - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxODA1Wg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_batch_delete_files/result_1.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_1.txt560B69C49F8B74D0UHNZznZX5SRkRK0aSyKqE7k7lus9Oj2WEPpXFBlk/2JWX8cM1p2k+anvo/0O3urXiXcIG1yjMAE=' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:18:05 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - UHNZznZX5SRkRK0aSyKqE7k7lus9Oj2WEPpXFBlk/2JWX8cM1p2k+anvo/0O3urXiXcIG1yjMAE= - x-amz-request-id: - - 560B69C49F8B74D0 - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:05 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:05 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upm9CllEpOZqfEcT6Tqq4ye573Ki51AaQ_Ya5RzOFtURg3_M1s14sqiWYHayuFYNsZaLTYOCMjfOEnFmHwESqIG1ku5SA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_2.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_batch_delete_files/result_2.txt\",\n \"\ - errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_batch_delete_files/result_2.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '331' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:06 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uoi7MpkMKBdVm1D5TUFkwjuoNT3gob5CvQQdFMk00PG7hcaQpK4Xp1O_DeWnEruIrtmU5wE-Qi-523YfcDKoSnxlDPoBA - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxODA2Wg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_batch_delete_files/result_2.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_2.txt5E67432842C9371AMWVhxahChQ1oLDF5cr3aIdNY2KT6M1nSd+6uRXcb0qcxk6P9czIHRzrfcPa3a5ilhJ94SbodyrE=' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:18:05 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - MWVhxahChQ1oLDF5cr3aIdNY2KT6M1nSd+6uRXcb0qcxk6P9czIHRzrfcPa3a5ilhJ94SbodyrE= - x-amz-request-id: - - 5E67432842C9371A - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:06 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:06 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur9-r3FOFn8IrlmrkgzPCPYIoOKX_2Uh_5ULKenyrphrAFWn1YTGLHPHVP-7UEWZBPBChwmFgU5Pd9q3YMxQG7SZKOFwg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_batch_delete_files%2Fresult_3.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_batch_delete_files/result_3.txt\",\n \"\ - errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_batch_delete_files/result_3.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '331' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:06 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrtKuZQaPwbYUpTnuNm8AcJpMClKMjIHUj7umOes7EK11KrpPM78erAflXPviWCWYIazApFDNrwFY-ehFxGKm4PYePg0w - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxODA2Wg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_batch_delete_files/result_3.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_3.txt84A51CFF83664CDASkhCEaiMODjfUYxNKj+jN47TAnjW026fmu1z/NaYXmZ2ru0iQjP3c4oxPn+mIsM9GoB305MIH1Q=' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:18:06 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - SkhCEaiMODjfUYxNKj+jN47TAnjW026fmu1z/NaYXmZ2ru0iQjP3c4oxPn+mIsM9GoB305MIH1Q= - x-amz-request-id: - - 84A51CFF83664CDA - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket.yaml deleted file mode 100644 index 27df7d22b..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket.yaml +++ /dev/null @@ -1,187 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDYzLCAiZXhwIjogMTU4MTM0MDY2MywgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.TuL-MX8xPQ9NKe-f8ryZlqw1VlepyniFuleDew8zxqUb-D2YnDTy-80Jfo2x9wrP1cPXComw-B1GM-Co6Tzi7fOgHDyt5_sLRDmGfRXQD_9jDOX_LrsAsfRyCH7CAwxyFX5uGskmv8BvWXWa9kQdFGlAT4h88RTt-4mvRBC1ISTM1lQxOSrz58EKE6xouC575RbmzsoVDw-aiIJ4NfvbkQH8PAYpleu-Y_FovJFnQuq5RXsWZ3HWhagAYQSAq7-vEfdcwZCi9Mbrt8tiOBAj23gTvyFeUYCP11oNs9Ua1juVlcIBAakpl0YY0MyaQwFvb4EojtOBbIo6hbNeak3x_A&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PyXKCMAAA0H/JWRxBwtIbtKSLSmVpJVyYAIFCHAgEZHH673X6/uDdAckyKkQy - tIw24AksRDG32fbAT/bNy0f5qNXnOHb0BjHGBBqwvLq3b9alUPgHNTZc3E37dOa7obckJi+YBRH+ - eifNBI+eH4Xnkc9rMNHyw7mWWkNMYuxs5IbF28urG1hFEWcQnU+XGlWI6qVXE7f8ZJbqS3mqYIif - pcsy5nquaGLumDpe8UIC+aetlMTBquzyLoprW1v9oimkag612peoNxrZ0IYKnMEG0JlXPRVJ9ejt - oWluwP81GRZOH2Gbkp724PcPnBM9JwoBAAA= - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:44 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: '{"name": "testingarchive20190210001"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '37' - Content-Type: - - application/json - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: POST - uri: https://storage.googleapis.com/storage/v1/b?project=genuine-polymer-165712&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"id\": \"testingarchive20190210001\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\": \"2020-02-10T12:17:45.261Z\"\ - ,\n \"metageneration\": \"1\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"\ - enabled\": false\n }\n },\n \"location\": \"US\",\n \"locationType\": \"\ - multi-region\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '558' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:45 GMT - ETag: - - CAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoPDk_FpracnOBf9D7pQfF3j5pOluC4A1PaYMukuDXjEezv6vo39Vw5iCGwcUr0v-9c3HE9RjdVPLuBRMsPZg8spA7w-Q - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzQ1Wg== - method: HEAD - uri: https://testingarchive20190210001.s3.amazonaws.com/ - response: - body: - string: '' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:17:45 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - yy69rQ7cD9yY7JP8EZbNdvdAxf13ZUfh18u9V8viUiCLhA5STjVKd+gvHho6vaMbq1adXfiOHJs= - x-amz-request-id: - - D4D655AE65FEAA14 - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Content-Length: - - '0' - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzQ2Wg== - method: PUT - uri: https://testingarchive20190210001.s3.amazonaws.com/ - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Mon, 10 Feb 2020 12:17:47 GMT - Location: - - /testingarchive20190210001 - Server: - - AmazonS3 - x-amz-id-2: - - ypWZ59V9E8FdoWOPiu7V/X3wPOqlV3+Qpg3ZxicH5zHqE00yiURxvUwqkRmq6sgsqRGf8LdkFG4= - x-amz-request-id: - - 49A1DB27ABBBD376 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket_already_exists.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket_already_exists.yaml deleted file mode 100644 index b7ec619af..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_create_bucket_already_exists.yaml +++ /dev/null @@ -1,104 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDY2LCAiZXhwIjogMTU4MTM0MDY2NiwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.i2encXwHj99yyW_WdWPylP00-jn6keyikCsLY6EjDITIDr1goFeE6we6yPrVbIx13lWi_e8dv0adrBE_JDhIoPrNI0WAk4hCYyKdYNAkSCWS_FOR3LKlx2mUswLV9exJrh85goMGeWFwQhE13fzVB9ZzSW3VTifT1QtB-4dxSWtntwjzebF0tDN38E0dBTgnPdyjP4gJ1WumtNAuXeoLjekddu1hdAxSjIU50_cgAXtE8V99SwsEAe5-mvhLriWNHP0YZDm2R3CSbNsCY6K0moXOHd3kYNv9y_HfDsdIjKxtrEvrFn_JWmbeKRMqkFdS5N0bDqykcSxenCCCS8xAqg&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P226CMAAA0H/pszMy0kH3BijIKPfBmC8NIeWq0FEuUrN/n9n5g/MAeVFQzsk0 - dLQH72DLX9G+2DvM1Zew6G1+Eq5A8tqoLdsoYlmCcaSgACvzcCBaan30ixOWZz+Ybf/Gb1UVIM94 - kaS104X+eRVTZSncdUU3+PDiG02SzWwJ40C5ev1Q+rZmpLzJMM4KSf0mh0Xz+sCM2VsSFpXu8KPl - zvaEraM99AGEqplDQ+RqK7mmF68k9RwcNV+1XZK4vQhpPdVenZ0rH/7coRwRsAP0zpqRctI8ezJE - aAf+r2TaGH2GdZqPdAS/f1CfLbYKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:46 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: '{"name": "testingarchive20190210001"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '37' - Content-Type: - - application/json - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: POST - uri: https://storage.googleapis.com/storage/v1/b?project=genuine-polymer-165712&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\"\ - ,\n \"reason\": \"conflict\",\n \"message\": \"You already own this\ - \ bucket. Please select another name.\"\n }\n ],\n \"code\": 409,\n \"\ - message\": \"You already own this bucket. Please select another name.\"\n\ - \ }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Content-Length: - - '259' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:48 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpSiw1hOEezjiqOT3zI7H-E5nqOw1ZAF2JDz0FXfQ8g8NSMNOoK14v-hFr3mHCeJYJ3Fp-dtgRCoDOVocIpcR0l_nxrgg - status: - code: 409 - message: Conflict -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_delete_file_doesnt_exist.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_delete_file_doesnt_exist.yaml deleted file mode 100644 index 6f8cffd92..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_delete_file_doesnt_exist.yaml +++ /dev/null @@ -1,161 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDgwLCAiZXhwIjogMTU4MTM0MDY4MCwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.UIvq1UDeMS-lbR1hsp7ImnVrkCm0iL58DlSn_TRhdopzHMYSD6hzCoK5kBqdyryJzoWbNG4vvjTN59SIu3RGalNjY6eOOm4ZFheUz0QTRoZDNbhRHixUWHtUG3hZ5UM-qSXYH9zodgUxlUwxXcN30PFdh7_82p0plpjEVQe7Kaol4s1rlx2lyj8tubdKw9arecu4n7_7iopB2d4wRtOtrDkqhczgdtHvd-RCBC1CkUva3Me2ohGr60Tp5VYoXzPOm2WMpkvNzClI6Vlvl6tMc7Lp9M8C1tFIqvLFeE6U0hlX2gW2fO29nYFpuuhdW_vk9G7hF0L-6Ai4wZX4u0dFPg&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P226CMAAA0H/ps5gBQenehjAGDYoU2OZLw6XRyiyl5SKY/fvMzh+cByiqiipF - +rahHLyCuTDgulojETnjscpDR/f8li8t1Ftr31thPAaCkuCG6gZ7g5qKSC5nbwi3452RIirTLv85 - YidmOblfm/Ly1jBZa4gTb8re49I+JKwPTfjB2V43zEmnV+QoHnLDXsQpEImTvGwkzqCg53j+1AZU - pL7M6nyrBu65uOwbP6k6uHG/OswbXVs4znW7W07WNCQoig+7ZOfefBT0il/Sb7AC9C6YpIqwZ8+0 - IFyB/yvpZ0GfYYcWkkrw+weQnV8fCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:00 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:01 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:01 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoMniHFA_3Inc1p25MMh4U79Xv_uexK5YpxfI42Im_uz1hASuxCq0161ILvr_pNnXiXnjzy1Z41IFyXTBWLMKTR8sWdew - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_delete_file_doesnt_exist%2Fresult.txt?prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_delete_file_doesnt_exist/result.txt\",\n\ - \ \"errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_delete_file_doesnt_exist/result.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '339' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:01 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqZ5D7DZdZ_l5obWPmdLLgtzzIA3r1TpA5kKy8ugIUyDA-TYfSzVw7-hS6YBwHP3NV3mpNMtAyhxvFtryMoIsWnLYWEgg - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_list_folder_contents.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_list_folder_contents.yaml deleted file mode 100644 index 6095bd0c0..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_list_folder_contents.yaml +++ /dev/null @@ -1,1052 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDg2LCAiZXhwIjogMTU4MTM0MDY4NiwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.YM5kOneAK0j8u9OJU98MOm8nCfKVhPr1Acm1dtedCpi0hPJ2nQZ4kICK8GSelJSW3QFU3xboSpts9UZQLOUKhjYPiPh4QXgmvQ5uwMAH6SMoLkGWonqtzWBSMCxVwbYxdR3MBKHGoWqbRDIBU4XvD7vEPl7dxmxmS6jyF1M7l3YoTufMW5Ka1cjUkXx3aAKYFh3upT1Oc5mRKM2x7Bk-zQlePqxCXluguki27TJPLd26-SaJHBatNr5OgXomY-YNL1vj1O75ZBFDvrRR5PvjlNqcMs8aGEBnDyCoakp9kpQZ_Po23KuoJg0sdVXVS5x4DvAC9kbABKITqpCg4H0epA&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PS3KCMAAA0LtkLY7ys+mOQCgkVaLVKG4yGMJILZLyUZhO716mB3iL9wMyKVXb - iq6+qTt4BWNmwrmcU71Gj62k9ArH/Tc2z134LpARwSMhVnAsV9UmyblJCBk/cBBjO1+bvea6Rhsj - DTr7KTkLqLecXOhe3G2p2tSDzDrbPSWsCAVjdiE4PCAH5gz7PTt4nL8EN+azQcLy+oRsKRNCeM3q - uO1X6rII08R17mmP6sbIFpFjPfBOFgX14/rzoeWekNOXEZ0MN8RvFW4Ge5dUYAbUoMtGtaKcepYD - 4Qz8X0U3ajWFkcoa1YDfPzvv0coKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:06 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:07 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:07 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uoar9bcUpkF-JTVx-u4NqcKJs6cwGDR5MGWbKLHd5klWDw-qqFTzdHTXaG4hv9KqS1z6mfqDRGwqRlqcYFyv-N3sCo29w - status: - code: 200 - message: OK -- request: - body: "--===============8520925802840662817==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_1.txt\"\ - }\r\n--===============8520925802840662817==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_1.txt for \r\n\ - --===============8520925802840662817==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '328' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04NTIwOTI1ODAyODQw - NjYyODE3PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_1.txt/1581337087477423\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_1.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337087477423\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:07.477Z\",\n \"updated\": \"2020-02-10T12:18:07.477Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:07.477Z\"\ - ,\n \"size\": \"70\",\n \"md5Hash\": \"+oc+ZMF8EfvX6IEFIKTGMQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt?generation=1581337087477423&alt=media\"\ - ,\n \"crc32c\": \"EYy6eg==\",\n \"etag\": \"CK+N+tr7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '908' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:07 GMT - ETag: - - CK+N+tr7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upor6LEfVXXmiXjNAyfmCtVOtBnVg2-XzV11o1Wog9AJ-jWzx3v4UcT1YG4vSHHfROHfHocJODNeL877gDHoTae64z6nA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:07 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:07 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq-k_jHJWBGoEHM5JLv80mkjIpm1RWPgxxXFPOtZ4GL8f4ZhZtYJifGj3U2l13EVk5_eJKLvJ8b1BdftaBhw-OLJ8G5WA - status: - code: 200 - message: OK -- request: - body: "--===============0088481040268859355==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_2.txt\"\ - }\r\n--===============0088481040268859355==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_2.txt for po\r\ - \n--===============0088481040268859355==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '330' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0wMDg4NDgxMDQwMjY4 - ODU5MzU1PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_2.txt/1581337087947499\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_2.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337087947499\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:07.947Z\",\n \"updated\": \"2020-02-10T12:18:07.947Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:07.947Z\"\ - ,\n \"size\": \"72\",\n \"md5Hash\": \"X50KTg0h5WFDz++++xlHVQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt?generation=1581337087947499&alt=media\"\ - ,\n \"crc32c\": \"/oAc7w==\",\n \"etag\": \"COvlltv7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '908' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:08 GMT - ETag: - - COvlltv7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Urs8T81PceleMto2RBQFdWVLrvskPi1jnyOVVZczDV_1ZDMASHDZM7GnlScoMJFREFKRgiKuhyQIvfRcYB-8lmM7lQ6WA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:08 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:08 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqML9zvq3poy5cMUBRD8i50Pk1TEo2fkIaBxWYLGZwQ-phCvA3hrDvXTxp_3TLr18VcqB9ofWEBF1yMoRf3H3aXkttxtQ - status: - code: 200 - message: OK -- request: - body: "--===============8144944813541937399==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_3.txt\"\ - }\r\n--===============8144944813541937399==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_3.txt for popo\r\ - \n--===============8144944813541937399==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '332' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04MTQ0OTQ0ODEzNTQx - OTM3Mzk5PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_3.txt/1581337088395941\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_3.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337088395941\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:08.395Z\",\n \"updated\": \"2020-02-10T12:18:08.395Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:08.395Z\"\ - ,\n \"size\": \"74\",\n \"md5Hash\": \"V1d54/o8qfT4IzUII/xlHQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt?generation=1581337088395941&alt=media\"\ - ,\n \"crc32c\": \"5NF6aA==\",\n \"etag\": \"CKWVstv7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '908' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:08 GMT - ETag: - - CKWVstv7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrqnFlF0DG8jfK76NBBJYw3uDOpUjraWnyXyi9gjqwaLVjs7vzlBjn6FMomTiFSRJMo2Zd-wkr4o3a_RAqH9Z5q9a5zRg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:08 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:08 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrjXOWOSUOfDv5gwwtGGCsTrm148ghxnkGcgHQKagkMS7SkmHPqt6SRpWsFdi2zwQGeH1QAAcsrpdH6Y3apPWd1qEJyAg - status: - code: 200 - message: OK -- request: - body: "--===============8701367495318963729==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\"\ - }\r\n--===============8701367495318963729==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_1.txt for popopo\r\ - \n--===============8701367495318963729==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '340' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04NzAxMzY3NDk1MzE4 - OTYzNzI5PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_1.txt/1581337088847483\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337088847483\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:08.847Z\",\n \"updated\": \"2020-02-10T12:18:08.847Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:08.847Z\"\ - ,\n \"size\": \"79\",\n \"md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581337088847483&alt=media\"\ - ,\n \"crc32c\": \"VZRjgw==\",\n \"etag\": \"CPvczdv7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '924' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:08 GMT - ETag: - - CPvczdv7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up8O5WD-fNhO7-8VxC3UX2HFbXl0emUU3C6fzB9gvenixscGesh-EaF2RT5kbVrge8wYLL-vFRwDxX2a3jiKPOh_YqaFA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:09 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:09 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoOsUKWJrX7Omw5E0ZVd-z-8cgwo6Vbg2CNjAvQEsVUsimObgznhftG643RycS74zXMayVNJ_xUk-MbXlWtyIBVjU_X-Q - status: - code: 200 - message: OK -- request: - body: "--===============0521258547985130289==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\"\ - }\r\n--===============0521258547985130289==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_2.txt for popopopo\r\ - \n--===============0521258547985130289==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '342' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0wNTIxMjU4NTQ3OTg1 - MTMwMjg5PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_2.txt/1581337089351681\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337089351681\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.351Z\",\n \"updated\": \"2020-02-10T12:18:09.351Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.351Z\"\ - ,\n \"size\": \"81\",\n \"md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581337089351681&alt=media\"\ - ,\n \"crc32c\": \"3eRtDA==\",\n \"etag\": \"CIHA7Nv7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '924' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:09 GMT - ETag: - - CIHA7Nv7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uri4F27dMwgADFWy4vy5rDr69pFraojM67u5vBvHnZTzI8LosorxRW7JgtY5QxwqI4fOelg-mtVe_t1FlEhM1RBfiyvFg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:09 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:09 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqvqcxAo9_GRxZRaN_Vp1hFoHIhTLF0ch69RyodW92cy82sN8gpzGDB43HCi2WutduNSHwrIUK0n4xFCP0Jq_lUu6ObNQ - status: - code: 200 - message: OK -- request: - body: "--===============7267686679405417497==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\"\ - }\r\n--===============7267686679405417497==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_3.txt for popopopopo\r\ - \n--===============7267686679405417497==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT03MjY3Njg2Njc5NDA1 - NDE3NDk3PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_3.txt/1581337089800620\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337089800620\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.800Z\",\n \"updated\": \"2020-02-10T12:18:09.800Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.800Z\"\ - ,\n \"size\": \"83\",\n \"md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581337089800620&alt=media\"\ - ,\n \"crc32c\": \"S95bnw==\",\n \"etag\": \"CKzzh9z7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '924' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:09 GMT - ETag: - - CKzzh9z7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoRXnUWjayqJAaOMKKKp7hHR_MxEI0N0rODUzxrNoIRvHxX_VXLkAqiQOcqqsuvDRBMhDG0hxuxFA3q0HYkKbRyGqcb0Q - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:10 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:10 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoSgjA_7GD8flJhbgZyvDO-ZlcBt_t24ZvvceanyWnDyzU_JQGNj8O9tRAHvqiBjXCESl509Id_vIjP0ajHyGJgopbPzQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o?projection=noAcl&prettyPrint=false&prefix=thiago%2Ftest_list_folder_contents - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"\ - kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_1.txt/1581337088847483\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581337088847483&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337088847483\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"79\",\n \"md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\",\n \"crc32c\"\ - : \"VZRjgw==\",\n \"etag\": \"CPvczdv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:08.847Z\",\n \"updated\": \"2020-02-10T12:18:08.847Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:08.847Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_2.txt/1581337089351681\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581337089351681&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337089351681\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"81\",\n \"md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\",\n \"crc32c\"\ - : \"3eRtDA==\",\n \"etag\": \"CIHA7Nv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.351Z\",\n \"updated\": \"2020-02-10T12:18:09.351Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.351Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_3.txt/1581337089800620\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581337089800620&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337089800620\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"83\",\n \"md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"crc32c\"\ - : \"S95bnw==\",\n \"etag\": \"CKzzh9z7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.800Z\",\n \"updated\": \"2020-02-10T12:18:09.800Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.800Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_1.txt/1581337087477423\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt?generation=1581337087477423&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_1.txt\",\n \ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337087477423\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"70\",\n \"md5Hash\": \"+oc+ZMF8EfvX6IEFIKTGMQ==\",\n \"crc32c\"\ - : \"EYy6eg==\",\n \"etag\": \"CK+N+tr7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:07.477Z\",\n \"updated\": \"2020-02-10T12:18:07.477Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:07.477Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_2.txt/1581337087947499\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt?generation=1581337087947499&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_2.txt\",\n \ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337087947499\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"72\",\n \"md5Hash\": \"X50KTg0h5WFDz++++xlHVQ==\",\n \"crc32c\"\ - : \"/oAc7w==\",\n \"etag\": \"COvlltv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:07.947Z\",\n \"updated\": \"2020-02-10T12:18:07.947Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:07.947Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/result_3.txt/1581337088395941\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt?generation=1581337088395941&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_3.txt\",\n \ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337088395941\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"74\",\n \"md5Hash\": \"V1d54/o8qfT4IzUII/xlHQ==\",\n \"crc32c\"\ - : \"5NF6aA==\",\n \"etag\": \"CKWVstv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:08.395Z\",\n \"updated\": \"2020-02-10T12:18:08.395Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:08.395Z\"\n }\n\ - \ ]\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '6109' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:10 GMT - Expires: - - Mon, 10 Feb 2020 12:18:10 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uo7UfpFC7HWeMjxcGuiGW9v845mmPOrC0tnBeKY3f7GnHmomZ7ufj1FGfX6LFzV7eQcLsqS_fJJYmH9IMzt0stxX1Qt5w - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:10 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:10 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpEiNWYD0U_x8TUhANMOn_BHKEA9GHjaBlr6e2X61yRvqBYA2V2TTGGfmpujmsuPQSIIVO2mPV4AA6vcWNzmEfV0WeS0A - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o?projection=noAcl&prettyPrint=false&prefix=thiago%2Ftest_list_folder_contents%2Ff1 - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"\ - kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_1.txt/1581337088847483\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581337088847483&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337088847483\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"79\",\n \"md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\",\n \"crc32c\"\ - : \"VZRjgw==\",\n \"etag\": \"CPvczdv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:08.847Z\",\n \"updated\": \"2020-02-10T12:18:08.847Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:08.847Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_2.txt/1581337089351681\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581337089351681&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337089351681\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"81\",\n \"md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\",\n \"crc32c\"\ - : \"3eRtDA==\",\n \"etag\": \"CIHA7Nv7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.351Z\",\n \"updated\": \"2020-02-10T12:18:09.351Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.351Z\"\n },\n\ - \ {\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/thiago/test_list_folder_contents/f1/result_3.txt/1581337089800620\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581337089800620&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n\ - \ \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"\ - 1581337089800620\",\n \"metageneration\": \"1\",\n \"contentType\"\ - : \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\":\ - \ \"83\",\n \"md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"crc32c\"\ - : \"S95bnw==\",\n \"etag\": \"CKzzh9z7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:18:09.800Z\",\n \"updated\": \"2020-02-10T12:18:09.800Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:18:09.800Z\"\n }\n\ - \ ]\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '3103' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:10 GMT - Expires: - - Mon, 10 Feb 2020 12:18:10 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoMR5puyJPMzGmwL6HTL4RD82ONCvaW0qHZyVw4fCbH8t_9SfeLGzVZGGuujWLdZgHkl0MfYQ8GWd174nmiVjPXmMopAQ - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_exist_on_first_but_not_exists_on_second.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_exist_on_first_but_not_exists_on_second.yaml deleted file mode 100644 index 34d185039..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_exist_on_first_but_not_exists_on_second.yaml +++ /dev/null @@ -1,335 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDc2LCAiZXhwIjogMTU4MTM0MDY3NiwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.Sf6bmzIl6Sr4nxm2Zmj6PzQ9xoBmrpA5u2ApmzEDFAc8H1ie28M69SdTjjpj67Wcao_sdkiCTat-wSlvbZe2M1OYaH4yp91wa-aZT_q6mN9w4Sg7uM6rp2LFg5Z1ig4mSWwMY8D7SJZjjBm6MADsu5eLgHIElCA5o5vFkU0oiuSKDzxp2hF1BSm50WiuI9tyf0ClbZsyATfPBMAeoZyyubO8Vlkz9018zYQhyPS3KWrKvACq6pPrS7feosW-EK20y9CHeq8UqozQC8UEBb0HHnGS65yf7mF3IwfrozLiNyLjeWrDILL9fRAJYj8G0z_3h3KWiKVqw9UrRufQeCO9fw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3Py3ZDQAAA0H+ZdeQUEXRHqEk8YjyCbBxhhGg9xjRIT/+9Tj/gLu4PyPIcj2NK - uwa34B0sGSdv863Z2+oTYYWIgXNIVIsx2Ujc2+Q6lfG+Cc2AxtVginkT8prwrczMIpXSwNMDkqdM - f0Ad716QNy2f86sIhfBNFsQZ5R/FKeyZXZgVhkanQb9FrfWMtXQs/WvnUK+9E+qo+tlIi+PEnEve - PdoEJSh6RfCeGEuRad3D0GvlwmEJ6u7sGrC7VKybdvArgN5qPdn5ZALIlic63AqwAXjua4LHtF57 - vCDLG/B/TenS4zWs4oxgAn7/AJl5Pl8KAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:57 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqOSZa9MNi4iKVN8bJbBjLXk-hk-qx-hoKuRoPUjnBRcZzMIJxYaYPIaLs-PPKTOcAF924vLKtiwBKXBHEUKf17gKxPEQ - status: - code: 200 - message: OK -- request: - body: "--===============5585409590854332465==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_read_file_does_exist_on_first_but_not_exists_on_second/does_exist_on_first_but_not_exists_on_second.txt\"\ - }\r\n--===============5585409590854332465==\r\ncontent-type: text/plain\r\n\r\ - \nsome_different_data\r\n--===============5585409590854332465==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '340' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01NTg1NDA5NTkwODU0 - MzMyNDY1PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_read_file_does_exist_on_first_but_not_exists_on_second/does_exist_on_first_but_not_exists_on_second.txt/1581337077545464\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt\"\ - ,\n \"name\": \"test_read_file_does_exist_on_first_but_not_exists_on_second/does_exist_on_first_but_not_exists_on_second.txt\"\ - ,\n \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"1581337077545464\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:57.545Z\",\n \"updated\": \"2020-02-10T12:17:57.545Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:57.545Z\"\ - ,\n \"size\": \"19\",\n \"md5Hash\": \"A94boGwjJexuZLZmMberHQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt?generation=1581337077545464&alt=media\"\ - ,\n \"crc32c\": \"4mcrRA==\",\n \"etag\": \"CPjzm9b7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '1156' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - ETag: - - CPjzm9b7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UorxjcceBzqo8EZ0LfeYwShFnYJTOKL_iq8pcmrxWpE2arz6bqA77CYC-vxxwI5MpOpGohTLnQXth1lfEc4pOBYvAh3Og - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:57 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq4cxuFgL67nhLwBlg96gJLlLb6tIvz5y8OuxfQWHHmDqJd7WI7GC2JulBUESfIOwu3qexlHfzuTNjYwihXYUpMIagNag - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_read_file_does_exist_on_first_but_not_exists_on_second/does_exist_on_first_but_not_exists_on_second.txt/1581337077545464\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt?generation=1581337077545464&alt=media\"\ - ,\n \"name\": \"test_read_file_does_exist_on_first_but_not_exists_on_second/does_exist_on_first_but_not_exists_on_second.txt\"\ - ,\n \"bucket\": \"testingarchive20190210001\",\n \"generation\": \"1581337077545464\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"\ - storageClass\": \"STANDARD\",\n \"size\": \"19\",\n \"md5Hash\": \"A94boGwjJexuZLZmMberHQ==\"\ - ,\n \"crc32c\": \"4mcrRA==\",\n \"etag\": \"CPjzm9b7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:57.545Z\",\n \"updated\": \"2020-02-10T12:17:57.545Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:57.545Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '1173' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - ETag: - - CPjzm9b7xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:17:57 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqHaWNdo7TefGRLsrM5YFjfKxlQPGaDanxn7ii64IjxTbMJ2HflKlmd-gqdyoO_LOwEPwbgRLIJRpNKYQOBwdVBC-crbQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_read_file_does_exist_on_first_but_not_exists_on_second%2Fdoes_exist_on_first_but_not_exists_on_second.txt?generation=1581337077545464&alt=media - response: - body: - string: some_different_data - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '19' - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:17:58 GMT - ETag: - - CPjzm9b7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrwZusAxJR7jWp3sCp_HNQXmWMfviLVDZ2OkbpiFGUIHAZvqt1ssQK65uzDiqKD4m0UuJosUiqxt0VfXn1gHAyQC_9Njw - X-Goog-Generation: - - '1581337077545464' - X-Goog-Hash: - - crc32c=4mcrRA==,md5=A94boGwjJexuZLZmMberHQ== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist.yaml deleted file mode 100644 index 981510bcc..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist.yaml +++ /dev/null @@ -1,196 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDczLCAiZXhwIjogMTU4MTM0MDY3MywgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.J6G72i_oqPAKcjvX_kqd8ixz4tkIwWdOubjkDwTR_hDUEgQS0vOqx3xsKJ4V4xrfCWvy0vdGyD2iqNXh3osUpN1QSIyXHbK6gldTD34blmwB25LKkObJPJd8n485cwh8vvnmSYV0DTi5FwnolQrwWtNfw3na40G5WQ5MJs504lS1nHj0GxLtUutYTRfbRfQUDYOg0ggbm5uxdG8ag_a-LGFtCONtylDLE1AwvY-JFiq7bvUOBgYy5D3naRofcVs3_OL203tuSWL4TO984tUfrihKHk0cZAySZ0jaJhNo6vhF97dJU90SBV1-F8ngAqck-emx8KfMU9YKKgbQD7fagg&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PyVKDMAAA0H/JuXSAIIs3gSmtoC07cslAiMBgw5Kw6fjvdnx/8H5AgTFhDPG+ - IxQ8g72QjSM+usObufiV8nqmrb2yWg7ubcSbj92ImxMvxrRP5xR+zci2Q3dwVfgS8rmF4qiRs57H - 3xCjTtwEU5xHgdzDMQukxKc8/bSzja63hDkcSswTLErLdtFUw6okLVFmi7ybS4CaLrO1tCeq4i96 - zhSc1Z51zRWE4wsizGmoJKTStdbkMtpWXpeJfFrgJfYdoxeqcUy8W6TPlYvBAZBtaCfCUPvowSfD - OID/K+L7QB5hkxQTmcDvH1ksAOAKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:53 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:54 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:54 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpoMFsry2_z9ojAJQ1o9m_nnaOTDYRzCw_bWJK6wMrYkzEYG_rC3k3yULVacKIjrVEpadq7OEHYaq9DlzalnHOkJiU_sg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_read_file_does_not_exist%2Fdoes_not_exist.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_read_file_does_not_exist/does_not_exist.txt\"\ - ,\n \"errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_read_file_does_not_exist/does_not_exist.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '355' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:54 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpPuoR0fNj1DsbnR-YxM1LnhWA1UOMAwAeDE8h7mIr_N6SpHB7JBCE0bcr6sjSiVIQ0MDhRsh0a4xqqyhfuLLtanV9L5Q - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzU0Wg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_read_file_does_not_exist/does_not_exist.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_read_file_does_not_exist/does_not_exist.txt4646B0471B7D9328rZ1ZgfTzhcwxI3muXu/DUY0gofNRcdIgAZzJmebiccLVZmiBAqYQOHfdlmj3DK3rrtfA1exsqgU=' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:17:55 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - rZ1ZgfTzhcwxI3muXu/DUY0gofNRcdIgAZzJmebiccLVZmiBAqYQOHfdlmj3DK3rrtfA1exsqgU= - x-amz-request-id: - - 4646B0471B7D9328 - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist_on_first_but_exists_on_second.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist_on_first_but_exists_on_second.yaml deleted file mode 100644 index 0841547c9..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_read_file_does_not_exist_on_first_but_exists_on_second.yaml +++ /dev/null @@ -1,250 +0,0 @@ -interactions: -- request: - body: !!python/object/new:_io.BytesIO - state: !!python/tuple - - !!binary | - c29tZV9kYXRhX292ZXJfdGhlcmU= - - 0 - - null - headers: - Content-Length: - - '20' - Content-MD5: - - !!binary | - WjNOdm50aHM0dm9wQURjcW9XUTkyQT09 - Expect: - - !!binary | - MTAwLWNvbnRpbnVl - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - VU5TSUdORUQtUEFZTE9BRA== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzU1Wg== - x-amz-storage-class: - - !!binary | - U1RBTkRBUkQ= - method: PUT - uri: https://testingarchive20190210001.s3.amazonaws.com/test_read_file_does_not_exist_on_first_but_exists_on_second/does_not_exist_on_first_but_exists_on_second.txt - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Mon, 10 Feb 2020 12:17:56 GMT - ETag: - - '"67736f9ed86ce2fa2900372aa1643dd8"' - Server: - - AmazonS3 - x-amz-id-2: - - XsY0Wiws1ULKBAIbfIu5ITr23YfyRiiW5Z6tF2dWPuohr+ctbpAIGWUn1Yw/un+37QH2G3kWCvA= - x-amz-request-id: - - 018173C75A846D93 - status: - code: 200 - message: OK -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDc2LCAiZXhwIjogMTU4MTM0MDY3NiwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.Sf6bmzIl6Sr4nxm2Zmj6PzQ9xoBmrpA5u2ApmzEDFAc8H1ie28M69SdTjjpj67Wcao_sdkiCTat-wSlvbZe2M1OYaH4yp91wa-aZT_q6mN9w4Sg7uM6rp2LFg5Z1ig4mSWwMY8D7SJZjjBm6MADsu5eLgHIElCA5o5vFkU0oiuSKDzxp2hF1BSm50WiuI9tyf0ClbZsyATfPBMAeoZyyubO8Vlkz9018zYQhyPS3KWrKvACq6pPrS7feosW-EK20y9CHeq8UqozQC8UEBb0HHnGS65yf7mF3IwfrozLiNyLjeWrDILL9fRAJYj8G0z_3h3KWiKVqw9UrRufQeCO9fw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P3VaCMAAA4HfZtXoEBaI7Z4EwkECQxs3OHBNXIeNHAjq9e5ze4Pt+AGWMty3p - qk9+B89gpKq5YiskfdiHLEit2y7GEteq7K4obt788mQk5CGYEy238fKxt0fXONZcp7AXQ+659Fia - mYvd9bpwkCCG5pFLZ2Mlb/VXuzNTm4QUfriFtu/h+XtCxtMhNe7IiciAaSzsTZZXXaw7ocvS6hDs - 7D6/ZoGmnGsrFKrwEp+m0MisIsKoLOLtFylPNUWRP4kETjdktTNxfJe5fpHKC1gAPkjR8JaIubfR - THMB/q+kGyWfw5DThjfg9w9/kLm/CgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:56 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:56 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:56 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrnkJjdyl4bzuU35pNOJwzppUVmz9Jn6n_NaQ-_8DyZf9BgMasoZvGG9A0_YWYIVLjOqn9PxNZDpOE_X0Zoz5hmQswr6A - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_read_file_does_not_exist_on_first_but_exists_on_second%2Fdoes_not_exist_on_first_but_exists_on_second.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_read_file_does_not_exist_on_first_but_exists_on_second/does_not_exist_on_first_but_exists_on_second.txt\"\ - ,\n \"errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_read_file_does_not_exist_on_first_but_exists_on_second/does_not_exist_on_first_but_exists_on_second.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '475' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:56 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up6rTE2wjTk85BPc98feQOfI_9lgofHcZT77l6l14w9vcI6YD63NwVkhXrop7426FQbm4zLl1856wU-dWTay3xC_6vtrg - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzU2Wg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_read_file_does_not_exist_on_first_but_exists_on_second/does_not_exist_on_first_but_exists_on_second.txt - response: - body: - string: some_data_over_there - headers: - Accept-Ranges: - - bytes - Content-Length: - - '20' - Content-Type: - - binary/octet-stream - Date: - - Mon, 10 Feb 2020 12:17:57 GMT - ETag: - - '"67736f9ed86ce2fa2900372aa1643dd8"' - Last-Modified: - - Mon, 10 Feb 2020 12:17:56 GMT - Server: - - AmazonS3 - x-amz-id-2: - - Zw050nupqkOAY4XblYeuIgZVW47bwFpBDT9Y1E/uYSrbJC07oAFqjfWPYee4qzhcq1U2r8Pr/2M= - x-amz-request-id: - - D59528D9A540D65D - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_append_then_read_file.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_append_then_read_file.yaml deleted file mode 100644 index bc03fa3bb..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_append_then_read_file.yaml +++ /dev/null @@ -1,615 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDY5LCAiZXhwIjogMTU4MTM0MDY2OSwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.WLMZAFmeYmb44Omnae6YrpF43tnPEHfyM3UerlkU-MsDyO5AUibBf02W0DOeTBmocdULaasYwpTla1733eXsJccuNcPNNB2XCTEfgUi5LayGdd2OTTTEPV-BCYCyvly2Cvn5win3uWEMqO4UDtfZPjHbvdxzB2znhYDnqZtE6VAJJg5kECz-bAICLSbkWjTNe1QC6E0S0sNDWVtaMPffnPKOqYjLj0a26wORTs1uZCu2chfWil82NFdsYKKQRtGcM-rK_No-kbppItPFbJHyFeXmA_AoILBaxE78l6vZZ9pObOKVwDLsfS2wRjiJsXs92SwbMc6_cCsiVa5xpWVcJQ&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PS3KCMAAA0LtkbZ3wU+lOUQTlq1BKN5kAiVglBgg/O717nb4bvB+A85y0LRKP - G2HgHUxY1uf5/MjdTR8Sv9SzMnvmWO0uY+oHLpZ6DZlo7VehRZXJ2Hwllw9Vs3GsQdh0O8sezKMt - n1SYMrO8X9YSXLpW3C1VTtuIhtWC3kKUrAz5GI/FXTi3nboNogx7i3qQ0ZodxFnmT7askpbUAiqc - Tizc21tlDArvczyLdEIFVqrC48HqQV3pW7P6gx6lb2JVM4cOab4wHd8bDKfcCwhmgIz82pAWXV89 - RdP1Gfi/IjFx8gpvCG5IA37/AN8twHkKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:49 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:50 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up6g0JPCrznFllPtqASPucm5vFGPH0fllDss0RCy_ICFJs597sH7GM6A6hqp_Z62J4g6Va338BC4_HwDUlfD4Dz2pFL8g - status: - code: 200 - message: OK -- request: - body: "--===============4831429910558492637==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_write_then_append_then_read_file/result\"\ - }\r\n--===============4831429910558492637==\r\ncontent-type: text/plain\r\n\r\ - \nlorem ipsum dolor test_write_then_read_file \xE1\r\n--===============4831429910558492637==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '303' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00ODMxNDI5OTEwNTU4 - NDkyNjM3PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_append_then_read_file/result/1581337070379144\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult\"\ - ,\n \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337070379144\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:50.378Z\",\n \"updated\": \"2020-02-10T12:17:50.378Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:50.378Z\"\ - ,\n \"size\": \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337070379144&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CIjB5tL7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '900' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:50 GMT - ETag: - - CIjB5tL7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqRHydZ7JHEotad-420-_u_Ixlf-b4d4RguoUJ5LPAzAHDx3E_gmNpIDxHxxQ1amdsnnv-sH0ANu_TdxmsfWxipTwqjoQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:50 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqraiJYigTbfztpjFhAV2i1EONBlroUSGYgh74PBEOMvh9bU7Yro5tWXOpYJWv_P-CuSZy0fpLa5x-OppZkGEXrhN33DQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_append_then_read_file/result/1581337070379144\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337070379144&alt=media\"\ - ,\n \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337070379144\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CIjB5tL7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:50.378Z\",\n \"updated\": \"2020-02-10T12:17:50.378Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:50.378Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '917' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:50 GMT - ETag: - - CIjB5tL7xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:17:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq2ZcTVcBN9obizJaD3SoKHRls1t9fv4miCUeNP010e8nEkAKbfKR34tUdREFCbzrB_w1bYnInx7LfNveGBSjRyuWAdnA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337070379144&alt=media - response: - body: - string: "lorem ipsum dolor test_write_then_read_file \xE1" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '46' - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:17:51 GMT - ETag: - - CIjB5tL7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoIYeHKlvcUMYCfXD-EwSeI7LZlUVFmt5wBDM7zmdRsp8OvKS36iGlcZLDhiqmPyU3oPKt_Qan_c3KN2Tqhdih87dZOfA - X-Goog-Generation: - - '1581337070379144' - X-Goog-Hash: - - crc32c=fChI7w==,md5=NwIf46EiCcnfaot9N+GaBQ== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:51 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq7JlGMUGWlph2hL_iHIVNEMiKdhsdeJgyEpTTo5Y8yIajKlaXJnRMNrwVbBVdXD7QzYiCCQ7NXvIoJt7xftAK4OX6N5A - status: - code: 200 - message: OK -- request: - body: "--===============0273309970494157924==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_write_then_append_then_read_file/result\"\ - }\r\n--===============0273309970494157924==\r\ncontent-type: text/plain\r\n\r\ - \nlorem ipsum dolor test_write_then_read_file \xE1\nmom, look at me, appending\ - \ data\r\n--===============0273309970494157924==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '335' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0wMjczMzA5OTcwNDk0 - MTU3OTI0PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_append_then_read_file/result/1581337071325068\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337071325068&alt=media\"\ - ,\n \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337071325068\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"78\",\n \"md5Hash\": \"2ZHHydzODH4vKBId3j4IxA==\"\ - ,\n \"crc32c\": \"iGpjfQ==\",\n \"etag\": \"CIyfoNP7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:51.324Z\",\n \"updated\": \"2020-02-10T12:17:51.324Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:51.324Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '917' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:51 GMT - ETag: - - CIyfoNP7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq7ynixzTFOSM78evxDgZGrO_V8fmKwFJGKUr7XC1IKzcE-P3g0YkAIiEu2XYS3R2WHoB6Dlh_OgXHaqfhzW2UXG6J2zQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:51 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur4NcylQvl02msGNc3gOHl13bNEqD4gtp24dTDLI1eBxkAb1MCm5oE7fFMD886mAA_TKac0_YK3PBa2Ca17PXtXQEyyQQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_append_then_read_file/result/1581337071325068\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337071325068&alt=media\"\ - ,\n \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\"\ - : \"testingarchive20190210001\",\n \"generation\": \"1581337071325068\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"78\",\n \"md5Hash\": \"2ZHHydzODH4vKBId3j4IxA==\"\ - ,\n \"crc32c\": \"iGpjfQ==\",\n \"etag\": \"CIyfoNP7xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:51.324Z\",\n \"updated\": \"2020-02-10T12:17:51.324Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:51.324Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '917' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:51 GMT - ETag: - - CIyfoNP7xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:17:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uog-m9CBG6L4cRaD6AAnt68nakA9wxPHpRKQUNEAGZtzd5FdW9HWei3N_vk7N_4K7Xv_2Vn3TOp0ITHKNi0XCjxzYv7Uw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_append_then_read_file%2Fresult?generation=1581337071325068&alt=media - response: - body: - string: "lorem ipsum dolor test_write_then_read_file \xE1\nmom, look at me,\ - \ appending data" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '78' - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:17:52 GMT - ETag: - - CIyfoNP7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uo6G1qyB1DKSLm8W5qUjyykR6heIPtT6b9-f3CBhlimnt9gZPzJffZpLlkYbqBtoRlcpnhwzMs_Z40S-7DORAIsHbYuxg - X-Goog-Generation: - - '1581337071325068' - X-Goog-Hash: - - crc32c=iGpjfQ==,md5=2ZHHydzODH4vKBId3j4IxA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_delete_file.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_delete_file.yaml deleted file mode 100644 index 462e079db..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_delete_file.yaml +++ /dev/null @@ -1,445 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDc4LCAiZXhwIjogMTU4MTM0MDY3OCwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.CcBqPJflDHg4ujCH07ec5duDsySap0zrbQ-hct2t_lSbkxAXa-A5ATukgd4rqBgO591WLNy8mY91rf3ySwRCHDWgJAsxHxSvnsADblw3zNL7UOwT3Eq0QucoXYw3NHoige_MPAZJLIszG5N96uwwBZsJgh2oHlyJ5QYeBHSqS1h8CdsDcyE9QbV6C7Qdni3ASQwhVfw7vB2lglhjszAEn4mmkc5dy6iQ80DNQehP9bCs-TmIRti1gUmrwscE0gH7ouG3mDpuJokWKl2kzhQFvyXFJuTNH5CAnX_I749SVtd7eEzBS6Ywa5_6jQ_6Iphmf6xr4IjgXc6hd78nXY1Z_Q&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P226CMAAA0H/psxiEVWFvVBmXTgSJTH0hBEoKZRQpF8uyf5/Z+YPzA7I8J0Kk - A2ekBe9AZpq5zte4O6IpKk/QYbQIJsw/v1rWydLQN2Ua5QzVVd2HyHL7wcZUE2/OSG15etDckDtK - kDHG8bWZi/kwBbmmUDSgaQndniVxEJ1Nz03GqtHEErnNflOIhmMJI8inW4YlR97ZgdnIryRUEz9b - dg/4vLOjegu0D6Eqqh+3s2gvHsaVd7CIfcfxpWBC+ba2savTbly2QeiTuR73YAXIs6t6ItLq1dOh - aa7A/zUdZEdeYUSynvTg9w8vQBoECgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:58 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:58 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:58 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoyvAQ_Shh1yhmtOqy-bywNEh0zjDVItB0MXLRoxsHrpMkdHTtgiPo7iRima37i4J5KcDsPGEBDR485vZsycnBQW6gzXA - status: - code: 200 - message: OK -- request: - body: "--===============4034966341872028433==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_write_then_delete_file/result.txt\"\ - }\r\n--===============4034966341872028433==\r\ncontent-type: text/plain\r\n\r\ - \nlorem ipsum dolor test_write_then_read_file \xE1\r\n--===============4034966341872028433==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '297' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00MDM0OTY2MzQxODcy - MDI4NDMzPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_delete_file/result.txt/1581337078885828\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_delete_file%2Fresult.txt\"\ - ,\n \"name\": \"test_write_then_delete_file/result.txt\",\n \"bucket\": \"\ - testingarchive20190210001\",\n \"generation\": \"1581337078885828\",\n \"\ - metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\"\ - : \"2020-02-10T12:17:58.885Z\",\n \"updated\": \"2020-02-10T12:17:58.885Z\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:58.885Z\"\ - ,\n \"size\": \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\"\ - : \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_delete_file%2Fresult.txt?generation=1581337078885828&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CMTb7db7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '876' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:59 GMT - ETag: - - CMTb7db7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpYNya2vjtMceZ-nL4VNmfJGlX4HnX6xM7xld4XM1zX5Eurtebkw8IQXpZWbCsYHEf9ZNJ8C9iKxJGSThkN-A8ghCGwlw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:59 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:59 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uoi0Fuz9E_MLaa8Oc_Lp20nNLNavQsN8DeGCrzpEWIzB7fxBs1S5ijUT8IQ90L_elOuBSBwWxiiT5sFBEH6sWZP0E4y6Q - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_delete_file%2Fresult.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Mon, 10 Feb 2020 12:17:59 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqiwI1cS52MSWcfBVGB34dsqR3KKMg85Ce6azcQr-_birjBcAPJLCakvSOFjKsDNr_6bA8JN0aoMg68ZCKCUELpDqCiXw - status: - code: 204 - message: No Content -- request: - body: null - headers: - Content-Length: - - '0' - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxNzU5Wg== - method: DELETE - uri: https://testingarchive20190210001.s3.amazonaws.com/test_write_then_delete_file/result.txt - response: - body: - string: '' - headers: - Date: - - Mon, 10 Feb 2020 12:18:01 GMT - Server: - - AmazonS3 - x-amz-id-2: - - uNJezAu7GzYGrQ4Pt3Zj1odTYPCGFxXVBC2xUCWEMzOLYUF/vdayVWE4JV429kK7CZl4vkRWxjg= - x-amz-request-id: - - 077D01D1A786CEC9 - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:00 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:18:00 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqsvJSJE0j3pm5jZ4RPXdK07MHNYwmqDJZbXdt1LjPe_nrTwc99RNUxjd32pKicTpoTuNL3d1czMcIRuSwrmlTz9lbDcg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_delete_file%2Fresult.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive20190210001/test_write_then_delete_file/result.txt\",\n \ - \ \"errors\": [\n {\n \"message\": \"No such object: testingarchive20190210001/test_write_then_delete_file/result.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '335' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:18:00 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UovQgQxHXBWNGwtj34AtRhG9ea4ZtvSHsFbsBI2Ym7sPfxcD_QLfV7XGsURme_y90lq0mGF50lLj5eASbfXd5gsnoy2Ag - status: - code: 404 - message: Not Found -- request: - body: null - headers: - User-Agent: - - !!binary | - Qm90bzMvMS45LjIxOCBQeXRob24vMy43LjYgRGFyd2luLzE4LjcuMCBCb3RvY29yZS8xLjEyLjI1 - Mw== - X-Amz-Content-SHA256: - - !!binary | - ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3 - ODUyYjg1NQ== - X-Amz-Date: - - !!binary | - MjAyMDAyMTBUMTIxODAwWg== - method: GET - uri: https://testingarchive20190210001.s3.amazonaws.com/test_write_then_delete_file/result.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_write_then_delete_file/result.txt56AB0FD0731AD9BCYteu5WIMIc8yAUYcKcPfv73ybNwIA69r2S4z3GfklhPKhIpytA9OUMg+pTXuyqO83fkN4Ro2/8U=' - headers: - Content-Type: - - application/xml - Date: - - Mon, 10 Feb 2020 12:17:59 GMT - Server: - - AmazonS3 - Transfer-Encoding: - - chunked - x-amz-id-2: - - Yteu5WIMIc8yAUYcKcPfv73ybNwIA69r2S4z3GfklhPKhIpytA9OUMg+pTXuyqO83fkN4Ro2/8U= - x-amz-request-id: - - 56AB0FD0731AD9BC - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_read_file.yaml b/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_read_file.yaml deleted file mode 100644 index c518866c2..000000000 --- a/tests/unit/storage/cassetes/test_fallback/TestFallbackStorageService/test_write_then_read_file.yaml +++ /dev/null @@ -1,335 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM3MDY4LCAiZXhwIjogMTU4MTM0MDY2OCwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.bI_Ic1DgjxgurfKi8mZWIYJO7rgbWgU2G9e_wa8UaQLMHvJtRw9H91E7SSfBOBMB4txEk38klpRZN0B5OsQTzXZ6LHK_LQtPi2fpOkHfC5-1fh_jGCDuh9HHzL-oyrzqLYoDnWLhYzqwqa1PUYu5hEXpf2E_cT6qjBPxCvDv9-K18m8lRdiN0Xx-1bmpG5vbDGqjZ3ZsTlhsUk9S5B9Ad5n6OShgfla4j7ES34JBhV_O_ccyRKTCWHQWxiLBH5bPE0gNvtC1Xi1UIPR9pqVrz48cN0UDgU1Zi_l-cRMv84Vp7qkUwJhh0RNaWvyQoFJ_eklVXzknqTUjhMfWiIV3cw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P2XJDUAAA0H+5z5Gx3+obKqgSBCUvRrgSW699y/Tfm+n5g/MESZqiYYhHXKEf - 8A62hBaO6dFoTWl2sogn7aZDmiWTo9kQxiOhZJcox143PqZg9ZHSLbsOvY3UOa67V7abMtouMcmo - hF7biieNyu9nudJCmg8meQ+kUbU2GIk7G3H4OhgyAReJzhGMbg/4hblyEdesuDhvtlb77KzXKt6h - JXGNptbfgc3X57VEcA7DuapbbBSrkzNKsV7YT4oa8srHV/PmZ0vpelF+KqcCHABa26JHQ1y8egwn - CAfwf43HrUWvsISSHvXg9w+s649zCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:48 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:48 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:48 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up6v9Sn_jat7oJF4wsA6jkPMGl_W5rMvu7SeWb-_J0fhrLh6-shsoXxCTg1ZYy7Ppn8NeRQcuJhm225bIdSAWAEAWrOqw - status: - code: 200 - message: OK -- request: - body: "--===============1778739320509585993==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_write_then_read_file/result\"}\r\n\ - --===============1778739320509585993==\r\ncontent-type: text/plain\r\n\r\nlorem\ - \ ipsum dolor test_write_then_read_file \xE1\r\n--===============1778739320509585993==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '291' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0xNzc4NzM5MzIwNTA5 - NTg1OTkzPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive20190210001/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_read_file/result/1581337069049392\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult\"\ - ,\n \"name\": \"test_write_then_read_file/result\",\n \"bucket\": \"testingarchive20190210001\"\ - ,\n \"generation\": \"1581337069049392\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:17:49.049Z\"\ - ,\n \"updated\": \"2020-02-10T12:17:49.049Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:17:49.049Z\",\n \"size\"\ - : \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult?generation=1581337069049392&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CLCsldL7xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '852' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:49 GMT - ETag: - - CLCsldL7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upb-hTnbfD-KpUrNsM-_oML7WuAcLnVVVkH9dPrfFXbfPHkQR6ZKLMNxtffi7Afn-ooKRgMWCEhc48LAUjTEBoYPCUz9g - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001\"\ - ,\n \"id\": \"testingarchive20190210001\",\n \"name\": \"testingarchive20190210001\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n\ - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"\ - CAE=\",\n \"timeCreated\": \"2020-02-10T12:17:45.261Z\",\n \"updated\":\ - \ \"2020-02-10T12:17:45.261Z\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n\ - \ \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\ - \n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '586' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:49 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:17:49 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpSiZXPXCHnmP4qFfQ0iRa_Iez-ww5YZXvUyWizL3s_JOR5ab_2wKhT2H8GXiFv_PqMVBb-fq13X3z6HD4vV1mR6sHvfg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive20190210001/test_write_then_read_file/result/1581337069049392\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult?generation=1581337069049392&alt=media\"\ - ,\n \"name\": \"test_write_then_read_file/result\",\n \"bucket\": \"testingarchive20190210001\"\ - ,\n \"generation\": \"1581337069049392\",\n \"metageneration\": \"1\",\n\ - \ \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \ - \ \"size\": \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"crc32c\"\ - : \"fChI7w==\",\n \"etag\": \"CLCsldL7xucCEAE=\",\n \"timeCreated\": \"\ - 2020-02-10T12:17:49.049Z\",\n \"updated\": \"2020-02-10T12:17:49.049Z\",\n\ - \ \"timeStorageClassUpdated\": \"2020-02-10T12:17:49.049Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '869' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:17:49 GMT - ETag: - - CLCsldL7xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:17:49 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpNaI22a4OXnDbyPJDHwUyPLwVA7TINLo-Ipvj9DUOR53iJmU0HoRMYa-nut5ZqjgAbwizd6Of0QaEUZeW_CMdr10_-Pg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive20190210001/o/test_write_then_read_file%2Fresult?generation=1581337069049392&alt=media - response: - body: - string: "lorem ipsum dolor test_write_then_read_file \xE1" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '46' - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:17:49 GMT - ETag: - - CLCsldL7xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uo7KoYqKP2eXERiKCggfWmzQMGHHCE1WGMJ6yKTFtq6hkm-hbH7Nx5MvxddbeDPjolFMCVkIG9BR3JoNIiLxqdF6ueZ1g - X-Goog-Generation: - - '1581337069049392' - X-Goog-Hash: - - crc32c=fChI7w==,md5=NwIf46EiCcnfaot9N+GaBQ== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_append_to_non_existing_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_append_to_non_existing_file.yaml deleted file mode 100644 index ade09e4e8..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_append_to_non_existing_file.yaml +++ /dev/null @@ -1,416 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc2MDM3LCAiZXhwIjogMTY3Mjc3OTYzNywgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.yYrVaco26H1z23sWNfYfNITZFemBktoVbMMdTD8l4raN8pRL2F8ZbYre1QJqfxVYgTJ5gGuZYFv5wiQ0F1nTz0uLg94VyDZAURdA2rBOq4FbtGQT09ec9fpIyvb5fTtYCzDSBe9O5u2mjLIpizPr3nA3KVQR4QOn-jxb6YPxQ-zdRkb67xyg4UOiZ8mSbx98nsWoahgsBGivB0PWRGHKL8r0lA2oGCfNAglufkzlRGlU7UKrCb0Z1Nx4J3xH4CIEZMbwF-zE2HFebEJbZ-67DXnDmPZ3voPFZ4ilEfP4gP2aB-3pBBiRNpgqBxmv4edD55To7llBV8MZWh2352_BJQ&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3US3KCMAAA0LtkLYwon0l3QPjYOlAERNhkkpha5CMEpWind6/TVQ/BO8T7BoQx - Pgz4eql4C17AnaygzGS6NBOj7s629CqhzM6pjhq7PVjIJOZXsj9NmetJNxKtbpFVbOI0gl6b7Jy6 - nxxk9GhbVHWxdO7GeCO6NuLAZJ8dsYZIVJVhQ1E9fMMPczOIveZUao0SZAxLPO6qcOvs6xP92EFJ - GVOVXNZ5HxZE9xjJvXcV1dOo9n5yfssy2vNyVB7tEJClLnB60ES2C+nR5UraB8OlhFKzcZSjVQSP - qUV2qmDWlLSrmUpd6zqJWJ7NZv+BBeBTVwo+4PL5wVqDcAH+csDXe8efQ1icCC7Azy+T3FDuOwQA - AA== - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:37 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/49cd7c0a-e632-4b3b-99b8-ac5e01b85e58 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:37 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:37 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtedwHg0S_6IBcf81ETB8WuvXOpdo0zBheeWJ8a0WsJt9lnpXX19svcRrz5UPLzXPuT1-fuyvHuVyUBgvLc_gVBs5rm8wT0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/8b9e0f55-b47d-4cbc-90f3-6f392f13a0f7 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt?prettyPrint=false&projection=noAcl - response: - body: - string: '{"error":{"code":404,"message":"No such object: testingarchive02/test_append_to_non_existing_file/result.txt","errors":[{"message":"No - such object: testingarchive02/test_append_to_non_existing_file/result.txt","domain":"global","reason":"notFound"}]}}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '251' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:38 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdv2ocgWIcCC2pW8Wo1i9xF6KpIrFCLvQ_9ZUxY2IBkC7fA60LQWaC0IcPBsgsmc--gq4jM2pa9jwNDrFlB1ivPmOpBiN5Wt - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/40484f7d-0686-4d45-ae3d-7fd8bdf344b4 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:38 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:38 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdv0R0qscMR8ZCbx3JQcEL03evsA3I8CTmwdG9WGxr24AJOYv2t45OvnqxwPItGmLycNOjgTd3-9QlzTHutlPxK4s3lvYVT6 - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT0yMzU0MDE1MDY4NjAxMTczODMyPT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF9hcHBlbmRfdG9f - bm9uX2V4aXN0aW5nX2ZpbGUvcmVzdWx0LnR4dCIsICJjb250ZW50VHlwZSI6ICJ0ZXh0L3BsYWlu - IiwgImNvbnRlbnRFbmNvZGluZyI6ICJnemlwIn0NCi0tPT09PT09PT09PT09PT09MjM1NDAxNTA2 - ODYwMTE3MzgzMj09DQpjb250ZW50LXR5cGU6IHRleHQvcGxhaW4NCg0KH4sIAGWJtGMC/8vNz9VR - yMnPz1ZILFHITdVRSCwoSM1LycxLV0hJLEkEAMTXCy8fAAAADQotLT09PT09PT09PT09PT09PTIz - NTQwMTUwNjg2MDExNzM4MzI9PS0t - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '363' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/27889d06-f257-433a-9e1d-39337bc66e46 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0yMzU0MDE1MDY4NjAx - MTczODMyPT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_append_to_non_existing_file/result.txt/1672776038333065\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt?generation=1672776038333065&alt=media\",\n - \ \"name\": \"test_append_to_non_existing_file/result.txt\",\n \"bucket\": - \"testingarchive02\",\n \"generation\": \"1672776038333065\",\n \"metageneration\": - \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n - \ \"size\": \"51\",\n \"md5Hash\": \"k35a4YITeQkkV61fuOcqvg==\",\n \"contentEncoding\": - \"gzip\",\n \"crc32c\": \"VBLCsA==\",\n \"etag\": \"CIn1tqyYrPwCEAE=\",\n - \ \"timeCreated\": \"2023-01-03T20:00:38.371Z\",\n \"updated\": \"2023-01-03T20:00:38.371Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:00:38.371Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '910' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:38 GMT - ETag: - - CIn1tqyYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvxC4ZoZ96C9iTOt10lsVNXsiDK6VAkc-qe50xFIexvC50j0KabPJg4hjjsvVqiadxzbTej35Gwyx120MKgDKJk920PGqte - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/1c6cb0f8-b6ab-49cb-9218-e7dda0eee1ec - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:38 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:38 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtqwNZFwCmw5NAciQ02bbkkthbLQCYoJusieB1B8-MxCXIxSLK24ot_5pEbWqLiPeZJBVKZDff9e5rOSsn90edF9CU04pCS - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/ab28dcd0-be75-4000-bf1e-fde8acbb2913 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_append_to_non_existing_file/result.txt/1672776038333065","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt?generation=1672776038333065&alt=media","name":"test_append_to_non_existing_file/result.txt","bucket":"testingarchive02","generation":"1672776038333065","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"51","md5Hash":"k35a4YITeQkkV61fuOcqvg==","contentEncoding":"gzip","crc32c":"VBLCsA==","etag":"CIn1tqyYrPwCEAE=","timeCreated":"2023-01-03T20:00:38.371Z","updated":"2023-01-03T20:00:38.371Z","timeStorageClassUpdated":"2023-01-03T20:00:38.371Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '836' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:38 GMT - ETag: - - CIn1tqyYrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:00:38 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvGdcwtp0aHcPQxbAzFiQUZZPMMUNFynbOiV_5JtZ9YU2Iw1ZRYXxcsqfiJPnObVQSHJ9Ro8GuOTUp5sXWD5SCeOyIz8fyH - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/763cdbbf-455a-49ab-9183-414e0fab3d4e - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_append_to_non_existing_file%2Fresult.txt?alt=media&generation=1672776038333065 - response: - body: - string: !!binary | - H4sIAGWJtGMC/8vNz9VRyMnPz1ZILFHITdVRSCwoSM1LycxLV0hJLEkEAMTXCy8fAAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:00:39 GMT - ETag: - - CIn1tqyYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycdvsdXSdZEtzOno0EO4dbTod2VV7RpYjAusNjIDsfRKIaOJRlicnafwKQDdti4PdJjo26ZP_M2jYDRS6G3-jLc7nCbD9Imp5 - X-Goog-Generation: - - '1672776038333065' - X-Goog-Hash: - - crc32c=VBLCsA==,md5=k35a4YITeQkkV61fuOcqvg== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '51' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_batch_delete_files.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_batch_delete_files.yaml deleted file mode 100644 index f0f5950a0..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_batch_delete_files.yaml +++ /dev/null @@ -1,943 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzY5LCAiZXhwIjogMTU4MTM0MDM2OSwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.Oy69NS4TsV10fP7lKSnPKt1-Uq1wmvq5iHOXodRdeKxv38exynSRYxMyNWuC-GZWGDsF0VKOPQkkDSpNUtufQEnzlqMMCCW80jNmKI0CtwTmToVw-WjCFyJsqA_BK1fOLnsLFwwVWM0Xl1yyW41UAJOdvtBG7-EgvouPlTwJ-L9qnNz6ekJZrUsDKTcEwtk6AOf_G2NoXkLwzsf3seFQ2J1Q_T9HIXXoBARYyDh9wHQSi8Wp5eaReQYnufc5vCnzN-WYmeBJxIyGtM6aNRrckCxJhie28sQ7lQ6aRTVpZtXW5s7J-o-6vfnltKr1WK8M6ZtSEtcnJBiNRWAEvjUXfw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PQXKCMAAAwL/kLA4tqKS3oghWigRRIZdMSAOKNEAIKnT69zrdH+wPoIzxriOq - vnIB3sBAX+GUTbfNp31DbDAPu9UeRWSff5SHPG9HyuUyOw/oRsQ8oarCDrx2L4usKep4u17ioHRU - tbyTQUvfA9pb+aI4DalShLmW9ijDLME2LEyMEMepd81nPNnOZRshkcEvO5j3PlYVjRzBvFCnJz12 - oVy5G2H0sQg2905bx0dIdjyNmBjLs7Z2j20V0u/M5yYOdUvYfm2gVBsNz4eeBBPAH81F8o5cnj1j - BuEE/F+JGhr+DNucSi7B7x8xTk7DCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:49 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:50 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up517juORY39n_8QLb2WSR1HKU6KLe0C5EBKS2P_DmnqMFwoE_b67PeohSg89bf1oDZO3rvnsf7Me02BURgi93XJ2GMZw - status: - code: 200 - message: OK -- request: - body: "--===============2930661002166182421==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_batch_delete_files/result_1.txt\"}\r\ - \n--===============2930661002166182421==\r\ncontent-type: text/plain\r\n\r\n\ - lorem ipsum dolor test_write_then_read_file \xE1\r\n--===============2930661002166182421==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '295' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0yOTMwNjYxMDAyMTY2 - MTgyNDIxPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/test_batch_delete_files/result_1.txt/1581336770191912\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_1.txt\"\ - ,\n \"name\": \"test_batch_delete_files/result_1.txt\",\n \"bucket\": \"testingarchive004\"\ - ,\n \"generation\": \"1581336770191912\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:50.191Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:50.191Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:50.191Z\",\n \"size\"\ - : \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_1.txt?generation=1581336770191912&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CKjE1MP6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '836' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:50 GMT - ETag: - - CKjE1MP6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uojf6rYaFGniIh5pACiDZBmLVq9CPlmMeqdy8JwbGPUJPdOmA9lhZIOiu-_dS3_C52NZ51c0bg0eRLBJfT28Uns__4E0A - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:50 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoWqiYgxFb7493IqFsEQZswM5u2sAmXTHzkJuFPOzx3IK1Md1QaTxSWQt_F2XxG4zasCyME_AbuWSALEjSSREriID230Q - status: - code: 200 - message: OK -- request: - body: "--===============7062073550138089903==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"test_batch_delete_files/result_3.txt\"}\r\ - \n--===============7062073550138089903==\r\ncontent-type: text/plain\r\n\r\n\ - lorem ipsum dolor test_write_then_read_file \xE1\r\n--===============7062073550138089903==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '295' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT03MDYyMDczNTUwMTM4 - MDg5OTAzPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/test_batch_delete_files/result_3.txt/1581336770655807\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_3.txt\"\ - ,\n \"name\": \"test_batch_delete_files/result_3.txt\",\n \"bucket\": \"testingarchive004\"\ - ,\n \"generation\": \"1581336770655807\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:50.655Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:50.655Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:50.655Z\",\n \"size\"\ - : \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_3.txt?generation=1581336770655807&alt=media\"\ - ,\n \"crc32c\": \"fChI7w==\",\n \"etag\": \"CL/s8MP6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '836' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:50 GMT - ETag: - - CL/s8MP6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upq3JgZpKWFwfPU1A1sMCOtOpsB2x9oub6qG9ECvDjiM6T251LiVYiiAndFgWYO0X1etW0pTd4yy-4qZAMWAApxYpd5kg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:50 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:50 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrPj4BV22mo-ubGXsvcDLZP9_VR6aTNdmzOA6IPwWQcWvIMPCTLO-X_PIN0QuMjpaBPf6Eguo398wU0kHDomzfvh9aagA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:51 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqD34KfuhDmXuUbyznCz0MfpK4s-xajb3ptqQyzyKeB0oXid7NxRxbwPXnWj_e31QTHADksSHtYy4G53VS9jOmB0DC1WA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:51 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrQqYY-YNo3JLlHwawnDjERY8_iESMNgregJkALgKc0vHeJKnjeWwt3oHHricioxGQjTlkLtJyfiqSzxxbnUz5fA0IURg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:51 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:51 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoidnBOluiZH9jr_YKQbDn1Wj0Qb9ysy-RhFyM8hsgULzMSDIeAgUy5MBh7_hyVoKH-YYtx3mOg4UU4hjIE6kv0CsNXgg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_1.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Mon, 10 Feb 2020 12:12:51 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrjqzAZs0iuuoqnjuWSEvA3lIG76DnKqNGYqZJoLqteyKcTV7RyrWEsOOSo_bryRMAsxPDI63x5eTSD7ISsvBf1HuweJQ - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_2.txt?prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_batch_delete_files/result_2.txt\",\n \"errors\"\ - : [\n {\n \"message\": \"No such object: testingarchive004/test_batch_delete_files/result_2.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '315' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:51 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrRTOgcFBLIXz5zpqe4w0LmT1fUtFo29j7OYvjBdK2BM8HXbQlXrDFf3KF3w3dblan2NP7yd5bbHStmRqolYyNpCO4aIQ - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_3.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Mon, 10 Feb 2020 12:12:52 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uq8xbHLD_VtL5G7sHXpV8Y6Hwja1ZlIjdVgLIZPeEocOCQt-zAuEz2tglSmjD-3C10CqpL8phoZtY4yQh0rQU_JpCHddQ - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:52 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:52 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoI1cVeMk-EBOxwhxT9AICl3Q_TPXrDFSeiosgqOVdngbANviVvpl9d8AJPpJMhkoA3mIXgrQHfsqqcgFcGAtqYNFN2Xw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_1.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_batch_delete_files/result_1.txt\",\n \"errors\"\ - : [\n {\n \"message\": \"No such object: testingarchive004/test_batch_delete_files/result_1.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '315' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:52 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrTVc4ihXh95-J58tSpWml2oAIhDRAvOy7-iDJJmR6nD3_QO5Rdu-QLU56UQ4u8bW3YHEjDsefrlFd1RgCkUqYJlKP72w - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:52 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:52 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrG_FsjwLIGWFIRxhpluAOhBZtW14HQFPob-4B4VXIJp-6JtpqGP7lsktkW9rRVGDttP73GzZQbn9yoxXtlZ-GkddnNSg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_2.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_batch_delete_files/result_2.txt\",\n \"errors\"\ - : [\n {\n \"message\": \"No such object: testingarchive004/test_batch_delete_files/result_2.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '315' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:52 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrHX9NhBsnAacrS1YADnp8B4JGG0LguKZuCCjT46XcHFbkdH3st81W7pc4I_1GqIK88FFZscQBmh7sFVSGwNs32ZHf7rQ - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:53 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:53 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpfQSIYsuB_7SpFxTbnefUThMZalJVl6GQIFs4zL6Vpe-JkkjKE0jv1PbEuqcVXKIlvaHBa0sAl15f0P8ZFvYqiFZmA4g - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_batch_delete_files%2Fresult_3.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_batch_delete_files/result_3.txt\",\n \"errors\"\ - : [\n {\n \"message\": \"No such object: testingarchive004/test_batch_delete_files/result_3.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '315' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:53 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrHODm7MJKB5VTpqj6j_i-dB6rwhOWwBKhmjQ6tg_XNeHnnRQYCrnfJv2ljo58XiHC07_QDo9hDFZApB-eHj3YmwknXgA - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket.yaml deleted file mode 100644 index 5256f7663..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket.yaml +++ /dev/null @@ -1,115 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzQ1LCAiZXhwIjogMTU4MTM0MDM0NSwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.aXDQX2wbYtmgcCs1z-46AdafwXxUWNpxQuNWjsKditdq895uKzE2AjGwfqj1FQlVS7dde5my3FeT-Wa3VdzTa6Hh7GCOg6jKv4friSWpdbBU5crU5C_3RYL5uD6y9YU6lKidX6utVkP7-Lh_nMF9agC_Z78h0aUkFB30JyVx2kb1JNeb8ny3YeBlNqjSSDT8iOzL87h2D25Hkka1G3O-PketHxA6g3-lhXvfjrIj6x2s_LwhQcB0IP8JsDhkE-bTU3jEHq3Shq1EAz4QEUcWyrDacEYFRntcREaEIN-4eYSdSozI4gJvrX8vSPPn1LB1ulWNTHCGhQ5RjY7u3mfomw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P3XZDMAAA4HfJddMzMsru/LZkVhm21o1DZBhDo1S2s3dfz743+H5ATimbpuw6 - tKwHT0Dksr6lWzwG5kIoF9E4qAZRpsc+K+0Vaq6+kw+QkYjh9Ga3Qg0FNlrz07IYPhcavtAuSz94 - LWMF1j15IEnTsT2aq5ed5sIhOaBZhB7JkRMmzmkdPXeCz1JXVugc+BAio4uZ9PZeuckXj1XPDPx4 - LqPEV09LVNvIGde4gqk2W1JRqvn33jpeqF0oGDtKUIc+ghZ8FcWNJjDXj0sENoCtY8PZlDX3HlJ0 - fQP+r9lVjOweNlnOGQe/f9wJ1kEKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:25 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: '{"name": "testingarchive004"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '29' - Content-Type: - - application/json - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: POST - uri: https://storage.googleapis.com/storage/v1/b?project=genuine-polymer-165712&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"id\": \"testingarchive004\",\n\ - \ \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"projectNumber\": \"582817289294\",\n \"name\": \"testingarchive004\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"metageneration\": \"1\",\n \"iamConfiguration\": {\n \"bucketPolicyOnly\"\ - : {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"\ - enabled\": false\n }\n },\n \"location\": \"US\",\n \"locationType\": \"\ - multi-region\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '534' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:27 GMT - ETag: - - CAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpkGJ-fo8wct6uU_VafI99ATQmuzNtqSKAxrnwRI_oTlj9BiMz81WDlw-2J7GaKxyuatV5znGwUoVlAVRzB0WrDQgrFSA - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket_already_exists.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket_already_exists.yaml deleted file mode 100644 index e3a44c4b2..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_create_bucket_already_exists.yaml +++ /dev/null @@ -1,104 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzU3LCAiZXhwIjogMTU4MTM0MDM1NywgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.dozpboXpfbiXZ_rAssmbJ2ywjOf1iEtrCUVeNy-vw6CWh6aLcqaVYXb0K5_yTm1tFknC5YuPPZtLSWCHI7bUcvAhnsnUBK-GPdp-mOErMyZVqbJtj3QrA1DgsDH4jb87SggYF7ntfxjpSuQC_dIzXP8-OzfBPH2PkQyXrXnpGxypW6BYk-kKXGhwZcPwhPa32xhVYH7VPTtrjiZlDdEeXgKq1BOM2KGthAwld7fXjts2Fr9dH3ME7JeMbJYdgbPgMcJgUsF6vdShTsmPqtw4J9neVOEG63MwDVDtpK79DFbSrSLfxh_xOkAYXg-VQZDiVU1d0q9uUDjmkBgx6MRn_A&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PyXKCMAAA0H/JWZ0CjYTeoC5UVBbRApcMS1CqQAhhi9N/r9P3B+8J4jQlbYt5 - fScV+ABTLGuLdGHRg9G7uSefpj7yxS2SnESkqMfjBibIiwO8b8JRGJC5lpKslMifi0O5Pr33+THX - +ynx7B++vaGs7rJTx8xV5uG3802/7qvibI3C3s0D+BgsSQkavdzsJiwjGOpliEybkrHlpr0rlmkX - cp/SLjqiLg+G9nEppk/96zuH6L6uV7xUG1V1RFf5wnJLLi8tdYAOZVvp2riXihkIzAAZacFIi4tX - T4GaNgP/V8wnSl5hg8SMMPD7BwrntAsKAQAA - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:37 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: '{"name": "testingarchive004"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '29' - Content-Type: - - application/json - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: POST - uri: https://storage.googleapis.com/storage/v1/b?project=genuine-polymer-165712&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\"\ - ,\n \"reason\": \"conflict\",\n \"message\": \"You already own this\ - \ bucket. Please select another name.\"\n }\n ],\n \"code\": 409,\n \"\ - message\": \"You already own this bucket. Please select another name.\"\n\ - \ }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Content-Length: - - '259' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:38 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UppVbm559bu5nEIfqP2KMMivGZmzA0LaX3dtYiWaP9LHAR2o16zCWhHdgvny-CA8H3eQiaa9GYAsqJg6Z1Hl01E8ZGzuA - status: - code: 409 - message: Conflict -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_delete_file_doesnt_exist.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_delete_file_doesnt_exist.yaml deleted file mode 100644 index bb2e6db12..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_delete_file_doesnt_exist.yaml +++ /dev/null @@ -1,160 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzY4LCAiZXhwIjogMTU4MTM0MDM2OCwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.LNuUpmPm2L3xUlQ4I2ZvZcBnv8EHT53FLEGmcb_dMibDnhNNd-VJkHF-oCVKwgzouxF3phuKr4ZqpFNNETQL8k--wD7Mjt2B9RyihwJDNeC8bbO5zitkG1O5naRDXg2h6R9tRQ0r4LWNZxnp32lSEy7pdCKBvy5WG6mdnbNHNLIbweJbvtYkVSosx8aueYzqgKfnt_eSktoOQ1k8L79cmZnon8yHpDGMPo68bep7NsXfccfJ140rvSMjf2Ry3AzH9N-5eFWukWP0kqmOVm84D3cef-xu9XBTI1imA3VWFIePU7mEPV94vbkNo3WdOt4xYbt5sfsZ-ii25M8o5bc7Lw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PQXKCMAAAwL/kLA4tqKS3oghWigRRIZdMSAOKNEAIKnT69zrdH+wPoIzxriOq - vnIB3sBAX+GUTbfNp31DbDAPu9UeRWSff5SHPG9HyuUyOw/oRsQ8oarCDrx2L4usKep4u17ioHRU - tbyTQUvfA9pb+aI4DalShLmW9ijDLME2LEyMEMepd81nPNnOZRshkcEvO5j3PlYVjRzBvFCnJz12 - oVy5G2H0sQg2905bx0dIdjyNmBjLs7Z2j20V0u/M5yYOdUvYfm2gVBsNz4eeBBPAH81F8o5cnj1j - BuEE/F+JGhr+DNucSi7B7x8xTk7DCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:49 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:49 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:49 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up7ltOARu0VTNlIH1OQmJjPqGIsbNRv7MiM_n8nlfYz_2i1TT2I_89NwkdqFd1XT4wzxo8cGw7NLqFu0zqxX-WC6sk6bw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_delete_file_doesnt_exist%2Fresult.txt?prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_delete_file_doesnt_exist/result.txt\",\n \"errors\"\ - : [\n {\n \"message\": \"No such object: testingarchive004/test_delete_file_doesnt_exist/result.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '323' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:49 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up4p8Qo23d1SsBn-jtaKJVDhtSm_zEbSrrkBCRB2_mtEhH0Hjh5EjF2yGJVgOY0RoU1WTS8_OAQCn8TGOpL8DEsop4NCw - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_list_folder_contents.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_list_folder_contents.yaml deleted file mode 100644 index e1a05b7e0..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_list_folder_contents.yaml +++ /dev/null @@ -1,1042 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzczLCAiZXhwIjogMTU4MTM0MDM3MywgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.ECi-W_KdvQjo3ovlnx9rG3LPwzTohLmkDgGOGtFQyeH3Qurpvbhykx9Ur084KrJqXtDpV6f4Qllxo8vnCtWsua1fe8ACSiu6YxUGisCXhE-X-0GZTQ0WixdEfeJYKUQMUJRdXxxuPOn_c1mIYu6SjxSz1_FytqNImefxbVMlsDpdlmA2tJ3qvE7VlGUn-pkDPRtM-GnyAYspHIV66tJZfbo2XC_M1Bds2kVBGpWyb6mMrRPmbl8AuAxUyF7GDBbzYw3Pq5FTpOoB67QbMEuYHcrrEPFGqn1dBXazuNT--FG8wtfbWlN-gEvnfAyySclvmMdU6fP7bJYvrTS6O7QP1A&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P23JDQAAA0H/Z58jIEpe+RVUJwhqX8GJkbYoIW0uITv+9mZ4/OD+gwJgwlo/9 - jXTgDTwLqG7x1qau9kBlGa2PL1mbLDIvohIY/vzpS+zAamW83c1KNxwuLfESeVpA44xTpAaGsxrI - /XriZzE8ttLhXWZ2qw+ZbslE7NkQZwkz3MuKHn4HCzOHDY0WsSJIqLQ2i7+viVRpTZ42NoaWjkyX - h/trEvsKRahr5R1PR8wZPTatevoIi/Pp3HkO1x+96HKfZgmFs+BMLN157lBJLtgAstB6ICyvXz1h - r6ob8H/Nxyclr7BGioEM4PcPxAAuPgoBAAA= - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:53 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:53 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:53 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoBDxocs2in6if1oXso3_PNgxE4xkH7vZEHStUCDDZb13bQZkaKqhdTjp9p7I1mFYpB1K3rI68HZ_44jMbfSqHXkHw17Q - status: - code: 200 - message: OK -- request: - body: "--===============6734063633711224668==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_1.txt\"\ - }\r\n--===============6734063633711224668==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_1.txt for \r\n\ - --===============6734063633711224668==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '328' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT02NzM0MDYzNjMzNzEx - MjI0NjY4PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_1.txt/1581336773992435\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_1.txt\",\n \"bucket\"\ - : \"testingarchive004\",\n \"generation\": \"1581336773992435\",\n \"metageneration\"\ - : \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:53.992Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:53.992Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:53.992Z\",\n \"size\"\ - : \"70\",\n \"md5Hash\": \"+oc+ZMF8EfvX6IEFIKTGMQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt?generation=1581336773992435&alt=media\"\ - ,\n \"crc32c\": \"EYy6eg==\",\n \"etag\": \"CPO/vMX6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '876' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:54 GMT - ETag: - - CPO/vMX6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrzoAyPgPVkxWHpRgoP4Xra6PtP4Wl5na4BOc0RSxXnd16jyOmcuNRxmnO4OnZtvYH2nMBOaRCZWO8NMqTVu77ixjoyTw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:54 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:54 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrDrQvtcBfHXx3gcypk_Q3cM0fQEDOxlLIa6gyUQNusrliVQtpsBDc-JgbrNcdZ345H_bk7nBYrXsAjcJML52iqlO4GjA - status: - code: 200 - message: OK -- request: - body: "--===============3925783367096079886==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_2.txt\"\ - }\r\n--===============3925783367096079886==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_2.txt for po\r\ - \n--===============3925783367096079886==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '330' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0zOTI1NzgzMzY3MDk2 - MDc5ODg2PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_2.txt/1581336774440702\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_2.txt\",\n \"bucket\"\ - : \"testingarchive004\",\n \"generation\": \"1581336774440702\",\n \"metageneration\"\ - : \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:54.440Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:54.440Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:54.440Z\",\n \"size\"\ - : \"72\",\n \"md5Hash\": \"X50KTg0h5WFDz++++xlHVQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt?generation=1581336774440702&alt=media\"\ - ,\n \"crc32c\": \"/oAc7w==\",\n \"etag\": \"CP7t18X6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '876' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:54 GMT - ETag: - - CP7t18X6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uocx87EAJtxDjub4AowOQPcZ3Zs5JODYFoM3dkLPIwRd9IrgrhCe57aQJ0TdJxvFDpxF8G8IkY5zlQeT20QgHbM4Opkkw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:54 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:54 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqHrCfDs6UkazPjLcpdHKGsxaPnH0B1OQKg-xN6_xS-g9pqsgkdfenk1bhQwFucsvQjO49-fECQaqhkVC3cBs3bHKz3vw - status: - code: 200 - message: OK -- request: - body: "--===============7939080667174842765==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/result_3.txt\"\ - }\r\n--===============7939080667174842765==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/result_3.txt for popo\r\ - \n--===============7939080667174842765==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '332' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT03OTM5MDgwNjY3MTc0 - ODQyNzY1PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_3.txt/1581336774919588\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_3.txt\",\n \"bucket\"\ - : \"testingarchive004\",\n \"generation\": \"1581336774919588\",\n \"metageneration\"\ - : \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:54.919Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:54.919Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:54.919Z\",\n \"size\"\ - : \"74\",\n \"md5Hash\": \"V1d54/o8qfT4IzUII/xlHQ==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt?generation=1581336774919588&alt=media\"\ - ,\n \"crc32c\": \"5NF6aA==\",\n \"etag\": \"CKSL9cX6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '876' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:55 GMT - ETag: - - CKSL9cX6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpeUW8VXIWvlUkT9lVIpu-ro_aoZCTMHE6O7RVo9aB5cu8eV09Rs2-6HUaeihTKXMGw2ryR72hgbAlwJcJ2dAzY1lzLwA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:55 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:55 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upve3oxJJnVF_6ywEe_PiWq8cURWWPabTWpciKDBoP8HYR1_wO8T7sKfVeZVK2MJim7rfYs4CmWf7_Y5r5Ld2cvbBWhzA - status: - code: 200 - message: OK -- request: - body: "--===============0999895352831809952==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\"\ - }\r\n--===============0999895352831809952==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_1.txt for popopo\r\ - \n--===============0999895352831809952==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '340' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0wOTk5ODk1MzUyODMx - ODA5OTUyPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_1.txt/1581336775412517\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581336775412517&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n \"\ - bucket\": \"testingarchive004\",\n \"generation\": \"1581336775412517\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"79\",\n \"md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\"\ - ,\n \"crc32c\": \"VZRjgw==\",\n \"etag\": \"CKWWk8b6xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:12:55.412Z\",\n \"updated\": \"2020-02-10T12:12:55.412Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:55.412Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '909' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:55 GMT - ETag: - - CKWWk8b6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Upr9isDnws0Z38HOkmqyq6n-4DEVHMxXwertqfZkse_3oFf021ilbHVSpwlfHja_AyqI1Z-YKmb15MfdM6S2rgpbMK6Pw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:55 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:55 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpSxV4afyg3NsLhAWSUozoTXDD_UfkepuQn13dDosADrG1aa_ob6f7-CxC8i2z5r2tcN0EXrgxOACFhhIqm8xIA2gB4Nw - status: - code: 200 - message: OK -- request: - body: "--===============4142567459696110731==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\"\ - }\r\n--===============4142567459696110731==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_2.txt for popopopo\r\ - \n--===============4142567459696110731==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '342' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00MTQyNTY3NDU5Njk2 - MTEwNzMxPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_2.txt/1581336775862702\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581336775862702&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n \"\ - bucket\": \"testingarchive004\",\n \"generation\": \"1581336775862702\",\n\ - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\"\ - : \"STANDARD\",\n \"size\": \"81\",\n \"md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\"\ - ,\n \"crc32c\": \"3eRtDA==\",\n \"etag\": \"CK7Trsb6xucCEAE=\",\n \"timeCreated\"\ - : \"2020-02-10T12:12:55.862Z\",\n \"updated\": \"2020-02-10T12:12:55.862Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:55.862Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '909' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:56 GMT - ETag: - - CK7Trsb6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UquAU3vw47OvEnuPAqvL5hG_m-sYP9Rn9xvsENM5JHpFqzuI7La4NeTB9PiOTUxv1DUdZasgNdFAmV23Kc7zEQlyR1LVA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:56 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:56 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrSOZFKgkGBiYjZoR5FytnWHNGEwK6OiNtocuSeCFVStHxhXL2WUW77PIrCmiuHcHA_t-6h0UmE2G0UVMTLyq0f1gQsEw - status: - code: 200 - message: OK -- request: - body: "--===============5767174356499046840==\r\ncontent-type: application/json;\ - \ charset=UTF-8\r\n\r\n{\"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\"\ - }\r\n--===============5767174356499046840==\r\ncontent-type: text/plain\r\n\r\ - \nLorem ipsum on file thiago/test_list_folder_contents/f1/result_3.txt for popopopopo\r\ - \n--===============5767174356499046840==--" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01NzY3MTc0MzU2NDk5 - MDQ2ODQwPT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_3.txt/1581336776339965\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n \"bucket\"\ - : \"testingarchive004\",\n \"generation\": \"1581336776339965\",\n \"metageneration\"\ - : \"1\",\n \"contentType\": \"text/plain\",\n \"timeCreated\": \"2020-02-10T12:12:56.339Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:56.339Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:56.339Z\",\n \"size\"\ - : \"83\",\n \"md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581336776339965&alt=media\"\ - ,\n \"crc32c\": \"S95bnw==\",\n \"etag\": \"CP3jy8b6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '892' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:56 GMT - ETag: - - CP3jy8b6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UrCH2wUdzw8MHLQmE_pRPN7gthJpqycwbTU-BYxpxdGeAf-Pu2rzQUEMsCrvOJ2byLV7fS-O1TanSukPA67QiDDDOOnUQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:56 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:56 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uom583mwEVWEwUfJ1ufsFMeD1Y8ST7I0mkb2EG-O6VRsszpqX780ynOV2sCWgwCAZa2AS72czP6kfefNnJj_Ow5bgWf2A - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o?projection=noAcl&prettyPrint=false&prefix=thiago%2Ftest_list_folder_contents - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"\ - kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_1.txt/1581336775412517\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581336775412517&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336775412517\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"79\",\n \"\ - md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\",\n \"crc32c\": \"VZRjgw==\",\n\ - \ \"etag\": \"CKWWk8b6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:55.412Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:55.412Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:55.412Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_2.txt/1581336775862702\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581336775862702&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336775862702\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"81\",\n \"\ - md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\",\n \"crc32c\": \"3eRtDA==\",\n\ - \ \"etag\": \"CK7Trsb6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:55.862Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:55.862Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:55.862Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_3.txt/1581336776339965\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581336776339965&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336776339965\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"83\",\n \"\ - md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"crc32c\": \"S95bnw==\",\n\ - \ \"etag\": \"CP3jy8b6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:56.339Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:56.339Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:56.339Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_1.txt/1581336773992435\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_1.txt?generation=1581336773992435&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_1.txt\",\n \ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336773992435\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"70\",\n \"\ - md5Hash\": \"+oc+ZMF8EfvX6IEFIKTGMQ==\",\n \"crc32c\": \"EYy6eg==\",\n\ - \ \"etag\": \"CPO/vMX6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:53.992Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:53.992Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:53.992Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_2.txt/1581336774440702\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_2.txt?generation=1581336774440702&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_2.txt\",\n \ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336774440702\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"72\",\n \"\ - md5Hash\": \"X50KTg0h5WFDz++++xlHVQ==\",\n \"crc32c\": \"/oAc7w==\",\n\ - \ \"etag\": \"CP7t18X6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:54.440Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:54.440Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:54.440Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/result_3.txt/1581336774919588\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Fresult_3.txt?generation=1581336774919588&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/result_3.txt\",\n \ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336774919588\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"74\",\n \"\ - md5Hash\": \"V1d54/o8qfT4IzUII/xlHQ==\",\n \"crc32c\": \"5NF6aA==\",\n\ - \ \"etag\": \"CKSL9cX6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:54.919Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:54.919Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:54.919Z\"\n }\n ]\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '5917' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:56 GMT - Expires: - - Mon, 10 Feb 2020 12:12:56 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqWEXUYglqbcex340TIBKvwsvEMk1nfpdfWew8337EuFZK4pDhcU0jUSNmcrBTf9EMXCdGNaAVC9rS5EhELWNBua9P2SA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:57 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:57 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UqOUATas-HCntRudjBAZC398axgA97wT45YhT96lFKufa1A7bbVhrM44oBaUjzvqryy6EjeItO4yMYt4UgLiHPR8TC4Jw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o?projection=noAcl&prettyPrint=false&prefix=thiago%2Ftest_list_folder_contents%2Ff1 - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"\ - kind\": \"storage#object\",\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_1.txt/1581336775412517\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt?generation=1581336775412517&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_1.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336775412517\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"79\",\n \"\ - md5Hash\": \"uH/WEvd9AEhJiwNDJ9BViw==\",\n \"crc32c\": \"VZRjgw==\",\n\ - \ \"etag\": \"CKWWk8b6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:55.412Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:55.412Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:55.412Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_2.txt/1581336775862702\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt?generation=1581336775862702&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_2.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336775862702\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"81\",\n \"\ - md5Hash\": \"Jr8OUyCi116ViSldYgsEcg==\",\n \"crc32c\": \"3eRtDA==\",\n\ - \ \"etag\": \"CK7Trsb6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:55.862Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:55.862Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:55.862Z\"\n },\n {\n \"kind\": \"storage#object\"\ - ,\n \"id\": \"testingarchive004/thiago/test_list_folder_contents/f1/result_3.txt/1581336776339965\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/thiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt?generation=1581336776339965&alt=media\"\ - ,\n \"name\": \"thiago/test_list_folder_contents/f1/result_3.txt\",\n\ - \ \"bucket\": \"testingarchive004\",\n \"generation\": \"1581336776339965\"\ - ,\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\"\ - ,\n \"storageClass\": \"STANDARD\",\n \"size\": \"83\",\n \"\ - md5Hash\": \"bc1LtFH2tfPxtmrDZ++bpg==\",\n \"crc32c\": \"S95bnw==\",\n\ - \ \"etag\": \"CP3jy8b6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:56.339Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:56.339Z\",\n \"timeStorageClassUpdated\"\ - : \"2020-02-10T12:12:56.339Z\"\n }\n ]\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '3007' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:57 GMT - Expires: - - Mon, 10 Feb 2020 12:12:57 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UoXZitgAfdYQREeLi9mJ1toRKWVFojsk_UAuCUGqkOdfh7RkmveozL7gNwSB_e9tg5ZgEIwi8wjFw4BcboG9CBdN2kQQQ - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_manually_then_read_then_write_then_read_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_manually_then_read_then_write_then_read_file.yaml deleted file mode 100644 index 7daf2a60c..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_manually_then_read_then_write_then_read_file.yaml +++ /dev/null @@ -1,722 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc4MzgwLCAiZXhwIjogMTY3Mjc4MTk4MCwgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.3_UgRPNMSdiwkZs4qH-enPSZnNkNdWIBZK1hKdfqBBKY9B_ec8-GpDXzhox8UY79ZTZrlQpe2QhJPywBWdET7VTtjkrlV8_vAvhXg9WOX5Vh89XM1aLbVAR138CIqjm8IRecEegTlr-UDEJZwLd8ZplEjtJSVvUKtvRf9WXdem7xPBc7rr0HFih0xm8y0it4-bbFCuTaGxCWRQMskZE0LO3_jHY9JveJM6bd3o7s-d2Oobz6nvfxKSQIdEwjnsfbpGjx4PcXwb1o-Gca-1k36TlLnik3rV2Iy1WLUYwANdlWYqJD-7glekSclnViMXk8iMyMAWFXzQbOAjIXX2FMCQ&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3USXKCQBQA0Lv0WixsQSE7maIik0ozbCzAL7QIdAAHTOXusbLKIXyHeN8oyTLo - ukPflFCjDzQkWB5n45Rf7OcXdlaXRtHzZqI8AjtMdqGx/irkqxbNLXbe8EHvN8dPZ3DVuqtuunPK - fd7iqGDJOCwNraj99O6UpFzVx/VMEJ/5eiqwBawaEqfYYKdq0d8JtY+V5PBkp+MJ7NqNqD4dR6FC - bceeTqKr7e7z2IiIBZ6UNSG3oTCLAximq4zOzSIAqa9cdlK02CXdcxmXnMET3Vw+9l46w/dAVHGL - XY4wyM2Ld9sWEzCjq1ZrrjR+e3v7D40QPBhtoTvQ1wdTUZZH6C+HQz8weA2hQNJCi35+AcEDXSc7 - BAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:40 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f90fe120-0ab3-4bc1-87f6-68c3f7838ca2 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:41 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:39:41 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycduGfW4Sei2ceXaqOGDDYlQ_-08nwqodtE8LJK4diKV4N5VklCr--tY_0XGuU347jKpi4M1qbX3jvw_0AMJivhT2b6wQAeI_ - status: - code: 200 - message: OK -- request: - body: "--===============8884885407156052639==\r\ncontent-type: application/json; - charset=UTF-8\r\n\r\n{\"name\": \"test_manually_then_read_then_write_then_read_file/result01\"}\r\n--===============8884885407156052639==\r\ncontent-type: - text/plain\r\n\r\nsome data around\r\n--===============8884885407156052639==--" - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '287' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/c7722e0c-d652-429a-b8e2-742d994fc7d5 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04ODg0ODg1NDA3MTU2 - MDUyNjM5PT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778381223258\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778381223258&alt=media\",\n - \ \"name\": \"test_manually_then_read_then_write_then_read_file/result01\",\n - \ \"bucket\": \"testingarchive02\",\n \"generation\": \"1672778381223258\",\n - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": - \"STANDARD\",\n \"size\": \"16\",\n \"md5Hash\": \"92IESanFY7xh6KhusAtAxw==\",\n - \ \"crc32c\": \"+vcXTQ==\",\n \"etag\": \"CNrKzYmhrPwCEAE=\",\n \"timeCreated\": - \"2023-01-03T20:39:41.348Z\",\n \"updated\": \"2023-01-03T20:39:41.348Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:39:41.348Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '941' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:41 GMT - ETag: - - CNrKzYmhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdshs1J1zq-bu4e_D1N7MsLTosLoOXYIG63rDzm4wrSHgbJIR9xh6FYGiUBIm4rIMOkZIg6xGZVS6jVeKa7jifnxOLT6AFTz - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/49c8e6fc-72d9-4357-af27-42f49b08a489 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:41 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:39:41 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdusFfNmf1xZjr_NMX2VCVnKxXApb3Mm_MCeBtSa4yFL95GgR4m0BereAa5KLSLJoP8u-on3scyMw0OJt3Iae6XPmQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/05d1d4fa-183f-4393-9f67-78d513a33fb2 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778381223258","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778381223258&alt=media","name":"test_manually_then_read_then_write_then_read_file/result01","bucket":"testingarchive02","generation":"1672778381223258","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"16","md5Hash":"92IESanFY7xh6KhusAtAxw==","crc32c":"+vcXTQ==","etag":"CNrKzYmhrPwCEAE=","timeCreated":"2023-01-03T20:39:41.348Z","updated":"2023-01-03T20:39:41.348Z","timeStorageClassUpdated":"2023-01-03T20:39:41.348Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '871' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:41 GMT - ETag: - - CNrKzYmhrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:39:41 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtN7EtOCPd191140Vk55ZJLTQ0WwHf01FizSQ6BXlkjaHyYDFZzTPBN93_Nemq9qdIYIHyCjVEKysZVXi62CN_7Qw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/c688b104-8430-4dd6-8c0d-edff12c51438 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?alt=media&generation=1672778381223258 - response: - body: - string: some data around - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '16' - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:39:42 GMT - ETag: - - CNrKzYmhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtKohBtlWeekMvkrZKehYtOspy7FoI6Q7KzYJIigQ4oq5NuGgd-bz0vZecFa-1Qj6hEA52Xug417Nbz_K55FY010FTUIBcX - X-Goog-Generation: - - '1672778381223258' - X-Goog-Hash: - - crc32c=+vcXTQ==,md5=92IESanFY7xh6KhusAtAxw== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - identity - X-Goog-Stored-Content-Length: - - '16' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/07e4f7f1-b253-4569-90f3-0a7affb3b0a8 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778381223258&prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778381223258","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778381223258&alt=media","name":"test_manually_then_read_then_write_then_read_file/result01","bucket":"testingarchive02","generation":"1672778381223258","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"16","md5Hash":"92IESanFY7xh6KhusAtAxw==","crc32c":"+vcXTQ==","etag":"CNrKzYmhrPwCEAE=","timeCreated":"2023-01-03T20:39:41.348Z","updated":"2023-01-03T20:39:41.348Z","timeStorageClassUpdated":"2023-01-03T20:39:41.348Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '871' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:42 GMT - ETag: - - CNrKzYmhrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:39:42 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtn0QhPMF2ALuFozDnw6ppMnSlR3BO0gn4O7Ft1DolS5uCxYTxQ627muY_uGR9YMms4XMi17piSWKuGzYCUqnaQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/094c260c-2aab-4651-8632-4c4b2fc891c4 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:42 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:39:42 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdsbzz2XhcJQyZmJwn3sJNzOWy2S_vA4z9LnZtVIKMXEVOsFPgUM6CGp_xvsJg3e-kkViJmXy-ie_lVjzbhneQgf_Q - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT0yNjg3NDI3NTk2NjkxNDkxNDM3PT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF9tYW51YWxseV90 - aGVuX3JlYWRfdGhlbl93cml0ZV90aGVuX3JlYWRfZmlsZS9yZXN1bHQwMSIsICJjb250ZW50RW5j - b2RpbmciOiAiZ3ppcCJ9DQotLT09PT09PT09PT09PT09PTI2ODc0Mjc1OTY2OTE0OTE0Mzc9PQ0K - Y29udGVudC10eXBlOiB0ZXh0L3BsYWluDQoNCh+LCACOkrRjAv/LyS9KzVXILCguzVVIyc/JL1Io - SS0uiS8vyixJjS/JSM2LL0pNTIlPy8xJVTi8EAAULvu4LgAAAA0KLS09PT09PT09PT09PT09PT0y - Njg3NDI3NTk2NjkxNDkxNDM3PT0tLQ== - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '364' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/5b704593-5c4e-4ef5-90fc-a2d01f7b8010 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0yNjg3NDI3NTk2Njkx - NDkxNDM3PT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778382568451\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778382568451&alt=media\",\n - \ \"name\": \"test_manually_then_read_then_write_then_read_file/result01\",\n - \ \"bucket\": \"testingarchive02\",\n \"generation\": \"1672778382568451\",\n - \ \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": - \"STANDARD\",\n \"size\": \"66\",\n \"md5Hash\": \"wTbaKCQJRKRv4r9z/SpMrA==\",\n - \ \"contentEncoding\": \"gzip\",\n \"crc32c\": \"lLnI8Q==\",\n \"etag\": - \"CIPYn4qhrPwCEAE=\",\n \"timeCreated\": \"2023-01-03T20:39:42.703Z\",\n - \ \"updated\": \"2023-01-03T20:39:42.703Z\",\n \"timeStorageClassUpdated\": - \"2023-01-03T20:39:42.703Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '970' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:42 GMT - ETag: - - CIPYn4qhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdsUMkJzqbAsDZE5jHMKypGOASh4VNoAYlOofTgXEeLFWbsAFJ_bBl4O3kJ8wfYymAAM0UaBZMu7-xC-u7HygVqnRmS7hGY0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/8b94802b-4405-41fc-9638-03535e1bd946 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:42 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:39:42 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtOAxRrdaVwQvBjyJ0LzEUt0mMpa5KYMJI-lf_SODiW03czmKFLzdFfFM_pNWQVgt-WutRoVaNL18Xnxz3ZNiDSoA - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/2ee98c8c-3616-41eb-9eb1-8672253ec587 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778382568451","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778382568451&alt=media","name":"test_manually_then_read_then_write_then_read_file/result01","bucket":"testingarchive02","generation":"1672778382568451","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"wTbaKCQJRKRv4r9z/SpMrA==","contentEncoding":"gzip","crc32c":"lLnI8Q==","etag":"CIPYn4qhrPwCEAE=","timeCreated":"2023-01-03T20:39:42.703Z","updated":"2023-01-03T20:39:42.703Z","timeStorageClassUpdated":"2023-01-03T20:39:42.703Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '896' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:43 GMT - ETag: - - CIPYn4qhrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:39:43 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycds2E1_l3FHGw3l-Cg7eup9QuHXCI1EhIf6f_t30-1Kou9Rd9gzl12yv4Qy03zxNrr-o6OXpEQdsbodWbLNYcay--w - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/680e0482-0fce-4427-ba52-ef7788a4f879 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?alt=media&generation=1672778382568451 - response: - body: - string: !!binary | - H4sIAI6StGMC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:39:43 GMT - ETag: - - CIPYn4qhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycds1ndgPEZYYXGqht2hOHW7ZRG3aYDIvoVGfh_BmLJErefzy_q4Ya1ABuE08yiQg1610MHJpqpBe1seA-DUvxag0Fw - X-Goog-Generation: - - '1672778382568451' - X-Goog-Hash: - - crc32c=lLnI8Q==,md5=wTbaKCQJRKRv4r9z/SpMrA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '66' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/871f41c9-2404-4ca4-abf3-a9b58d2bd80f - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:44 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:39:44 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdujr_5KiBJwfatjOMqQ5pIXE60M9Tqp5fxiUM-w0qRYhjG61TteS7d6aVYqdJhzlcOVy8Wnplug_6-JFq1VAMeLbQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/20fc686f-bddb-48c9-9343-390827b6b35d - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_manually_then_read_then_write_then_read_file/result01/1672778382568451","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_manually_then_read_then_write_then_read_file%2Fresult01?generation=1672778382568451&alt=media","name":"test_manually_then_read_then_write_then_read_file/result01","bucket":"testingarchive02","generation":"1672778382568451","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"wTbaKCQJRKRv4r9z/SpMrA==","contentEncoding":"gzip","crc32c":"lLnI8Q==","etag":"CIPYn4qhrPwCEAE=","timeCreated":"2023-01-03T20:39:42.703Z","updated":"2023-01-03T20:39:42.703Z","timeStorageClassUpdated":"2023-01-03T20:39:42.703Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '896' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:39:44 GMT - ETag: - - CIPYn4qhrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:39:44 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtGPyy4U21cPxopIb1lU24_V6YAy89nKkZ1aisXnvePZErcV5_sLCiKn9h-AV83OPJBWUwEnaeTj2uGRB81iYiRLg - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_application_gzip.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_application_gzip.yaml deleted file mode 100644 index 1005353c8..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_application_gzip.yaml +++ /dev/null @@ -1,432 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzY1LCAiZXhwIjogMTU4MTM0MDM2NSwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.GD0dPqt4eLMKPV-nbriizYB41Mdq_pR5RRKnr5qV8ECc9O_bQKbtQFZSdGp8JhXvAukhC7z8WXis7doXYCJ1lBDk3qPBOpOVXfqwA1pAeO91cxDbE2FUgrIk6Dju_IP2uwRoGdap2s4RAYWBix21srABUz8mL6E2ZxPOVS_25zDoYjuLBGkzNlvDkX16TgyMA1zPQj9kKKaUvGmA4kP4V6S1Q2RXgGixnQC3Ir4PZSqU21ymv4ytP8pyB3fG1nL2GF9FQ-ZkxGKbTL750N0DKQ8OpFitnemiWmIgCtCyyCbL4bLg6zQuDfZP_DzYlxRIfAoBRrqOmDtXefGPbP0KEw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3PyVKDMAAA0H/Jue1YgVI8EiAKAmJAlkuGJWy1DYSyOv67Hd8fvB+Q5jkdBnJn - F3oDL2BNn5VDfrA6W528wmRqFK4u3mK09PYCg5S4El/FaVMnIeFE8ImWxJXMrrZ3Rqy43jJ57Clu - ZpuEpdaWc51hNzmy4gsiSTY6tC/lgbmIRRZ8NUdaso3E1dlHYZriyFn63Mqcd9QWmeSHsi5MgzZP - T+1k+Eb42QyR5+l1KJrBkdc4xjPnDnwT4AnqjWZUqvZ9iehexGOxBh897k412AG6dA2nA2kePUFS - lB34v5L72tFHWKUppxz8/gHI+tvJCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:45 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:45 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:45 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Uo7rJwQ0sri7d5N9n1nzkhSTEuojN80Hpf1_gWT0vt-VRC47Z7l_EzLousg3qFWug4JVhk8Yq7dSzMA_Ce5LKF0tsN-BQ - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT0xNjQ3NjYxNTQ1NzQ4MTQ2NjQ2PT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAiZ3ppcHBlZF9maWxlL3Rl - c3RfMDA2LnR4dCIsICJjb250ZW50RW5jb2RpbmciOiAiZ3ppcCJ9DQotLT09PT09PT09PT09PT09 - PTE2NDc2NjE1NDU3NDgxNDY2NDY9PQ0KY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWd6aXAN - Cg0KH4sIAL1IQV4C/0vOzytJzStRKMlXKC/KLEnlCsnILFYAouSixKpKrvCMSoWU/NRihRKQcHl+ - UTYACRjEVjEAAAANCi0tPT09PT09PT09PT09PT09MTY0NzY2MTU0NTc0ODE0NjY0Nj09LS0= - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '338' - User-Agent: - - python-requests/2.22.0 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0xNjQ3NjYxNTQ1NzQ4 - MTQ2NjQ2PT0i - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive004/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt\"\ - ,\n \"name\": \"gzipped_file/test_006.txt\",\n \"bucket\": \"testingarchive004\"\ - ,\n \"generation\": \"1581336765856877\",\n \"metageneration\": \"1\",\n \"\ - contentType\": \"application/x-gzip\",\n \"timeCreated\": \"2020-02-10T12:12:45.856Z\"\ - ,\n \"updated\": \"2020-02-10T12:12:45.856Z\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:45.856Z\",\n \"size\"\ - : \"65\",\n \"md5Hash\": \"VAdWnLmeVe67Tgo6PJqzLw==\",\n \"mediaLink\": \"\ - https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?generation=1581336765856877&alt=media\"\ - ,\n \"contentEncoding\": \"gzip\",\n \"crc32c\": \"GE333g==\",\n \"etag\"\ - : \"CO34y8H6xucCEAE=\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '828' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:45 GMT - ETag: - - CO34y8H6xucCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UraADYAVCYR_c63wuloccCyJM2vkl61Y_6ql-X12AzDtqhLzWI4rnoFtLd9BW-nN7TzaiBGmWjzmcZqg2GZsu-r9PEKBQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:46 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:46 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur1ZLMGUyn08nAKQLnONLP34zZ5n00BwrFAZV-vgZdxnku8r03krFSeoDIP06XwFabkdzqMnF2Kaxn1M6-hOsB5jazmzw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?generation=1581336765856877&alt=media\"\ - ,\n \"name\": \"gzipped_file/test_006.txt\",\n \"bucket\": \"testingarchive004\"\ - ,\n \"generation\": \"1581336765856877\",\n \"metageneration\": \"1\",\n\ - \ \"contentType\": \"application/x-gzip\",\n \"storageClass\": \"STANDARD\"\ - ,\n \"size\": \"65\",\n \"md5Hash\": \"VAdWnLmeVe67Tgo6PJqzLw==\",\n \"\ - contentEncoding\": \"gzip\",\n \"crc32c\": \"GE333g==\",\n \"etag\": \"\ - CO34y8H6xucCEAE=\",\n \"timeCreated\": \"2020-02-10T12:12:45.856Z\",\n \"\ - updated\": \"2020-02-10T12:12:45.856Z\",\n \"timeStorageClassUpdated\": \"\ - 2020-02-10T12:12:45.856Z\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '846' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:46 GMT - ETag: - - CO34y8H6xucCEAE= - Expires: - - Mon, 10 Feb 2020 12:12:46 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpD4XyXWMnhvK0uhEQc6ABY-uWUEgWxFhUbOJ0zdTEtlpERvBim0LLg8MnUpaVQ8O3UPPMor2op9t6h9G22tCF6CNTjVg - status: - code: 200 - message: OK -- request: - body: '{"contentType": "text/plain", "contentEncoding": "gzip"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '56' - Content-Type: - - application/json - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: PATCH - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?generation=1581336765856877&projection=full&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt\"\ - ,\n \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?generation=1581336765856877&alt=media\"\ - ,\n \"name\": \"gzipped_file/test_006.txt\",\n \"bucket\": \"testingarchive004\"\ - ,\n \"generation\": \"1581336765856877\",\n \"metageneration\": \"2\",\n\ - \ \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \ - \ \"size\": \"65\",\n \"md5Hash\": \"VAdWnLmeVe67Tgo6PJqzLw==\",\n \"contentEncoding\"\ - : \"gzip\",\n \"crc32c\": \"GE333g==\",\n \"etag\": \"CO34y8H6xucCEAI=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:45.856Z\",\n \"updated\": \"2020-02-10T12:12:46.626Z\"\ - ,\n \"timeStorageClassUpdated\": \"2020-02-10T12:12:45.856Z\",\n \"acl\"\ - : [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"object\"\ - : \"gzipped_file/test_006.txt\",\n \"generation\": \"1581336765856877\"\ - ,\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877/project-owners-582817289294\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt/acl/project-owners-582817289294\"\ - ,\n \"bucket\": \"testingarchive004\",\n \"entity\": \"project-owners-582817289294\"\ - ,\n \"role\": \"OWNER\",\n \"etag\": \"CO34y8H6xucCEAI=\",\n \ - \ \"projectTeam\": {\n \"projectNumber\": \"582817289294\",\n \ - \ \"team\": \"owners\"\n }\n },\n {\n \"kind\": \"storage#objectAccessControl\"\ - ,\n \"object\": \"gzipped_file/test_006.txt\",\n \"generation\"\ - : \"1581336765856877\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877/project-editors-582817289294\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt/acl/project-editors-582817289294\"\ - ,\n \"bucket\": \"testingarchive004\",\n \"entity\": \"project-editors-582817289294\"\ - ,\n \"role\": \"OWNER\",\n \"etag\": \"CO34y8H6xucCEAI=\",\n \ - \ \"projectTeam\": {\n \"projectNumber\": \"582817289294\",\n \ - \ \"team\": \"editors\"\n }\n },\n {\n \"kind\": \"storage#objectAccessControl\"\ - ,\n \"object\": \"gzipped_file/test_006.txt\",\n \"generation\"\ - : \"1581336765856877\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877/project-viewers-582817289294\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt/acl/project-viewers-582817289294\"\ - ,\n \"bucket\": \"testingarchive004\",\n \"entity\": \"project-viewers-582817289294\"\ - ,\n \"role\": \"READER\",\n \"etag\": \"CO34y8H6xucCEAI=\",\n \ - \ \"projectTeam\": {\n \"projectNumber\": \"582817289294\",\n \ - \ \"team\": \"viewers\"\n }\n },\n {\n \"kind\": \"storage#objectAccessControl\"\ - ,\n \"object\": \"gzipped_file/test_006.txt\",\n \"generation\"\ - : \"1581336765856877\",\n \"id\": \"testingarchive004/gzipped_file/test_006.txt/1581336765856877/user-codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com\"\ - ,\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt/acl/user-codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com\"\ - ,\n \"bucket\": \"testingarchive004\",\n \"entity\": \"user-codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com\"\ - ,\n \"role\": \"OWNER\",\n \"email\": \"codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com\"\ - ,\n \"etag\": \"CO34y8H6xucCEAI=\"\n }\n ],\n \"owner\": {\n \ - \ \"entity\": \"user-codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com\"\ - \n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '3636' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:46 GMT - ETag: - - CO34y8H6xucCEAI= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2UpyJoHar_gPI75279HEnRgqOSdlowhncpfNN1C8Bc7rENAcbIX-rVMKJA-_j4HZoNrKYHjOOFTGD6fgvF_yzIQIOPA5xw - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - accept-encoding: - - gzip - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive004/o/gzipped_file%2Ftest_006.txt?generation=1581336765856877&alt=media - response: - body: - string: !!binary | - H4sIAL1IQV4C/0vOzytJzStRKMlXKC/KLEnlCsnILFYAouSixKpKrvCMSoWU/NRihRKQcHl+UTYA - CRjEVjEAAAA= - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Mon, 10 Feb 2020 12:12:47 GMT - ETag: - - CO34y8H6xucCEAI= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Up71PiAhi4lbHvm7MmVJQfWLyj7-TL7tgBccSHsJxKbcE7ouOzxs68VJGOAHRr2wl-0loEpkWh32LCPMc8-jwvNr0z9yQ - X-Goog-Generation: - - '1581336765856877' - X-Goog-Hash: - - crc32c=GE333g==,md5=VAdWnLmeVe67Tgo6PJqzLw== - X-Goog-Metageneration: - - '2' - X-Goog-Storage-Class: - - STANDARD - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_does_not_exist.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_does_not_exist.yaml deleted file mode 100644 index 78a6c0374..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_does_not_exist.yaml +++ /dev/null @@ -1,158 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiZTAwOTg4NzVhNmJlN2ZkMGZiOGQ1YjVlZmQ2YjZmNjYyZWZmNzI5NSJ9.eyJpYXQiOiAxNTgxMzM2NzY0LCAiZXhwIjogMTU4MTM0MDM2NCwgImlzcyI6ICJjb2RlY292LW1hcmtldGluZy1kZXBsb3ltZW50QGdlbnVpbmUtcG9seW1lci0xNjU3MTIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCAiYXVkIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwgInNjb3BlIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5mdWxsX2NvbnRyb2wgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLnJlYWRfb25seSBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF93cml0ZSJ9.N4lw45cr-KpqMsKjt1S4_Ll1YMAl33xAJoEw-XIpH1F_Mwjv_q51nGV8M00DDLqStemCVWRq-L5Lc1S2OreMXcZoujvRxnpknvccN8D_csx9cJ59Q8kNpPL5Jq0-HgVWZ9h0ysJTAPl09JVbKmCZzx3OF-OpSlDVannxcxUOlblVDygg1OOT_AmT6RB3_1YxREI0deqo7Rg3qUXai8z2ZpmRI_x-HmbxU_s5xpoosTt4txjZj21Ujcrljgiz6u5KKmM0lSEGRMn28Fos77T5r8h7bUdN2hTvsGHTW7ZXQXef8Xdb8i7eI5NRmPBIpqwYBAdDMO2fMWU2J5SM3p5gHg&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '987' - User-Agent: - - python-requests/2.22.0 - content-type: - - application/x-www-form-urlencoded - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x3P23JDQAAA0H/Z5ySTIi59Q9xrEIbwsuOyEjpZ7LIlmf57Mz1/cF6grGtEKZyH - b4TBJ9hKTjnUB2/0NRahtZeJYVE33m7YwwHNmB6sSGbNMOUu7zjYTKsUf+nXfGHnUwnbSX7sBTFp - CmcxUXQZqa71sVQUMusz1XZxqHHHKgr9rk6KfccXTeUfsVRxmCTneXa8UWobd/pgCyQ0e14Go01Z - lFehSNJivl1tW3yoVkQlwQq4GKqWHDU/SEhjUc7TxVYud02poHU3RNML+SdTwA6gdewIorB79/iT - ouzA/xXO24jeYQ2VBBHw+wfRtfKbCgEAAA== - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:44 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://storage.googleapis.com/storage/v1/b/testingarchive004\"\ - ,\n \"id\": \"testingarchive004\",\n \"name\": \"testingarchive004\",\n\ - \ \"projectNumber\": \"582817289294\",\n \"metageneration\": \"1\",\n \"\ - location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\"\ - ,\n \"timeCreated\": \"2020-02-10T12:12:27.090Z\",\n \"updated\": \"2020-02-10T12:12:27.090Z\"\ - ,\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\"\ - : false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n\ - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '562' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:45 GMT - ETag: - - CAE= - Expires: - - Mon, 10 Feb 2020 12:12:45 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur4g7lv-PA842wFXjARJ0LtGHUROxI-T3HUWxdOrlWOdEZUlk6ZkwZ57CoAvc2tDtBdgs2DFwR2MlNQi7kxONcNSDjimg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - X-Goog-API-Client: - - gl-python/3.7.6 gax/1.16.0 gapic/1.18.0 gccl/1.18.0 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive004/o/test_read_file_does_not_exist%2Fdoes_not_exist.txt?projection=noAcl&prettyPrint=false - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object:\ - \ testingarchive004/test_read_file_does_not_exist/does_not_exist.txt\",\n\ - \ \"errors\": [\n {\n \"message\": \"No such object: testingarchive004/test_read_file_does_not_exist/does_not_exist.txt\"\ - ,\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n \ - \ }\n ]\n }\n}\n" - headers: - Alt-Svc: - - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; - ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; - ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '339' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 10 Feb 2020 12:12:45 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - AEnB2Ur_jl9lTCLN8ixyXVD4HaQ95asex5TvwfEXLWTmWOGjm06SOxpBORTCkGSFuErWUT7pyvJsIZBRtwMMOK9CzXf4GekbCQ - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_append_then_read_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_append_then_read_file.yaml deleted file mode 100644 index d0b97d46d..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_append_then_read_file.yaml +++ /dev/null @@ -1,599 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc2MDM0LCAiZXhwIjogMTY3Mjc3OTYzNCwgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.NCUVvhsF3-lLzK6SDizWRZf1PdoIuJ8TkA9Ba61rrFfw22ug5yRLwoI-Si_53xYspsuQJ2lCeth0ZxaSgy09NVZh43fCbJl8AbZf9pIdBrsY3hhP1cZGvoc2TdzLa1rxIKNp6ssY6v0o5V5UIyl_8-X41mBqccrSmXeOwp19p1bBIO2HNkVYR8UMfxMmQpiYVluijlZzPVju2sxNWJ2sQxkiq_-hHM9xkOZRtkXlNUoaQpasPMOmqc0pQnWDi7so3SVdbeDQqbwUBEB7TSrDsMpD3AE3_8rx8zBF2-dI0Y1Rp049ImaofXnMcSQ18H4bATtLRVXdfudiUTRlayTLrw&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3US3KCMAAA0LtkLQ4IAunOgF8+jgWLumESJg6J/ENE7PTudbrqIXyHeN8AZxkV - Iu3rG63ABxjxDE6zKVEXsVU03Fn2tu/GlZqrvVnt6Nies9rOHJR4Vnlnx6Ew60QbS1whPU5O2/hi - HN002Eb5oSTWMMsW+1CY9i4f4sMo5xITIdH2wJXkqwh5qGKuO9aSRym5e4mTaFxBJDTQqlNO+/iK - oPCjpkYzz/OuZ36BzC8vGmwLk6/sUOEjWUdUWs3GM2TLVn2wX7uYbZby8cBcVYNPx43SwQlOz10Q - yHWJ2dwXtmW4JIeVq9+mb29v/4EJoI+GdVSk7PWBPodwAv5ySPuxoa8hEMUd7cDPL/H97dM7BAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:34 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/eb35c23e-5ea2-4543-a27d-88f00617c9dc - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:35 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycduCG1VuVo7qNUA8zKlMS_jqors56fqLOdeVnJhGCffg2NJsW1rHD4NrpuYmzL6sL2r-_yAr9s-iidb3_vF9CxuIywjO-TD7 - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT0wMzk5OTU5NjIxMjIxNjEzMTIyPT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF93cml0ZV90aGVu - X2FwcGVuZF90aGVuX3JlYWRfZmlsZS9yZXN1bHQiLCAiY29udGVudFR5cGUiOiAidGV4dC9wbGFp - biIsICJjb250ZW50RW5jb2RpbmciOiAiZ3ppcCJ9DQotLT09PT09PT09PT09PT09PTAzOTk5NTk2 - MjEyMjE2MTMxMjI9PQ0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluDQoNCh+LCABiibRjAv/LyS9K - zVXILCguzVVIyc/JL1IoSS0uiS8vyixJjS/JSM2LL0pNTIlPy8xJVTi8EAAULvu4LgAAAA0KLS09 - PT09PT09PT09PT09PT0wMzk5OTU5NjIxMjIxNjEzMTIyPT0tLQ== - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '379' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/d908a558-7fff-4f68-8462-401d93da2199 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT0wMzk5OTU5NjIxMjIx - NjEzMTIyPT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_write_then_append_then_read_file/result/1672776035419296\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?generation=1672776035419296&alt=media\",\n - \ \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\": - \"testingarchive02\",\n \"generation\": \"1672776035419296\",\n \"metageneration\": - \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n - \ \"size\": \"66\",\n \"md5Hash\": \"MHV8BlCe6f9TbtTZhkZg6Q==\",\n \"contentEncoding\": - \"gzip\",\n \"crc32c\": \"viGqMg==\",\n \"etag\": \"CKCJhauYrPwCEAE=\",\n - \ \"timeCreated\": \"2023-01-03T20:00:35.458Z\",\n \"updated\": \"2023-01-03T20:00:35.458Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:00:35.458Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '914' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:35 GMT - ETag: - - CKCJhauYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvF6sx0Ua6DqqKQ057vv2YgDYHOi3uHzFSV8fQeIh1-RQlZdJxIvRpGuGFXdClqBCg4_eW3s8xm1nP-57FYZM5B9mYap94p - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/0958464a-5122-486b-821d-6f8660d61e98 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:35 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycds5wQ0o-mQXBA-pCEOtsfNhvrexTYFbrq_4jVJBzS4RZq1_Pj87Eg8CIBbn83Fh-kBAovVu2KiMRUZx4JQ_KfghjKPNQXkC - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f4e025a0-f937-4110-a566-c5401874b1af - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_write_then_append_then_read_file/result/1672776035419296","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?generation=1672776035419296&alt=media","name":"test_write_then_append_then_read_file/result","bucket":"testingarchive02","generation":"1672776035419296","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"MHV8BlCe6f9TbtTZhkZg6Q==","contentEncoding":"gzip","crc32c":"viGqMg==","etag":"CKCJhauYrPwCEAE=","timeCreated":"2023-01-03T20:00:35.458Z","updated":"2023-01-03T20:00:35.458Z","timeStorageClassUpdated":"2023-01-03T20:00:35.458Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '840' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:35 GMT - ETag: - - CKCJhauYrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:00:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtlk5X0DCPI-TcfM0Yjrtqlw5vNXP3r3KTw6Z_oz_N64KyYY4-VxUao7AJgzmjFKoBaop2gCSQTttKM0Emb5SgpBLKLAQw8 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/b2ce8547-3b33-4883-8fbc-8bed9cb7f570 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?alt=media&generation=1672776035419296 - response: - body: - string: !!binary | - H4sIAGKJtGMC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:00:36 GMT - ETag: - - CKCJhauYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycdvwnffphz3iB6HrqMFQfAti7j2GpT4qMfCMw8ygXzjOYC7Bx4SmOV4VBGGzy5phCES73NbDP-c2HUtuat_YT4Tin6YJ9R7p - X-Goog-Generation: - - '1672776035419296' - X-Goog-Hash: - - crc32c=viGqMg==,md5=MHV8BlCe6f9TbtTZhkZg6Q== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '66' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/14cc904d-d7b7-48dc-87a8-f082e64da826 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:36 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:36 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycds74E4FYNjjVLs_GRCzf0pAvY2S44Es21NzEQmIk5GFk5PDDdObV0maTMrbuELi7LfwKcfa_2ljQtGvmyXfrzQogI4shO9Q - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT00NDU0MTY3Njc3NDk5Mjk3NTc4PT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF93cml0ZV90aGVu - X2FwcGVuZF90aGVuX3JlYWRfZmlsZS9yZXN1bHQiLCAiY29udGVudFR5cGUiOiAidGV4dC9wbGFp - biIsICJjb250ZW50RW5jb2RpbmciOiAiZ3ppcCJ9DQotLT09PT09PT09PT09PT09PTQ0NTQxNjc2 - Nzc0OTkyOTc1Nzg9PQ0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluDQoNCh+LCABkibRjAv8FwdEN - gDAIBcB/p3gDdCdCAiqxlIZinMdZXMy7HqkOm+t2SPRIlK6iJ62U6tRBqSy0W1d87+bhDT3iAhdc - G3hOHWLjgHDxD9IH3mlOAAAADQotLT09PT09PT09PT09PT09PTQ0NTQxNjc2Nzc0OTkyOTc1Nzg9 - PS0t - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '402' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/e8a006cd-fe5a-4408-877d-8dac0e1e88a4 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00NDU0MTY3Njc3NDk5 - Mjk3NTc4PT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_write_then_append_then_read_file/result/1672776036413847\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?generation=1672776036413847&alt=media\",\n - \ \"name\": \"test_write_then_append_then_read_file/result\",\n \"bucket\": - \"testingarchive02\",\n \"generation\": \"1672776036413847\",\n \"metageneration\": - \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n - \ \"size\": \"89\",\n \"md5Hash\": \"lOBOfDc+sgo4iGIqJ8z6vA==\",\n \"contentEncoding\": - \"gzip\",\n \"crc32c\": \"+LLDeg==\",\n \"etag\": \"CJfjwauYrPwCEAE=\",\n - \ \"timeCreated\": \"2023-01-03T20:00:36.541Z\",\n \"updated\": \"2023-01-03T20:00:36.541Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:00:36.541Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '914' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:36 GMT - ETag: - - CJfjwauYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycduJ5YayinJIXdqCJA8MSHygx7zf9T-KrdrFwNrZnbcX-LhrCr5OMxmcN8kLhLQOEHgdEFph788WtvhAGB8cI1EeeZFpfZPs - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/e6f4456f-c889-446b-8ee6-3cb0e066a4c6 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:36 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:36 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdurXGYwSsqJrwDy0IRS4YBzjhTQeZ01wEonGPtZBO09rd24qk3KjOxaRvPlyyLVGFQkU2E3-D2uxecSKyOX3kroZM8WD2Te - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/68b1da2c-83ed-49d2-a7ce-039546088baa - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_write_then_append_then_read_file/result/1672776036413847","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?generation=1672776036413847&alt=media","name":"test_write_then_append_then_read_file/result","bucket":"testingarchive02","generation":"1672776036413847","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"89","md5Hash":"lOBOfDc+sgo4iGIqJ8z6vA==","contentEncoding":"gzip","crc32c":"+LLDeg==","etag":"CJfjwauYrPwCEAE=","timeCreated":"2023-01-03T20:00:36.541Z","updated":"2023-01-03T20:00:36.541Z","timeStorageClassUpdated":"2023-01-03T20:00:36.541Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '840' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:36 GMT - ETag: - - CJfjwauYrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:00:36 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdun1XpDcxcKK0IXOTkvG6d8d-E4hRvW0JKBSb67xdsOfWTYbxYyigxjL6JoI6TkPvmYztbk7bXpCuuMP1qk4cl7LhIHd-sE - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/14c404a1-8fb1-4bad-a30c-484bab132f37 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_append_then_read_file%2Fresult?alt=media&generation=1672776036413847 - response: - body: - string: !!binary | - H4sIAGSJtGMC/wXB0Q2AMAgFwH+neAN0J0ICKrGUhmKcx1lczLseqQ6b63ZI9EiUrqInrZTq1EGp - LLRbV3zv5uENPeICF1wbeE4dYuOAcPEP0gfeaU4AAAA= - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:00:37 GMT - ETag: - - CJfjwauYrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycdtScDVf9TOCsrDRrWdM9zuoxndXYtSbswSFUhMD77zQqA4vurrcDcK1_P9yOS0sXura8w7P9Sa0ENNiTeq3SxPcTctu46PW - X-Goog-Generation: - - '1672776036413847' - X-Goog-Hash: - - crc32c=+LLDeg==,md5=lOBOfDc+sgo4iGIqJ8z6vA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '89' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml deleted file mode 100644 index d9ce43928..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml +++ /dev/null @@ -1,349 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc2MDM5LCAiZXhwIjogMTY3Mjc3OTYzOSwgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.LspMfHK-bnYewUBaCOiw_LXGwyCtT5CNFtcMQUYVzQ0ZRfdL5yF_bqYNyR2HvtA33C6Vqey4iTz0uXWJ3IODlRvqXkLAVcsZoV097Y07FHrfeBmtVDPwEABwCx28k9XQCbnDkszchmdwr6unfvGJ90oCA0B4CNgDHxlPXJj5FKJYLNto1xlPnkUrOJSelyrF_1-iFcnKWU-nSD52jGAzq9Mv7fffiuMxDYjqneXKe5rM5DmfkPsnJvyOW7S5Xyi0Od1e3iVpDqn-mTIQOs5KceGqPe0UmCfUSZKK_SNkGTptIIhRtcyRIjaU85SSTwOFlnkVAnwfHOj9HRGAa4TB4w&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3US3KCMBgA4Luwtk6IZijdESxSxUHkvWJ4/CIviSEK2und63TVQ/gd4vuW0jyH - YUhE38BZ+pDuKVbn+TxDmqe0rF7RQFh6PLF0abcc0aN9WocOqoWDyelhPHgj+oqfYHukIsBaQo3s - UuoJlXm8jFG0W1t57Y1yWAEuq5GEuN2P+GqBUfu1p0DkXjKXgqCmTzpfVtxeD8HP8nS4aLcWd71y - lgsnMM00JaqNCbd3V5SpLRFCt1YRK/afC1a8jxHXp852lEN1eOs2yqPciG7MnBtMZoNYE2jJNr5H - rVdGoYuuBRigfh1qPn95eflPmkkwsYrDkFTPDxZEVWfSXw6JuDN4DkEh5cCln18gCEG+OwQAAA== - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:39 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/69ade0e7-46b2-4bc9-aeab-c234670f0199 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:40 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:40 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdt04jsw1r4ZRwD2ZhB_TnWaA7BarLasOdtjGjrJyzaK_86f0G1fCzT2fXjXoIkmhGVMNR3wN5CjTJNz0ORHrhKKMpLY1giC - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT04ODM1Mzk4NjI5MDAxMjk2NjgyPT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF93cml0ZV90aGVu - X2RlbGV0ZV9maWxlL3Jlc3VsdC50eHQiLCAiY29udGVudFR5cGUiOiAidGV4dC9wbGFpbiIsICJj - b250ZW50RW5jb2RpbmciOiAiZ3ppcCJ9DQotLT09PT09PT09PT09PT09PTg4MzUzOTg2MjkwMDEy - OTY2ODI9PQ0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluDQoNCh+LCABnibRjAv/LyS9KzVXILCgu - zVVIyc/JL1IoSS0uiS8vyixJjS/JSM2LL0pNTIlPy8xJVTi8EAAULvu4LgAAAA0KLS09PT09PT09 - PT09PT09PT04ODM1Mzk4NjI5MDAxMjk2NjgyPT0tLQ== - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '373' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/ffefb019-7e3a-41a8-92b1-e0e1798f27eb - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT04ODM1Mzk4NjI5MDAx - Mjk2NjgyPT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_write_then_delete_file/result.txt/1672776040210722\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_delete_file%2Fresult.txt\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_delete_file%2Fresult.txt?generation=1672776040210722&alt=media\",\n - \ \"name\": \"test_write_then_delete_file/result.txt\",\n \"bucket\": \"testingarchive02\",\n - \ \"generation\": \"1672776040210722\",\n \"metageneration\": \"1\",\n \"contentType\": - \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"66\",\n - \ \"md5Hash\": \"fuUKf7rhJrzppqk07oylvQ==\",\n \"contentEncoding\": \"gzip\",\n - \ \"crc32c\": \"gRGPDA==\",\n \"etag\": \"CKLCqa2YrPwCEAE=\",\n \"timeCreated\": - \"2023-01-03T20:00:40.249Z\",\n \"updated\": \"2023-01-03T20:00:40.249Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:00:40.249Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '890' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:40 GMT - ETag: - - CKLCqa2YrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtXPsFNrf63dl-HBxyCheylrJfBNrJaMJseAVVng2Bn8QT3VeIsowNWZFz5yrXyLWzdPsu6LTIuHND7rR996Fvt2HD5bzyv - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f3c8bb6f-5230-4b93-94da-d05360834754 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:40 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:40 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvP0UDPg1-hSp3zqUL2V9bhDNVtkCYLUtIwMZR1PaER1dFXbyWB1yOGCaeOhRZl732u73skX73HAagFcgCCVB_oiKzae5Ct - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/dbf59ed1-b7de-43ff-a8c4-24168c7f165b - method: DELETE - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_delete_file%2Fresult.txt?prettyPrint=false - response: - body: - string: '' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - application/json - Date: - - Tue, 03 Jan 2023 20:00:40 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtNfQGfwqvwxT0qZF0QnIrgKdX54_lUoDqljORe6BvTyVHqOrYOgvHUjYCnXxndzANsNzzHGkWywgGEjSIRczhgE3OJO8MX - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f5390356-7024-4610-8b40-87c921d0455e - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:41 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:00:41 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycduevDKdPHwS1sqWsPmnWP9WM-B0ea-Py738fxQ42IjtvOMVBekiNXZ--XVRfB344k3mYMKTt4CQjOssTb7BoWbP_YvgvkaV - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/56c65b31-5906-470a-9a71-f54717a98329 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_delete_file%2Fresult.txt?prettyPrint=false&projection=noAcl - response: - body: - string: '{"error":{"code":404,"message":"No such object: testingarchive02/test_write_then_delete_file/result.txt","errors":[{"message":"No - such object: testingarchive02/test_write_then_delete_file/result.txt","domain":"global","reason":"notFound"}]}}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '241' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:00:41 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtPSjiPqevx17DNCk2u2PwuaDcdl1A3VNJh406A9oD-UowmwkohIJ7CaFT417BrX9h16gbiEWYzRCnKz4fiSyGbwK37Kk3J - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file.yaml deleted file mode 100644 index b273fac6e..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file.yaml +++ /dev/null @@ -1,372 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc4MDc0LCAiZXhwIjogMTY3Mjc4MTY3NCwgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.sNco9v4udXM5ThyFZQMClvHTJcP0lEVSIwtlze5YHl6mC3qYZU0z2BdVv2CJ0SVoWcmG-6gxmNsfVc3WaGUJfM7EWxoES--31rchJZlyo0rQk-xfIcHvZemv51WNmBgDlo9a2QA2brz-TYBsbrFTCrz7UjtwEnNNunwQ18BBFrJCnq2VTyiXu_J9tIsjBaR9lyZw1xC5pVZApI9uREthMqs5sH1j5gqvJybNnN46PrxhNyLYUBVTdgRawMOzfWLMmzhfXqy3KXACi-OHfMG7Tbb56ABvMsu3RDffxGO3tC9yeUTBVMuNXK95WYqqY5TZQq93ZE_lPM1GrrEG9haRAQ&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3US3KCMAAA0LtkLU4ARehOgig0LR+RgpsMxFBFPgGCLe307nW66iF8h3jfIKOU - DQMR7ZU14AlMmWLM6TyH62hV8RKtcHhubD9ChMgSHzNrpIW92zsHv0ortGiS2LN6URb70sXka3vr - nNJht97ENQyLkI/mUdthffTkuFleZZZMr1UuqTclwOScvEi2GC3DbzURbE7QEzwR72a3u2oqd9eX - GtIoVJYwRp6r8szXkcUleYEr7Q22zFkPZtGFSXSAh9RwrU3s9zWpTQmFduKexFSiLU7ps64H3XHS - M1nSuyFOO2IVgn7k9sLO5w8PD/+BGWCf/NKzgVzuH6hLw5iBvxyImDi7D2GyrGc9+PkFYO2m+DsE - AAA= - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:34 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/0671d16c-d136-4d82-8426-ffce98fa7b55 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:35 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:34:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvvhkGdAozf2CoLv39CbqF8lwlilQnGP7a88dP3n6bRmW4vV_q5T_qWZRxXKSXIyccnIU2X6DtrnFIB98v5zbNljPeSChGB - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT02OTMxNTg5NTA5NzU5NTc2OTM3PT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF93cml0ZV90aGVu - X3JlYWRfZmlsZS9yZXN1bHQiLCAiY29udGVudEVuY29kaW5nIjogImd6aXAiLCAiY29udGVudFR5 - cGUiOiAidGV4dC9wbGFpbiJ9DQotLT09PT09PT09PT09PT09PTY5MzE1ODk1MDk3NTk1NzY5Mzc9 - PQ0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluDQoNCh+LCABakbRjAv/LyS9KzVXILCguzVVIyc/J - L1IoSS0uiS8vyixJjS/JSM2LL0pNTIlPy8xJVTi8EAAULvu4LgAAAA0KLS09PT09PT09PT09PT09 - PT02OTMxNTg5NTA5NzU5NTc2OTM3PT0tLQ== - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '367' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/729072a2-a7ee-40bd-b7a8-26960b1094bf - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT02OTMxNTg5NTA5NzU5 - NTc2OTM3PT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_write_then_read_file/result/1672778075271582\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778075271582&alt=media\",\n - \ \"name\": \"test_write_then_read_file/result\",\n \"bucket\": \"testingarchive02\",\n - \ \"generation\": \"1672778075271582\",\n \"metageneration\": \"1\",\n \"contentType\": - \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"66\",\n - \ \"md5Hash\": \"hv1ICqOE3Eb7KmMiIjodkA==\",\n \"contentEncoding\": \"gzip\",\n - \ \"crc32c\": \"YqXjmQ==\",\n \"etag\": \"CJ7j2/efrPwCEAE=\",\n \"timeCreated\": - \"2023-01-03T20:34:35.399Z\",\n \"updated\": \"2023-01-03T20:34:35.399Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:34:35.399Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '866' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:35 GMT - ETag: - - CJ7j2/efrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdsHXPDk1OvcUmlTeCu3Q-hyXfetN2Ebnn3p6Wnn-P7WhCPeiLS8EmRLRJ-fYEcKzRRy2y_lSXbNaxnFYajPav6DcFNKbljC - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/42bdb8f1-ddcd-47ba-bfe2-0b0991c5a2ad - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778075271582&prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_write_then_read_file/result/1672778075271582","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778075271582&alt=media","name":"test_write_then_read_file/result","bucket":"testingarchive02","generation":"1672778075271582","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"hv1ICqOE3Eb7KmMiIjodkA==","contentEncoding":"gzip","crc32c":"YqXjmQ==","etag":"CJ7j2/efrPwCEAE=","timeCreated":"2023-01-03T20:34:35.399Z","updated":"2023-01-03T20:34:35.399Z","timeStorageClassUpdated":"2023-01-03T20:34:35.399Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '792' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:35 GMT - ETag: - - CJ7j2/efrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:34:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvs1c-gHUzMon4mNmgjrEralxvge81Now2Oc0ij0LipykyLEnl71XpkiogKojHSsnhfPTY74FciY6GHu3nbosOdUg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/cfd54184-35bd-4f1e-a5b6-f4cbf1a246d2 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:35 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:34:35 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycduAALrR0Es5dMolGZx69HX96O8VJEpgwSDn-XPNKsWk854-FDb1jxP4aBLRfHIq7xxFYKc92TD7VaJRTMrqgzLhzviKMiYS - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/ea1b4044-08d9-4d17-ab35-694255003478 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_write_then_read_file/result/1672778075271582","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778075271582&alt=media","name":"test_write_then_read_file/result","bucket":"testingarchive02","generation":"1672778075271582","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"hv1ICqOE3Eb7KmMiIjodkA==","contentEncoding":"gzip","crc32c":"YqXjmQ==","etag":"CJ7j2/efrPwCEAE=","timeCreated":"2023-01-03T20:34:35.399Z","updated":"2023-01-03T20:34:35.399Z","timeStorageClassUpdated":"2023-01-03T20:34:35.399Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '792' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:34:36 GMT - ETag: - - CJ7j2/efrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:34:36 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdv6e5KEqm9V0mheJi5xJ-rUUvcRV6eC2pUfy2KCGyI7Fb1QdHbW8IU7hB2XM0mMEgtAyiUDB15rbUYmr9rIYkVLikgRkKed - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f5db384b-b600-4e64-9931-e71e9ca6bdb6 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?alt=media&generation=1672778075271582 - response: - body: - string: !!binary | - H4sIAFqRtGMC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:34:36 GMT - ETag: - - CJ7j2/efrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycdtVL2mNWIZJVg0EcD5I37CRVOVWoemy5ss_sanQuRhFGd5gYZBaBXxdw8-b9_SyOBWIM0PtVtIJ4EiugV1sNcO-3g - X-Goog-Generation: - - '1672778075271582' - X-Goog-Hash: - - crc32c=YqXjmQ==,md5=hv1ICqOE3Eb7KmMiIjodkA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '66' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_gzipped.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_gzipped.yaml deleted file mode 100644 index b79dc5c4d..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_gzipped.yaml +++ /dev/null @@ -1,327 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiYWVlMzMxYmEyNzQ2OTljZWNmNjMwNzgxMzdmNDNhODM0NGY0YWM4ZiJ9.eyJpYXQiOiAxNjcyNzc4NTg4LCAiZXhwIjogMTY3Mjc4MjE4OCwgImlzcyI6ICJsb2NhbHN0b3JhZ2V0ZXN0ZXJAZ2VudWluZS1wb2x5bWVyLTE2NTcxMi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.qANt71cSO7TLsz-yMJQ6PaWIUAtbhBny67OQ_Ih27_wxqnPuEknnY73LP_6LNJ8JTmo5_f54-f_kGK91HSPPhcyfsHhNfLRMbgtxl6LUGKS-kt5lLSr7t1BuphWHcCTRt7CrU59jC41IhLcopQfZzGpAAClMVdxQNDgSx27X5o9Q4dQ1o8NTHsLDxGxLzWF4NS9KXeIAz2KTib9xKB9_PhLsUiHTem34iaNdbli1JdD0W0g5MF7ox0CoSjmKPkLIPmbbPeQ2eCdTZM2g86CTg8dxpbv_2VCXBX0FmxgFc0v2BbeGIQqgsWhxYIZ0hXdYlHXg3NWB22jnh5tRBJ6nMQ&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '974' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.26.0 - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/+3Uy3KCMABA0X/JWh0e8uouWEGqDYhBDRsm0MAgCjSgEpz+e52u+hGe/d3eB6BZ - xrou6ZuK1eANCKpYs2yWShAb5/YEzSCR23wXSkXFuROFzM43hBEYUZ3GzLFvqeWZ6UXJ0JdUajhE - KDMDi0QX66pUZVzujyo90yyuudvwxDWkszfKQdRcPnvkIEznPpS2y6u6GRSLeIdih49VMU7HnKCV - 6qkKNEWZGSuyLvxQEC1feuhkNkUnFvfjsx22wYfbTPV0iOG8uPqirLHQoXPA2uJ7PSjKen/rcTj3 - ZDZSbjh3LdDde+2Td1m309nLy8t/YALY0JacdUn5/IGqWdYE/M0h6UXLnoewGeWMg59fqhbtDjsE - AAA= - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:43:08 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/2e0e3440-a096-49b9-b3a1-44b4676fa8b8 - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:43:09 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:43:09 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvwXtYCkAsbstKqBySu_yCdFc4-7ar6fbtxwkSSfr_KJOO-DdLtqwDhwbyCET-MVNONn-AMIpuTIsXU_fOiSiF2JqwWgH0a - status: - code: 200 - message: OK -- request: - body: !!binary | - LS09PT09PT09PT09PT09PT00NjM0ODE2MDEwNzAyODQ1MDI3PT0NCmNvbnRlbnQtdHlwZTogYXBw - bGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA0KDQp7Im5hbWUiOiAidGVzdF93cml0ZV90aGVu - X3JlYWRfZmlsZS9yZXN1bHQiLCAiY29udGVudEVuY29kaW5nIjogImd6aXAifQ0KLS09PT09PT09 - PT09PT09PT00NjM0ODE2MDEwNzAyODQ1MDI3PT0NCmNvbnRlbnQtdHlwZTogdGV4dC9wbGFpbg0K - DQofiwgAXJO0YwL/y8kvSs1VyCwoLs1VSMnPyS9SKEktLokvL8osSY0vyUjNiy9KTUyJT8vMSVU4 - vBAAFC77uC4AAAANCi0tPT09PT09PT09PT09PT09NDYzNDgxNjAxMDcwMjg0NTAyNz09LS0= - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '338' - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/d9db5f75-d812-4178-ab4c-c768a35c4506 - content-type: - - !!binary | - bXVsdGlwYXJ0L3JlbGF0ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT00NjM0ODE2MDEwNzAy - ODQ1MDI3PT0i - x-upload-content-type: - - text/plain - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testingarchive02/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testingarchive02/test_write_then_read_file/result/1672778589349607\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778589349607&alt=media\",\n - \ \"name\": \"test_write_then_read_file/result\",\n \"bucket\": \"testingarchive02\",\n - \ \"generation\": \"1672778589349607\",\n \"metageneration\": \"1\",\n \"contentType\": - \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"66\",\n - \ \"md5Hash\": \"9DJui8ocYzUi1wFGbhqHOg==\",\n \"contentEncoding\": \"gzip\",\n - \ \"crc32c\": \"3No4JA==\",\n \"etag\": \"COfN7OyhrPwCEAE=\",\n \"timeCreated\": - \"2023-01-03T20:43:09.477Z\",\n \"updated\": \"2023-01-03T20:43:09.477Z\",\n - \ \"timeStorageClassUpdated\": \"2023-01-03T20:43:09.477Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '866' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:43:09 GMT - ETag: - - COfN7OyhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtG4qJRiGEfmuF3-CNcIdexIWe7Sv0dB9kV41KY62ppfPcjuUJ8mhZgFXVXkhjsv7TG3UXPR0JgY3t8qQayi8H0xvq1hDpO - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/f47f67f5-7b5d-412d-b713-7dce0f590cfd - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02","id":"testingarchive02","name":"testingarchive02","projectNumber":"582817289294","metageneration":"4","location":"US","storageClass":"STANDARD","etag":"CAQ=","timeCreated":"2019-08-27T06:20:09.895Z","updated":"2023-01-03T19:39:25.849Z","iamConfiguration":{"bucketPolicyOnly":{"enabled":false},"uniformBucketLevelAccess":{"enabled":false},"publicAccessPrevention":"inherited"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '517' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:43:09 GMT - ETag: - - CAQ= - Expires: - - Tue, 03 Jan 2023 20:43:09 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdvmLlQkgCZJUJTjm4uQaMDVVAP2L4b4X5uM1thgLe5FX_a86_G6Dp81u3f6d8KZCQorw2WDHmTIjdMOHbdPqpPg1MyMeU2m - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/090533e5-9553-48e6-a4dc-77686e714b1a - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testingarchive02/test_write_then_read_file/result/1672778589349607","selfLink":"https://www.googleapis.com/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?generation=1672778589349607&alt=media","name":"test_write_then_read_file/result","bucket":"testingarchive02","generation":"1672778589349607","metageneration":"1","contentType":"text/plain","storageClass":"STANDARD","size":"66","md5Hash":"9DJui8ocYzUi1wFGbhqHOg==","contentEncoding":"gzip","crc32c":"3No4JA==","etag":"COfN7OyhrPwCEAE=","timeCreated":"2023-01-03T20:43:09.477Z","updated":"2023-01-03T20:43:09.477Z","timeStorageClassUpdated":"2023-01-03T20:43:09.477Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '792' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Tue, 03 Jan 2023 20:43:09 GMT - ETag: - - COfN7OyhrPwCEAE= - Expires: - - Tue, 03 Jan 2023 20:43:09 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ADPycdtlgDynCKIeacwK_RIBMVxM8rCU4_FDX-MHpHTQRV1kFypRssinnICXwY8Swz_PUGS07v9fF-cT2rEJKpbgCZF9OIhWeT_u - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 - X-Goog-API-Client: - - gcloud-python/2.7.0 gl-python/3.10.5 gax/2.8.2 gccl/2.7.0 gccl-invocation-id/e7fc5230-29f5-48df-83ba-59f32ef7ec63 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testingarchive02/o/test_write_then_read_file%2Fresult?alt=media&generation=1672778589349607 - response: - body: - string: !!binary | - H4sIAFyTtGMC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; - ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Encoding: - - gzip - Content-Type: - - text/plain - Date: - - Tue, 03 Jan 2023 20:43:10 GMT - ETag: - - COfN7OyhrPwCEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Accept-Encoding - X-GUploader-UploadID: - - ADPycduX1CBeDwPVQul0PGxExjq0PI-ixyJD5vO1Z2hcQ0-njz5f-xmfxGj9okzosZ0Y8M3kMgU12sEl3Mr2KzG_NBFfkHf6Ek8C - X-Goog-Generation: - - '1672778589349607' - X-Goog-Hash: - - crc32c=3No4JA==,md5=9DJui8ocYzUi1wFGbhqHOg== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - gzip - X-Goog-Stored-Content-Length: - - '66' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_obj.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_obj.yaml deleted file mode 100644 index af1fa9475..000000000 --- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_obj.yaml +++ /dev/null @@ -1,387 +0,0 @@ -interactions: -- request: - body: assertion=eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiMjg4YThhNDdkODAzYjk0NTc5Mzc3Y2YwZDgzYjZiODc5MDFlMDdhMSJ9.eyJpYXQiOiAxNzAxNzIzOTEwLCAiZXhwIjogMTcwMTcyNzUxMCwgImlzcyI6ICJzY290dC10ZXN0LWJ1bmRsZS1hbmFseXNpc0Bjb2RlY292LWRldi5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsICJhdWQiOiAiaHR0cHM6Ly9vYXV0aDIuZ29vZ2xlYXBpcy5jb20vdG9rZW4iLCAic2NvcGUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9kZXZzdG9yYWdlLmZ1bGxfY29udHJvbCBodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RldnN0b3JhZ2UucmVhZF9vbmx5IGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZGV2c3RvcmFnZS5yZWFkX3dyaXRlIn0.JrezkhbttaBaGtj6b6vLugA4pJKBq2_3PXZ52_m4qvi6nHYkvfUCkXya6paDct1TvQUQH93RUrgYKoI5iAhsXiv8X8n4p_zTrN8HDYQaFxM-gG3buE3l8JMrEx5XdPxNEVNdKKlfAMt2dUVzMO7yyo6vpMNFlKZaWmzjVzh6rsd6NMqWCfTz-7vGkkFj_HC4HcCgzwOd4Yii6cCBpGAPngNpYa60jliQU8zIa5E1-lFrddotOlt76Hpv0pxhmf0vsj_ad3DtSnAwBZ62i-Gl6YEAqN5qhQkZUFi4mWt3v8lIZD4qePSGu7mRhJT0xf45MOzi-Eb2KTUHG88J9mkS7w&grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '970' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - python-requests/2.31.0 - x-goog-api-client: - - gl-python/3.9.16 auth/2.23.2 auth-request-type/at cred-type/sa - method: POST - uri: https://oauth2.googleapis.com/token - response: - body: - string: !!binary | - H4sIAAAAAAAC/x2USa6jSABE7+J1USKZ6R22P/5gU5jkM5hNiiFJBjMlM6W+e1t9gVBI8eL9PcVp - iscRTV2N29M/pz3m1N/p75TVXsjvIyIhz7x39uqOAeXmyzZoz83NNSusXnLmsFnSaogyHvguMfPO - hh+Wpp1xW8HxNJ/Y1p+dmkdXpy81Cfxc2niNiwLvmcD/GaDot8xQDOWIvjVJSre8YODIrep9wY8o - fN460uWFmH7lSv3EnuCHspirDxpfGfcsTfgV35JOix8GexXXJy56oMZLlnlfT7ucQ+4qDnuyjpnS - xkKsyMF4ZZ7e9WcNu5n7en4n94zO9qLNfcGyF+67uWpUv92sIXvsiepvTH/JB2we9GE/qMfyQqB1 - P/U7kS0J/QmUQFnNxlCek8zeyYUq9zk/5wDRZEuWrwDCzve6GYAmgFe5buQDtkCkViDRl59cb487 - fUytBwoGeCLW+VSQJkl1s/6BDcJ3h70+eBVoFVpIh0PJJfjgCbKg4jGgTaifqyQygSq2bWxY0rL5 - i6VLCjMldlYVLJ44X+HdyaixqryXgK/KnB/2VwFNPVHoAYfGXDlhsuJwllJvz1+MoU77AnPlLYRd - FRmrjHD2soZVtjsus8bZknYWeRHcMh++D8kidCnCQgZjpzKOwgs9TOkIvQ8tOxkV1yDYFwXjDHH+ - ilCGtlAqJTrjzI5qWPUOhCBrz7FL3OJlvN/+TJokZNnpPAdH6EOB/aRPHO1Qp5MNh81m7QcWm6BZ - zMlNLa/elJG8S8VFIFocRrDWusJ45KOCbPVMjLgvPh3YbINGehRubIlNacyjyGXEdSqkBwu3VZ78 - bhEitqm7ttCshMdJ0nNMf8jy6OyfqUCed12g8xXQ4/ati0MstDFziP3ggmRzSRnusuPzdXMQl4iY - DJbnI9DvIaTzSJ3qWF0XyhWv7/6I08OqGTM/81yqWCRF57mWmnWRQOREIGk8mheJ4IX18SY+Y+38 - 1oLdEO0JMlGSG35FnJ2TO1IMPUmFrJaLipCh6fWUYmKZPWVh1UKXMxc2onORKnIUt+IYd4Hhb/Ms - BvLZBVRibCMLQOqFfbToZ+qYTBXMnz86zI5ygwatffp1wltfUjyi8uMDXlTVX6f/5YCmvccfQ5xx - TDE9/fsfaVak4DsEAAA= - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - private - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 04 Dec 2023 21:05:10 GMT - Server: - - scaffolding on HTTPServer2 - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - - Referer - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - '0' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testing?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testing","id":"testing","name":"testing","projectNumber":"600182812669","metageneration":"2","location":"US","storageClass":"STANDARD","etag":"CAI=","timeCreated":"2023-11-29T18:21:26.716Z","updated":"2023-11-29T18:28:58.136Z","retentionPolicy":{"retentionPeriod":"8035200","effectiveTime":"2023-11-29T18:21:26.716Z","isLocked":false},"iamConfiguration":{"bucketPolicyOnly":{"enabled":true,"lockedTime":"2024-02-27T18:21:26.716Z"},"uniformBucketLevelAccess":{"enabled":true,"lockedTime":"2024-02-27T18:21:26.716Z"},"publicAccessPrevention":"enforced"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '747' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 04 Dec 2023 21:05:10 GMT - ETag: - - CAI= - Expires: - - Mon, 04 Dec 2023 21:05:10 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPpEAnmdbCyqk95y2rk-0Io0SxKLWeSikZHyhHG2Bq59j42Gvkf1f1cASM8lSQZ9gVITkOK4zoOV-g - status: - code: 200 - message: OK -- request: - body: '{"name": "test_write_then_read_file_obj/result"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '48' - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - content-type: - - application/json; charset=UTF-8 - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - x-upload-content-type: - - application/octet-stream - method: POST - uri: https://storage.googleapis.com/upload/storage/v1/b/testing/o?uploadType=resumable - response: - body: - string: '' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '0' - Content-Type: - - text/plain; charset=utf-8 - Date: - - Mon, 04 Dec 2023 21:05:10 GMT - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Location: - - https://storage.googleapis.com/upload/storage/v1/b/testing/o?uploadType=resumable&upload_id=ABPtcPrSstlUpHWiVP3qsSmJCuvrzD6y-bXGIhYtSC3ZPIGF06Kvd8AY3get8RYlxVwKJxa4xj2lQfKDQTg6OqFX0O5mjGnpPTTV-fXd2mAJYds1dg - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPrSstlUpHWiVP3qsSmJCuvrzD6y-bXGIhYtSC3ZPIGF06Kvd8AY3get8RYlxVwKJxa4xj2lQfKDQTg6OqFX0O5mjGnpPTTV-fXd2mAJYds1dg - status: - code: 200 - message: OK -- request: - body: "lorem ipsum dolor test_write_then_read_file \xE1" - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '46' - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - content-range: - - bytes 0-45/46 - content-type: - - application/octet-stream - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - x-upload-content-type: - - application/octet-stream - method: PUT - uri: https://storage.googleapis.com/upload/storage/v1/b/testing/o?uploadType=resumable&upload_id=ABPtcPrSstlUpHWiVP3qsSmJCuvrzD6y-bXGIhYtSC3ZPIGF06Kvd8AY3get8RYlxVwKJxa4xj2lQfKDQTg6OqFX0O5mjGnpPTTV-fXd2mAJYds1dg - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"testing/test_write_then_read_file_obj/result/1701723910932884\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult\",\n - \ \"mediaLink\": \"https://storage.googleapis.com/download/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult?generation=1701723910932884&alt=media\",\n - \ \"name\": \"test_write_then_read_file_obj/result\",\n \"bucket\": \"testing\",\n - \ \"generation\": \"1701723910932884\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"46\",\n \"md5Hash\": \"NwIf46EiCcnfaot9N+GaBQ==\",\n \"crc32c\": \"fChI7w==\",\n - \ \"etag\": \"CJST3snX9oIDEAE=\",\n \"retentionExpirationTime\": \"2024-03-06T21:05:10.971Z\",\n - \ \"timeCreated\": \"2023-12-04T21:05:10.971Z\",\n \"updated\": \"2023-12-04T21:05:10.971Z\",\n - \ \"timeStorageClassUpdated\": \"2023-12-04T21:05:10.971Z\"\n}\n" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '984' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 04 Dec 2023 21:05:11 GMT - ETag: - - CJST3snX9oIDEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPrSstlUpHWiVP3qsSmJCuvrzD6y-bXGIhYtSC3ZPIGF06Kvd8AY3get8RYlxVwKJxa4xj2lQfKDQTg6OqFX0O5mjGnpPTTV-fXd2mAJYds1dg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testing?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#bucket","selfLink":"https://www.googleapis.com/storage/v1/b/testing","id":"testing","name":"testing","projectNumber":"600182812669","metageneration":"2","location":"US","storageClass":"STANDARD","etag":"CAI=","timeCreated":"2023-11-29T18:21:26.716Z","updated":"2023-11-29T18:28:58.136Z","retentionPolicy":{"retentionPeriod":"8035200","effectiveTime":"2023-11-29T18:21:26.716Z","isLocked":false},"iamConfiguration":{"bucketPolicyOnly":{"enabled":true,"lockedTime":"2024-02-27T18:21:26.716Z"},"uniformBucketLevelAccess":{"enabled":true,"lockedTime":"2024-02-27T18:21:26.716Z"},"publicAccessPrevention":"enforced"},"locationType":"multi-region","rpo":"DEFAULT"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '747' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 04 Dec 2023 21:05:11 GMT - ETag: - - CAI= - Expires: - - Mon, 04 Dec 2023 21:05:11 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPosp4lhHF7SUDPvkO_mhPyrMie0d1rmH39mWjQtePaymKeNKEIXdb97J1WpheqKPn3fU-UFiUOOXQ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - method: GET - uri: https://storage.googleapis.com/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult?prettyPrint=false&projection=noAcl - response: - body: - string: '{"kind":"storage#object","id":"testing/test_write_then_read_file_obj/result/1701723910932884","selfLink":"https://www.googleapis.com/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult","mediaLink":"https://storage.googleapis.com/download/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult?generation=1701723910932884&alt=media","name":"test_write_then_read_file_obj/result","bucket":"testing","generation":"1701723910932884","metageneration":"1","contentType":"application/octet-stream","storageClass":"STANDARD","size":"46","md5Hash":"NwIf46EiCcnfaot9N+GaBQ==","crc32c":"fChI7w==","etag":"CJST3snX9oIDEAE=","retentionExpirationTime":"2024-03-06T21:05:10.971Z","timeCreated":"2023-12-04T21:05:10.971Z","updated":"2023-12-04T21:05:10.971Z","timeStorageClassUpdated":"2023-12-04T21:05:10.971Z"}' - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '910' - Content-Type: - - application/json; charset=UTF-8 - Date: - - Mon, 04 Dec 2023 21:05:11 GMT - ETag: - - CJST3snX9oIDEAE= - Expires: - - Mon, 04 Dec 2023 21:05:11 GMT - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPovRYPcp8lo-jxn4gVQAR5H0WJGrbXXhIDK5kLJszvypIgY0Aqn-Ko1BEvtPOXuT2jT_XpNWqrDgg - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Connection: - - keep-alive - User-Agent: - - gcloud-python/2.11.0 gl-python/3.9.16 grpc/1.59.0 gax/2.12.0 gccl/2.11.0 - accept-encoding: - - gzip - content-type: - - application/json; charset=UTF-8 - x-allowed-locations: - - '0x0' - x-goog-api-client: - - cred-type/sa - x-upload-content-type: - - application/json; charset=UTF-8 - method: GET - uri: https://storage.googleapis.com/download/storage/v1/b/testing/o/test_write_then_read_file_obj%2Fresult?alt=media&generation=1701723910932884 - response: - body: - string: "lorem ipsum dolor test_write_then_read_file \xE1" - headers: - Alt-Svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '46' - Content-Type: - - application/octet-stream - Date: - - Mon, 04 Dec 2023 21:05:11 GMT - ETag: - - CJST3snX9oIDEAE= - Expires: - - Mon, 01 Jan 1990 00:00:00 GMT - Last-Modified: - - Mon, 04 Dec 2023 21:05:10 GMT - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-GUploader-UploadID: - - ABPtcPqVlfY3E9TmoOUzr-js-vq95dhg11CdKNCnTv3Mx7xbqZ-z2wsJ_qr4iJjAimv4vCV_OQvp_DFhqg - X-Goog-Generation: - - '1701723910932884' - X-Goog-Hash: - - crc32c=fChI7w==,md5=NwIf46EiCcnfaot9N+GaBQ== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD - X-Goog-Stored-Content-Encoding: - - identity - X-Goog-Stored-Content-Length: - - '46' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_append_to_non_existing_file.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_append_to_non_existing_file.yaml deleted file mode 100644 index 439b9dde6..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_append_to_non_existing_file.yaml +++ /dev/null @@ -1,180 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9BD368D8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_append_to_non_existing_file/result.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_append_to_non_existing_file/result.txtarchivetest/archivetest/test_append_to_non_existing_file/result.txt1748FD4C9C080D683db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9C080D68 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: !!binary | - H4sIADZBAmQC/8vNz9VRyMnPz1ZILFHITdVRSCwoSM1LycxLV0hJLEkEAMTXCy8fAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '51' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - b9102c1a97ccc636e2fd806555c1214bf1e67d03f9e217c19487cab3486fd153 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_append_to_non_existing_file/result.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"5530caebbcfba96ec217e02a9eb136e1"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9C3A1218 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_append_to_non_existing_file/result.txt - response: - body: - string: !!binary | - H4sIADZBAmQC/8vNz9VRyMnPz1ZILFHITdVRSCwoSM1LycxLV0hJLEkEAMTXCy8fAAAA - headers: - Accept-Ranges: - - bytes - Content-Encoding: - - gzip - Content-Length: - - '51' - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - text/plain - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"5530caebbcfba96ec217e02a9eb136e1"' - Last-Modified: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9C8363A0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_batch_delete_files.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_batch_delete_files.yaml deleted file mode 100644 index 0a8a21f0d..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_batch_delete_files.yaml +++ /dev/null @@ -1,312 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA02AF388 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 576f9547d514d18ba635cada9a5436c328452318373bee43ee3fc3872a3592dc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_batch_delete_files/result_1.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA06D0980 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 576f9547d514d18ba635cada9a5436c328452318373bee43ee3fc3872a3592dc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_batch_delete_files/result_3.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA0BEA808 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: truetest_batch_delete_files/result_1.txttest_batch_delete_files/result_2.txttest_batch_delete_files/result_3.txt - headers: - Content-Length: - - '276' - Content-MD5: - - MrpDMrFf0g+3CscVIXVWvQ== - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 145d8eab556e59a94106dafd54a7252e9c646e730362ba862f15645150e514e4 - x-amz-date: - - 20230303T184926Z - method: POST - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA10E4EA8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_batch_delete_files/result_1.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_1.txtarchivetest/archivetest/test_batch_delete_files/result_1.txt1748FD4CA150E5883db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA150E588 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_batch_delete_files/result_2.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_2.txtarchivetest/archivetest/test_batch_delete_files/result_2.txt1748FD4CA17FC9703db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA17FC970 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_batch_delete_files/result_3.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_batch_delete_files/result_3.txtarchivetest/archivetest/test_batch_delete_files/result_3.txt1748FD4CA1AD7CA83db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA1AD7CA8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket.yaml deleted file mode 100644 index 1f8e45dc4..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket.yaml +++ /dev/null @@ -1,125 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - NoSuchBucketThe specified bucket does not existarchivetest/archivetest1748FD4C94D7A0F83db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C94D7A0F8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Location: - - /archivetest - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C956F8F80 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"Statement": [{"Action": ["s3:GetObject"], "Effect": "Allow", "Principal": - {"AWS": ["*"]}, "Resource": ["arn:aws:s3:::archivetest/*"]}], "Version": "2012-10-17"}' - headers: - Content-Length: - - '162' - Content-MD5: - - RwFjKcistI7UvHORW0EYwg== - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - a20040fe517efd9d77074313a7033df79d96583606f2f3cf794c5d6e412c447a - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C95FC9128 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket_already_exists.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket_already_exists.yaml deleted file mode 100644 index 34d98df5e..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_create_bucket_already_exists.yaml +++ /dev/null @@ -1,161 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/alreadyexists - response: - body: - string: ' - - NoSuchBucketThe specified bucket does not existalreadyexists/alreadyexists1748FD4C971655F83db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C971655F8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/alreadyexists - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Location: - - /alreadyexists - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C97757D58 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"Statement": [{"Action": ["s3:GetObject"], "Effect": "Allow", "Principal": - {"AWS": ["*"]}, "Resource": ["arn:aws:s3:::alreadyexists/*"]}], "Version": "2012-10-17"}' - headers: - Content-Length: - - '164' - Content-MD5: - - wMVEpPwi61YITdnCWLfNjA== - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - d3f24d69aa644d958b232c0200b1f7f02d06852b29839cb3ffc1c1163c10f75b - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/alreadyexists - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C97D2C058 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 204 - message: No Content -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: HEAD - uri: http://minio:9000/alreadyexists - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C98215D58 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_delete_file_doesnt_exist.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_delete_file_doesnt_exist.yaml deleted file mode 100644 index 4fb9e05a9..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_delete_file_doesnt_exist.yaml +++ /dev/null @@ -1,80 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9F6CE348 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: DELETE - uri: http://minio:9000/archivetest/test_delete_file_doesnt_exist/result.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9FA1C658 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_list_folder_contents.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_list_folder_contents.yaml deleted file mode 100644 index 2a08d106b..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_list_folder_contents.yaml +++ /dev/null @@ -1,416 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA24D98F0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/w3E0Q2AMAgFwFWYwMY93KExCkpCwcBr4vh6H7dF8iB9ag4KJ1Fjwq37FQ1c6KZ/ - EnZy9iMc7KiWXNPQ1wUvSCLpAwxDez5GAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '84' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - b9c68aa34fab5b7f41e9af5c2ebd143e70aac754a52d01994458e375dbc8e9a9 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/result_1.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"c90e1684c7e4b86598559784bc279dcf"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA27ECAB0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/w3E0QmAMAwFwFUygYJzuEMRTTWQ9pXkFRxf7+N2hDaxkbMJulRzFT523FipyeL2 - V+GXRjnRqZ25huZ0lm3hS6kIGfgAbaQVh0gAAAA= - headers: - Content-Encoding: - - gzip - Content-Length: - - '86' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - c815d7f3792fec936a9f0c23c333f2f075e976bc6b4bb4508c099e9c0f845010 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/result_2.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"bbe51029c456213ab49722acc3332bfd"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA2D1B540 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/w3E0QmAMAwFwFUygX64hjsU0VQDaV9JXsHx9T5uR2gTGzmboEs1V+Fjx42Vmixu - fxV+aZQTndqZa2hOZ9kWvpSKkIGBD7gDDC9KAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '87' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 3aa9797b5ec0d6a090a3291fc4314e606017df07c7ef429f13a00c00dd0b8e72 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/result_3.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"3fe54e89accbc70cd0176fd1cb8dd41d"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA32D8CF8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/xXEgQmAMAwEwFUygaV7uEMRTTSQNiV5wfFVDm714E468+7kg0SNCZdupxdwopl+ - idvB0XYf4IEsUktw3oZWFzwg8aDpvxfpCA9JTwAAAA== - headers: - Content-Encoding: - - gzip - Content-Length: - - '88' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - bc4ea33d9778f3d640b89451191554ef2da61d6131632db08f57a022ffe715bc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/f1/result_1.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"9445609760fc749f262875413fe18b21"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA3928C70 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/yXEgQmAMAwEwFUygUXncIcimmggbUryguMryMGtHtxIR96NvJOoMeHS7fQCTlTT - L3E7OOruHdyRReYSnLehLhMekHjQ8N8LOkMK2FEAAAA= - headers: - Content-Encoding: - - gzip - Content-Length: - - '89' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 7f50f6c000055ee859e1765aaea0be2a38174011995191c88b2ed0f27a4ca92e - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/f1/result_2.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"80b742c65ea8f9a00ef3360d2b60f383"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA3EA1698 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/zXE0QmAMAwFwFUygUVcwx2KaKKBtCnJExxff+TgVg9upCPvRt5J1Jhw6XZ6ASeq - 6Ze4HRx19w7uyCJzCc7bUJcJD0g8aPjvBd868BxTAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '90' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 95167fc9af94318de79e9da5a07ee01b93b98c265441c5aaf8f7855c7e4bee87 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/thiago/test_list_folder_contents/f1/result_3.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"ed2d3001bc6516b980c5375aa21572c4"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA4467708 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest?encoding-type=url&list-type=2&max-keys=1000&prefix=thiago%2Ftest_list_folder_contents - response: - body: - string: ' - - archivetestthiago%2Ftest_list_folder_contents61000falsethiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt2023-03-03T18:49:26.799Z"9445609760fc749f262875413fe18b21"88STANDARDthiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt2023-03-03T18:49:26.804Z"80b742c65ea8f9a00ef3360d2b60f383"89STANDARDthiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt2023-03-03T18:49:26.811Z"ed2d3001bc6516b980c5375aa21572c4"90STANDARDthiago%2Ftest_list_folder_contents%2Fresult_1.txt2023-03-03T18:49:26.780Z"c90e1684c7e4b86598559784bc279dcf"84STANDARDthiago%2Ftest_list_folder_contents%2Fresult_2.txt2023-03-03T18:49:26.786Z"bbe51029c456213ab49722acc3332bfd"86STANDARDthiago%2Ftest_list_folder_contents%2Fresult_3.txt2023-03-03T18:49:26.792Z"3fe54e89accbc70cd0176fd1cb8dd41d"87STANDARDurl' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA4A753E8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest?encoding-type=url&list-type=2&max-keys=1000&prefix=thiago%2Ftest_list_folder_contents%2Ff1 - response: - body: - string: ' - - archivetestthiago%2Ftest_list_folder_contents%2Ff131000falsethiago%2Ftest_list_folder_contents%2Ff1%2Fresult_1.txt2023-03-03T18:49:26.799Z"9445609760fc749f262875413fe18b21"88STANDARDthiago%2Ftest_list_folder_contents%2Ff1%2Fresult_2.txt2023-03-03T18:49:26.804Z"80b742c65ea8f9a00ef3360d2b60f383"89STANDARDthiago%2Ftest_list_folder_contents%2Ff1%2Fresult_3.txt2023-03-03T18:49:26.811Z"ed2d3001bc6516b980c5375aa21572c4"90STANDARDurl' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4CA54656F0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_read_file_does_not_exist.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_read_file_does_not_exist.yaml deleted file mode 100644 index 83b2d5f3d..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_read_file_does_not_exist.yaml +++ /dev/null @@ -1,86 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9D1CF038 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_read_file_does_not_exist/does_not_exist.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_read_file_does_not_exist/does_not_exist.txtarchivetest/archivetest/test_read_file_does_not_exist/does_not_exist.txt1748FD4C9D5E00783db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9D5E0078 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_append_then_read_file.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_append_then_read_file.yaml deleted file mode 100644 index 3a4dc7818..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_append_then_read_file.yaml +++ /dev/null @@ -1,236 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9A117170 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 576f9547d514d18ba635cada9a5436c328452318373bee43ee3fc3872a3592dc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_write_then_append_then_read_file/result - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9A451818 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_write_then_append_then_read_file/result - response: - body: - string: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Accept-Ranges: - - bytes - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - text/plain - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Last-Modified: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9A950508 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/wXB0Q2AMAgFwH+neAN0J0ICKrGUhmKcx1lczLseqQ6b63ZI9EiUrqInrZTq1EGp - LLRbV3zv5uENPeICF1wbeE4dYuOAcPEP0gfeaU4AAAA= - headers: - Content-Encoding: - - gzip - Content-Length: - - '89' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 61a2219bb349416d93dd338009860ae1c51602c30f699f64ad24deb230b8dc47 - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_write_then_append_then_read_file/result - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"802850e37ced44ab5a18f38f761f76ea"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9ACC5918 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_write_then_append_then_read_file/result - response: - body: - string: !!binary | - H4sIADZBAmQC/wXB0Q2AMAgFwH+neAN0J0ICKrGUhmKcx1lczLseqQ6b63ZI9EiUrqInrZTq1EGp - LLRbV3zv5uENPeICF1wbeE4dYuOAcPEP0gfeaU4AAAA= - headers: - Accept-Ranges: - - bytes - Content-Encoding: - - gzip - Content-Length: - - '89' - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - text/plain - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"802850e37ced44ab5a18f38f761f76ea"' - Last-Modified: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9B34B008 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_delete_file.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_delete_file.yaml deleted file mode 100644 index b190963d3..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_delete_file.yaml +++ /dev/null @@ -1,170 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9E19AB70 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 576f9547d514d18ba635cada9a5436c328452318373bee43ee3fc3872a3592dc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_write_then_delete_file/result.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9E4E05C8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: DELETE - uri: http://minio:9000/archivetest/test_write_then_delete_file/result.txt - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9EA3BB30 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 204 - message: No Content -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_write_then_delete_file/result.txt - response: - body: - string: ' - - NoSuchKeyThe specified key does not exist.test_write_then_delete_file/result.txtarchivetest/archivetest/test_write_then_delete_file/result.txt1748FD4C9ED85FC03db02b4e-899f-4daa-a9d3-fea142b68ee9' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C9ED85FC0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file.yaml deleted file mode 100644 index 119ce5a49..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file.yaml +++ /dev/null @@ -1,140 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C98CD7FC0 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - 576f9547d514d18ba635cada9a5436c328452318373bee43ee3fc3872a3592dc - x-amz-date: - - 20230303T184926Z - method: PUT - uri: http://minio:9000/archivetest/test_write_then_read_file/result - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C991765B8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.13 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20230303T184926Z - method: GET - uri: http://minio:9000/archivetest/test_write_then_read_file/result - response: - body: - string: !!binary | - H4sIADZBAmQC/8vJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsvSk1MiU/LzElVOLwQ - ABQu+7guAAAA - headers: - Accept-Ranges: - - bytes - Content-Encoding: - - gzip - Content-Length: - - '66' - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - text/plain - Date: - - Fri, 03 Mar 2023 18:49:26 GMT - ETag: - - '"1e07eb1e057b4fa3be7795787edc06be"' - Last-Modified: - - Fri, 03 Mar 2023 18:49:26 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 1748FD4C996BA038 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file_obj.yaml b/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file_obj.yaml deleted file mode 100644 index 55be5cb62..000000000 --- a/tests/unit/storage/cassetes/test_minio/TestMinioStorageService/test_write_then_read_file_obj.yaml +++ /dev/null @@ -1,140 +0,0 @@ -interactions: -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.17 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20231127T174559Z - method: GET - uri: http://minio:9000/archivetest - response: - body: - string: ' - - ' - headers: - Accept-Ranges: - - bytes - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - application/xml - Date: - - Mon, 27 Nov 2023 17:45:59 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Transfer-Encoding: - - chunked - Vary: - - Origin - X-Amz-Request-Id: - - 179B8BF2CA2E0FA8 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: !!binary | - H4sICNfVZGUC/3RtcGx0ZGZfczRuAMvJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsv - Sk1MiU/LzElVOLwQABQu+7guAAAA - headers: - Content-Encoding: - - gzip - Content-Length: - - '78' - Content-Type: - - text/plain - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.17 - x-amz-content-sha256: - - c86fad2423c5df8e776df1dec71483bd284d536c313ecc7d1982cc0fa824fc7d - x-amz-date: - - 20231127T174559Z - method: PUT - uri: http://minio:9000/archivetest/test_write_then_read_file/result - response: - body: - string: '' - headers: - Accept-Ranges: - - bytes - Content-Length: - - '0' - Content-Security-Policy: - - block-all-mixed-content - Date: - - Mon, 27 Nov 2023 17:45:59 GMT - ETag: - - '"3ce641b98515e97b7c35610829b224b0"' - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 179B8BF2CA849418 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Host: - - minio:9000 - User-Agent: - - MinIO (Darwin; arm64) minio-py/7.1.17 - x-amz-content-sha256: - - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - x-amz-date: - - 20231127T174559Z - method: GET - uri: http://minio:9000/archivetest/test_write_then_read_file/result - response: - body: - string: !!binary | - H4sICNfVZGUC/3RtcGx0ZGZfczRuAMvJL0rNVcgsKC7NVUjJz8kvUihJLS6JLy/KLEmNL8lIzYsv - Sk1MiU/LzElVOLwQABQu+7guAAAA - headers: - Accept-Ranges: - - bytes - Content-Encoding: - - gzip - Content-Length: - - '78' - Content-Security-Policy: - - block-all-mixed-content - Content-Type: - - text/plain - Date: - - Mon, 27 Nov 2023 17:45:59 GMT - ETag: - - '"3ce641b98515e97b7c35610829b224b0"' - Last-Modified: - - Mon, 27 Nov 2023 17:45:59 GMT - Server: - - Minio/RELEASE.2019-04-09T01-22-30Z - Vary: - - Origin - X-Amz-Request-Id: - - 179B8BF2CAEC3B40 - X-Minio-Deployment-Id: - - 3db02b4e-899f-4daa-a9d3-fea142b68ee9 - X-Xss-Protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/unit/storage/test_aws.py b/tests/unit/storage/test_aws.py index d90f0abe9..f3bad8abb 100644 --- a/tests/unit/storage/test_aws.py +++ b/tests/unit/storage/test_aws.py @@ -1,161 +1,212 @@ import gzip +import tempfile from io import BytesIO +from uuid import uuid4 import pytest from shared.storage.aws import AWSStorageService from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError -from tests.base import BaseTestCase - -aws_config = { - "resource": "s3", - "aws_access_key_id": "testv5u6c7xxo7pom09w", - "aws_secret_access_key": "aaaaaaibbbaaaaaaaaa1aaaEHaaaQbbboc7mpaaa", - "region_name": "us-east-1", -} - - -class TestAWSStorageService(BaseTestCase): - def test_create_bucket(self, codecov_vcr): - storage = AWSStorageService(aws_config) - bucket_name = "felipearchivetest" - res = storage.create_root_storage(bucket_name=bucket_name) - assert res["name"] == "felipearchivetest" - - def test_create_bucket_at_region(self, codecov_vcr): - storage = AWSStorageService(aws_config) - bucket_name = "felipearchivetestw" - res = storage.create_root_storage(bucket_name=bucket_name, region="us-west-1") - assert res["name"] == "felipearchivetestw" - - def test_create_bucket_already_exists(self, codecov_vcr): - storage = AWSStorageService(aws_config) - bucket_name = "felipearchivetest" - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name=bucket_name) - - def test_create_bucket_already_exists_at_region(self, codecov_vcr): - storage = AWSStorageService(aws_config) - bucket_name = "felipearchivetestw" - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name=bucket_name, region="us-west-1") - - def test_write_then_read_file(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "felipearchivetest" - writing_result = storage.write_file( - bucket_name=bucket_name, path=path, data=data - ) - assert writing_result - reading_result = storage.read_file(bucket_name=bucket_name, path=path) - assert reading_result.decode() == data - - def test_write_then_read_gzipped_file(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path = "test_write_then_read_gzipped_file/result" - data = "lorem ipsum dolor test_write_then_read_gzipped_file á" - bucket_name = "felipearchivetest" - out = BytesIO() - with gzip.GzipFile(fileobj=out, mode="w", compresslevel=9) as gz: - encoded_data = data.encode() - gz.write(encoded_data) - data_to_write = out.getvalue() - writing_result = storage.write_file( - bucket_name=bucket_name, path=path, data=data_to_write - ) - assert writing_result - reading_result = storage.read_file(bucket_name=bucket_name, path=path) - assert reading_result.decode() == data - - def test_write_then_read_reduced_redundancy_file(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path = "test_write_then_read_reduced_redundancy_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "felipearchivetest" - writing_result = storage.write_file( - bucket_name=bucket_name, path=path, data=data, reduced_redundancy=True - ) - assert writing_result - reading_result = storage.read_file(bucket_name=bucket_name, path=path) - assert reading_result.decode() == data - - def test_delete_file(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path = "test_delete_file/result2" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "felipearchivetest" - writing_result = storage.write_file( - bucket_name=bucket_name, path=path, data=data - ) - assert writing_result - delete_result = storage.delete_file(bucket_name=bucket_name, path=path) - assert delete_result + +BUCKET_NAME = "archivetest" + + +def make_storage() -> AWSStorageService: + return AWSStorageService( + { + "resource": "s3", + "endpoint_url": "http://minio:9000", + "aws_access_key_id": "codecov-default-key", + "aws_secret_access_key": "codecov-default-secret", + } + ) + + +def ensure_bucket(storage: AWSStorageService): + try: + storage.create_root_storage(BUCKET_NAME) + except Exception: + pass + + +def test_create_bucket(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="") + assert res == {"name": bucket_name} + + +def test_create_bucket_at_region(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="us-west-1") + assert res == {"name": bucket_name} + + +def test_create_bucket_already_exists(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name) + with pytest.raises(BucketAlreadyExistsError): + storage.create_root_storage(bucket_name) + + +def test_create_bucket_already_exists_at_region(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name, region="us-west-1") + with pytest.raises(BucketAlreadyExistsError): + storage.create_root_storage(bucket_name, region="us-west-1") + + +def test_write_then_read_file(): + storage = make_storage() + path = f"test_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_file_obj(): + storage = make_storage() + path = f"test_write_then_read_file_obj/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_obj á" + + ensure_bucket(storage) + + _, local_path = tempfile.mkstemp() + with open(local_path, "w") as f: + f.write(data) + with open(local_path, "rb") as f: + writing_result = storage.write_file(BUCKET_NAME, path, f) + assert writing_result + + _, local_path = tempfile.mkstemp() + with open(local_path, "wb") as f: + storage.read_file(BUCKET_NAME, path, file_obj=f) + with open(local_path, "rb") as f: + assert f.read().decode() == data + + +def test_read_file_does_not_exist(): + storage = make_storage() + path = f"test_read_file_does_not_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_write_then_read_gzipped_file(): + storage = make_storage() + path = f"test_write_then_read_gzipped_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_gzipped_file á" + + out = BytesIO() + with gzip.GzipFile(fileobj=out, mode="w", compresslevel=9) as gz: + encoded_data = data.encode() + gz.write(encoded_data) + data_to_write = out.getvalue() + + writing_result = storage.write_file( + BUCKET_NAME, path, data_to_write, is_already_gzipped=True + ) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_reduced_redundancy_file(): + storage = make_storage() + path = f"test_write_then_read_reduced_redundancy_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_reduced_redundancy_file á" + + writing_result = storage.write_file( + BUCKET_NAME, path, data, reduced_redundancy=True + ) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_delete_file(): + storage = make_storage() + path = f"test_write_then_delete_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_delete_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + + deletion_result = storage.delete_file(BUCKET_NAME, path) + assert deletion_result is True + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_batch_delete_files(): + storage = make_storage() + path = f"test_batch_delete_files/{uuid4().hex}" + path_1 = f"{path}/result_1.txt" + path_2 = f"{path}/result_2.txt" + path_3 = f"{path}/result_3.txt" + paths = [path_1, path_2, path_3] + data = "lorem ipsum dolor test_batch_delete_files á" + + ensure_bucket(storage) + storage.write_file(BUCKET_NAME, path_1, data) + storage.write_file(BUCKET_NAME, path_3, data) + + deletion_result = storage.delete_files(BUCKET_NAME, paths) + assert deletion_result == [True, True, True] + for p in paths: with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name=bucket_name, path=path) - - def test_batch_delete_files(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path_1 = "test_batch_delete_files/result1.txt" - path_2 = "test_batch_delete_files/result2.txt" - path_3 = "test_batch_delete_files/result3.txt" - paths = [path_1, path_2, path_3] - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "felipearchivetest" - writing_result_1 = storage.write_file( - bucket_name=bucket_name, path=path_1, data=data - ) - assert writing_result_1 - writing_result_3 = storage.write_file( - bucket_name=bucket_name, path=path_3, data=data - ) - assert writing_result_3 - delete_result = storage.delete_files(bucket_name=bucket_name, paths=paths) - assert delete_result == [True, True, True] - for p in paths: - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name=bucket_name, path=p) - - def test_list_folder_contents(self, codecov_vcr): - storage = AWSStorageService(aws_config) - path_1 = "felipe/test_list_folder_contents/result_1.txt" - path_2 = "felipe/test_list_folder_contents/result_2.txt" - path_3 = "felipe/test_list_folder_contents/result_3.txt" - path_4 = "felipe/test_list_folder_contents/f1/result_4.txt" - path_5 = "felipe/test_list_folder_contents/f1/result_5.txt" - path_6 = "felipe/test_list_folder_contents/f1/result_6.txt" - paths = [path_1, path_2, path_3, path_4, path_5, path_6] - bucket_name = "felipearchivetest" - for i, p in enumerate(paths): - data = f"Lorem ipsum on file {p} for {i * 'po'}" - storage.write_file(bucket_name=bucket_name, path=p, data=data) - results_1 = list( - storage.list_folder_contents( - bucket_name=bucket_name, prefix="felipe/test_list_folder_contents" - ) - ) - expected_result_1 = [ - {"name": path_1, "size": 70}, - {"name": path_2, "size": 72}, - {"name": path_3, "size": 74}, - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_1, key=lambda x: x["size"]) == sorted( - results_1, key=lambda x: x["size"] - ) - results_2 = list( - storage.list_folder_contents( - bucket_name=bucket_name, prefix="felipe/test_list_folder_contents/f1" - ) - ) - expected_result_2 = [ - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_2, key=lambda x: x["size"]) == sorted( - results_2, key=lambda x: x["size"] - ) + storage.read_file(BUCKET_NAME, p) + + +def test_list_folder_contents(): + storage = make_storage() + path = f"test_list_folder_contents/{uuid4().hex}" + path_1 = "/result_1.txt" + path_2 = "/result_2.txt" + path_3 = "/result_3.txt" + path_4 = "/x1/result_1.txt" + path_5 = "/x1/result_2.txt" + path_6 = "/x1/result_3.txt" + all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] + + ensure_bucket(storage) + for i, p in enumerate(all_paths): + data = f"Lorem ipsum on file {p} for {i * 'po'}" + storage.write_file(BUCKET_NAME, f"{path}{p}", data) + + results_1 = sorted( + storage.list_folder_contents(BUCKET_NAME, path), + key=lambda x: x["name"], + ) + assert results_1 == [ + {"name": f"{path}{path_1}", "size": 38}, + {"name": f"{path}{path_2}", "size": 40}, + {"name": f"{path}{path_3}", "size": 42}, + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] + + results_2 = sorted( + storage.list_folder_contents(BUCKET_NAME, f"{path}/x1"), + key=lambda x: x["name"], + ) + assert results_2 == [ + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] diff --git a/tests/unit/storage/test_fallback.py b/tests/unit/storage/test_fallback.py index 3511ce231..7ca2e6f55 100644 --- a/tests/unit/storage/test_fallback.py +++ b/tests/unit/storage/test_fallback.py @@ -1,196 +1,198 @@ +import tempfile +from uuid import uuid4 + import pytest -from shared.storage.aws import AWSStorageService from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError from shared.storage.fallback import StorageWithFallbackService -from shared.storage.gcp import GCPStorageService -from tests.base import BaseTestCase - -# DONT WORRY, this is generated for the purposes of validation, and is not the real -# one on which the code ran -fake_private_key = """-----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCnND/Neha4aNJ6 -YqMFFeYvjO+ZS2v0v2UQJajN02dOsquWq6lldpXi6NlbV9PMEfn7YuycxbWf92vk -kzcqtODW4xq8lC+DjWPbcrTQltzAyedRYX9q7xoF9WrTaW2feNIOk5fnwrZRiL3z -bwK3R53DzK3v6MQbl9XGQgKHppKDPi04XiwtVKhU1Ej8keoaG+iWALKM17UR4a2w -jBMdJYvnMNNJm8Rw+/sNOLWm/5M0v0BBIOVxr5M1VE5JoIMeeB7nwc+sxmxYj7I3 -W8Xv7VpLtUNDZ3ir6tQk+G1sPtaHSJBlYmkfK/WOcKxNIB9OmUXVz1E407Sl/EwH -EYFuULF9AgMBAAECggEABPyLbJLYC57grBK1/uhUyZU/7gfwS8fLeUxOOPk1iwTM -Fj2/Ww3K0Y4VMWKwp9Tfai5clR5WWNN1rcbwLb9gNzhlqzsWIau9TyWgG9pr8fnz -gptQQ/2mfof/rBdoVAmz5ghjzt8hNdRIqfJlF9c0bsrzYwTDmHkSQIvmbGo801oi -Z6RbPATA4EhZMNGb6iXptCe/F9rX0+SV2WbBtWTIbi0wtMRNQNqM11MggoVaYGNR -/hsNuJtCN2qTeKtw8P+Kx2Kqxa0BbTy7ltC64h0S1huW/7wEFtT4ttBGO+gh8vkQ -zlrm8xS02rBeJNVSUpjLN5TpL1KrqT9vlY2/UQ6j5wKBgQDr8/U9N2CC8bwEz+94 -fSKRbMAlvFx1Dx4JhxprV3i5o7L0oQ/nj8jPcRInF1lCh83iZbwMMKJcERUwST/A -fdsnE07QuLOCUDuTcf4m+iELrQVFyl5dxG6bvxWu3+8+vChVKyU8/ntlmP4Y6cKJ -hs2xkwIFRnr48vOcTT1YGyZyNwKBgQC1aPwKOI76WwKXt7IhfEBqmktSxu2jEOvi -xZ+dZ7K9DNt4XmkmiRODYf/wg7+bkH6UF6N6y/VVs9PcBV3dOWc65qmYBhza8CRV -13bwg/t3ZXV+YULCYb813z1xDMEKUkuMk4o2zgVhV/sUHW1IQEgIyKWCZ1ScA0/U -mRsanYBv6wKBgANYPPS2MT8J8DFdRTa/B1tqYDrotaLPKQzXhm9ZGRQAlwvSsKgG -qMEQCELXmONRi4CXEphVpCeL8nHxx96RqiaepnJc++Zv/rgzWHfy+b7xn+6CVN4d -Z7f7eHI3KGwKPMQgTXHU5ajmB0wRHDnY2FeZDuFGQ33966gejC0QjXX3AoGBAIGP -EfnmvM42M1rReamKiKLZwRPEOLFuA1l41G7hQXjc9t03aBd6bHI3ikdmgHCEuLHh -VAL+KR/lB1iqiIfXWE9rrxGAxBjkyr533F0XlX+G+Wuh4MDceGfsIIBdoHxTm9sw -/9P2PUdxQ0LxZTvllMyZKANC8t1dTCVEl2PhunmzAoGBAM9upD3S7H7cOQq8nDpj -SrSB1MWd+4xuWy0Ik22WF4yWNQLx396g5oZaIBPzQjeiddt9OijaPYpXDDhXehib -nNHY8NwDM/i9kXrl4l5TXg6j7GWBgqYGramhKPior1+Szfw9QNlBUC5E2GZkf3DZ -hUVr40ZOOnf1HpBc2um+6DAj ------END PRIVATE KEY----- -""" - -gcp_config = { - "type": "service_account", - "project_id": "genuine-polymer-165712", - "private_key_id": "e0098875a6be7fd0fb8d5b5efd6b6f662eff7295", - "private_key": fake_private_key, - "client_email": "codecov-marketing-deployment@genuine-polymer-165712.iam.gserviceaccount.com", - "client_id": "109377049763026714378", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/codecov-marketing-deployment%40genuine-polymer-165712.iam.gserviceaccount.com", -} - - -aws_config = { - "resource": "s3", - "aws_access_key_id": "testrobl3cz4i1to1noa", - "aws_secret_access_key": "vMTpbJX/vMTpbJX", - "region_name": "us-east-1", -} - - -@pytest.fixture() -def storage_service(): - gcp_storage = GCPStorageService(gcp_config) - aws_storage = AWSStorageService(aws_config) + +from .test_aws import make_storage as make_aws_storage +from .test_gcp import BUCKET_NAME, CREDENTIALS, IS_CI +from .test_gcp import make_storage as make_gcs_storage + +pytestmark = pytest.mark.skipif( + not IS_CI and not CREDENTIALS, + reason="GCS credentials not available for local testing", +) + + +def make_storage() -> StorageWithFallbackService: + gcp_storage = make_gcs_storage() + aws_storage = make_aws_storage() return StorageWithFallbackService(gcp_storage, aws_storage) -class TestFallbackStorageService(BaseTestCase): - def test_create_bucket(self, codecov_vcr, storage_service): - storage = storage_service - bucket_name = "testingarchive20190210001" - res = storage.create_root_storage(bucket_name) - assert res["name"] == "testingarchive20190210001" - - def test_create_bucket_already_exists(self, codecov_vcr, storage_service): - storage = storage_service - bucket_name = "testingarchive20190210001" - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name) - - def test_write_then_read_file(self, codecov_vcr, storage_service): - storage = storage_service - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive20190210001" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == data - - def test_read_file_does_not_exist(self, request, codecov_vcr, storage_service): - storage = storage_service - path = f"{request.node.name}/does_not_exist.txt" - bucket_name = "testingarchive20190210001" - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - - def test_read_file_does_not_exist_on_first_but_exists_on_second( - self, request, codecov_vcr, storage_service - ): - storage = storage_service - path = f"{request.node.name}/does_not_exist_on_first_but_exists_on_second.txt" - bucket_name = "testingarchive20190210001" - storage_service.fallback_service.write_file( - bucket_name, path, "some_data_over_there" - ) - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == "some_data_over_there" - - def test_read_file_does_exist_on_first_but_not_exists_on_second( - self, request, codecov_vcr, storage_service - ): - storage = storage_service - path = f"{request.node.name}/does_exist_on_first_but_not_exists_on_second.txt" - bucket_name = "testingarchive20190210001" - storage_service.main_service.write_file( - bucket_name, path, "some_different_data" - ) - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == "some_different_data" - - def test_write_then_delete_file(self, request, codecov_vcr, storage_service): - storage = storage_service - path = f"{request.node.name}/result.txt" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive20190210001" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - deletion_result = storage.delete_file(bucket_name, path) - assert deletion_result is True - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) +def ensure_bucket(storage: StorageWithFallbackService): + try: + # The `fallback` here is aws / minio + storage.fallback_service.create_root_storage(BUCKET_NAME) + except Exception: + pass + + +@pytest.mark.skip(reason="we currently have no way of cleaning up upstream buckets") +def test_create_bucket(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="") + assert res == {"name": bucket_name} + + +@pytest.mark.skip(reason="we currently have no way of cleaning up upstream buckets") +def test_create_bucket_already_exists(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name) + with pytest.raises(BucketAlreadyExistsError): + storage.create_root_storage(bucket_name) + + +def test_write_then_read_file(): + storage = make_storage() + path = f"test_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_file_obj(): + storage = make_storage() + path = f"test_write_then_read_file_obj/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_obj á" + + ensure_bucket(storage) + + _, local_path = tempfile.mkstemp() + with open(local_path, "w") as f: + f.write(data) + with open(local_path, "rb") as f: + writing_result = storage.write_file(BUCKET_NAME, path, f) + assert writing_result + + _, local_path = tempfile.mkstemp() + with open(local_path, "wb") as f: + storage.read_file(BUCKET_NAME, path, file_obj=f) + with open(local_path, "rb") as f: + assert f.read().decode() == data + + +def test_read_file_does_not_exist(): + storage = make_storage() + path = f"test_read_file_does_not_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_read_file_does_not_exist_on_first_but_exists_on_second(): + storage = make_storage() + path = f"test_read_file_does_not_exist_on_first_but_exists_on_second/{uuid4().hex}" + data = "lorem ipsum dolor test_read_file_does_not_exist_on_first_but_exists_on_second á" + + storage.fallback_service.write_file(BUCKET_NAME, path, data) + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_read_file_does_exist_on_first_but_not_exists_on_second(): + storage = make_storage() + path = f"test_read_file_does_exist_on_first_but_not_exists_on_second/{uuid4().hex}" + data = "lorem ipsum dolor test_read_file_does_exist_on_first_but_not_exists_on_second á" + + storage.main_service.write_file(BUCKET_NAME, path, data) + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_delete_file(): + storage = make_storage() + path = f"test_write_then_delete_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_delete_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + + deletion_result = storage.delete_file(BUCKET_NAME, path) + assert deletion_result is True + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_delete_file_doesnt_exist(): + storage = make_storage() + path = f"test_delete_file_doesnt_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.delete_file(BUCKET_NAME, path) + + +def test_batch_delete_files(): + storage = make_storage() + path = f"test_batch_delete_files/{uuid4().hex}" + path_1 = f"{path}/result_1.txt" + path_2 = f"{path}/result_2.txt" + path_3 = f"{path}/result_3.txt" + paths = [path_1, path_2, path_3] + data = "lorem ipsum dolor test_batch_delete_files á" + + ensure_bucket(storage) + storage.write_file(BUCKET_NAME, path_1, data) + storage.write_file(BUCKET_NAME, path_3, data) - def test_delete_file_doesnt_exist(self, request, codecov_vcr, storage_service): - storage = storage_service - path = f"{request.node.name}/result.txt" - bucket_name = "testingarchive20190210001" + deletion_result = storage.delete_files(BUCKET_NAME, paths) + assert deletion_result == [True, False, True] + for p in paths: with pytest.raises(FileNotInStorageError): - storage.delete_file(bucket_name, path) - - def test_batch_delete_files(self, request, codecov_vcr, storage_service): - storage = storage_service - path_1 = f"{request.node.name}/result_1.txt" - path_2 = f"{request.node.name}/result_2.txt" - path_3 = f"{request.node.name}/result_3.txt" - paths = [path_1, path_2, path_3] - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive20190210001" - storage.write_file(bucket_name, path_1, data) - storage.write_file(bucket_name, path_3, data) - deletion_result = storage.delete_files(bucket_name, paths) - assert deletion_result == [True, False, True] - for p in paths: - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, p) - - def test_list_folder_contents(self, request, codecov_vcr, storage_service): - storage = storage_service - path_1 = f"thiago/{request.node.name}/result_1.txt" - path_2 = f"thiago/{request.node.name}/result_2.txt" - path_3 = f"thiago/{request.node.name}/result_3.txt" - path_4 = f"thiago/{request.node.name}/f1/result_1.txt" - path_5 = f"thiago/{request.node.name}/f1/result_2.txt" - path_6 = f"thiago/{request.node.name}/f1/result_3.txt" - all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] - bucket_name = "testingarchive20190210001" - for i, p in enumerate(all_paths): - data = f"Lorem ipsum on file {p} for {i * 'po'}" - storage.write_file(bucket_name, p, data) - results_1 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}") - ) - expected_result_1 = [ - {"name": path_1, "size": 70}, - {"name": path_2, "size": 72}, - {"name": path_3, "size": 74}, - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_1, key=lambda x: x["size"]) == sorted( - results_1, key=lambda x: x["size"] - ) - results_2 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}/f1") - ) - expected_result_2 = [ - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_2, key=lambda x: x["size"]) == sorted( - results_2, key=lambda x: x["size"] - ) + storage.read_file(BUCKET_NAME, p) + + +@pytest.mark.skip( + reason="the service account used for testing does not have bucket list permissions" +) +def test_list_folder_contents(): + storage = make_storage() + path = f"test_list_folder_contents/{uuid4().hex}" + path_1 = "/result_1.txt" + path_2 = "/result_2.txt" + path_3 = "/result_3.txt" + path_4 = "/x1/result_1.txt" + path_5 = "/x1/result_2.txt" + path_6 = "/x1/result_3.txt" + all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] + + ensure_bucket(storage) + for i, p in enumerate(all_paths): + data = f"Lorem ipsum on file {p} for {i * 'po'}" + storage.write_file(BUCKET_NAME, f"{path}{p}", data) + + results_1 = sorted( + storage.list_folder_contents(BUCKET_NAME, path), + key=lambda x: x["name"], + ) + assert results_1 == [ + {"name": f"{path}{path_1}", "size": 38}, + {"name": f"{path}{path_2}", "size": 40}, + {"name": f"{path}{path_3}", "size": 42}, + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] + + results_2 = sorted( + storage.list_folder_contents(BUCKET_NAME, f"{path}/x1"), + key=lambda x: x["name"], + ) + assert results_2 == [ + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] diff --git a/tests/unit/storage/test_gcp.py b/tests/unit/storage/test_gcp.py index 0c2d9ebb7..fb2da177a 100644 --- a/tests/unit/storage/test_gcp.py +++ b/tests/unit/storage/test_gcp.py @@ -1,250 +1,271 @@ import gzip import io +import json +import os import tempfile -from unittest.mock import MagicMock, patch +from uuid import uuid4 import pytest -from google.cloud import storage as google_storage -from google.resumable_media.common import DataCorruption from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError from shared.storage.gcp import GCPStorageService -from tests.base import BaseTestCase - -# DONT WORRY, this is generated for the purposes of validation, and is not the real -# one on which the code ran -fake_private_key = """-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDCFqq2ygFh9UQU/6PoDJ6L9e4ovLPCHtlBt7vzDwyfwr3XGxln -0VbfycVLc6unJDVEGZ/PsFEuS9j1QmBTTEgvCLR6RGpfzmVuMO8wGVEO52pH73h9 -rviojaheX/u3ZqaA0di9RKy8e3L+T0ka3QYgDx5wiOIUu1wGXCs6PhrtEwICBAEC -gYBu9jsi0eVROozSz5dmcZxUAzv7USiUcYrxX007SUpm0zzUY+kPpWLeWWEPaddF -VONCp//0XU8hNhoh0gedw7ZgUTG6jYVOdGlaV95LhgY6yXaQGoKSQNNTY+ZZVT61 -zvHOlPynt3GZcaRJOlgf+3hBF5MCRoWKf+lDA5KiWkqOYQJBAMQp0HNVeTqz+E0O -6E0neqQDQb95thFmmCI7Kgg4PvkS5mz7iAbZa5pab3VuyfmvnVvYLWejOwuYSp0U -9N8QvUsCQQD9StWHaVNM4Lf5zJnB1+lJPTXQsmsuzWvF3HmBkMHYWdy84N/TdCZX -Cxve1LR37lM/Vijer0K77wAx2RAN/ppZAkB8+GwSh5+mxZKydyPaPN29p6nC6aLx -3DV2dpzmhD0ZDwmuk8GN+qc0YRNOzzJ/2UbHH9L/lvGqui8I6WLOi8nDAkEA9CYq -ewfdZ9LcytGz7QwPEeWVhvpm0HQV9moetFWVolYecqBP4QzNyokVnpeUOqhIQAwe -Z0FJEQ9VWsG+Df0noQJBALFjUUZEtv4x31gMlV24oiSWHxIRX4fEND/6LpjleDZ5 -C/tY+lZIEO1Gg/FxSMB+hwwhwfSuE3WohZfEcSy+R48= ------END RSA PRIVATE KEY-----""" - -gcp_config = { - "type": "service_account", - "project_id": "genuine-polymer-165712", - "private_key_id": "testu7gvpfyaasze2lboblawjb3032mbfisy9gpg", - "private_key": fake_private_key, - "client_email": "localstoragetester@genuine-polymer-165712.iam.gserviceaccount.com", - "client_id": "110927033630051704865", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/localstoragetester%40genuine-polymer-165712.iam.gserviceaccount.com", -} - - -class TestGCPStorateService(BaseTestCase): - def test_create_bucket(self, codecov_vcr): - storage = GCPStorageService(gcp_config) - bucket_name = "testingarchive004" - res = storage.create_root_storage(bucket_name) - assert res["name"] == "testingarchive004" - - def test_create_bucket_already_exists(self, codecov_vcr): - storage = GCPStorageService(gcp_config) - bucket_name = "testingarchive004" - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name) - - def test_write_then_read_file(self, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive02" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == data - - def test_write_then_read_file_obj(self, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = "test_write_then_read_file_obj/result" - data = "lorem ipsum dolor test_write_then_read_file á" - _, local_path = tempfile.mkstemp() - with open(local_path, "w") as f: - f.write(data) - f = open(local_path, "rb") - bucket_name = "testing" - writing_result = storage.write_file(bucket_name, path, f) - assert writing_result - - _, local_path = tempfile.mkstemp() - with open(local_path, "wb") as f: - storage.read_file(bucket_name, path, file_obj=f) - with open(local_path, "rb") as f: - assert f.read().decode() == data - - def test_manually_then_read_then_write_then_read_file(self, codecov_vcr): - bucket_name = "testingarchive02" - path = "test_manually_then_read_then_write_then_read_file/result01" - storage = GCPStorageService(gcp_config) - blob = storage.get_blob(bucket_name, path) - blob.upload_from_string("some data around") - assert storage.read_file(bucket_name, path).decode() == "some data around" - blob.reload() - assert blob.content_type == "text/plain" - assert blob.content_encoding is None - data = "lorem ipsum dolor test_write_then_read_file á" - assert storage.write_file(bucket_name, path, data) - assert storage.read_file(bucket_name, path).decode() == data - blob = storage.get_blob(bucket_name, path) - blob.reload() - assert blob.content_type == "text/plain" - assert blob.content_encoding == "gzip" - - def test_write_then_read_file_gzipped(self, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = "test_write_then_read_file/result" - data = gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode()) - bucket_name = "testingarchive02" - writing_result = storage.write_file( - bucket_name, path, data, is_already_gzipped=True - ) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert ( - reading_result.decode() == "lorem ipsum dolor test_write_then_read_file á" + +# The GCS credentials (a service account JSON) +# used to run these tests can be provided in the following way: +# +# - as serialized JSON, using the `GOOGLE_APPLICATION_CREDENTIALS_JSON` env variable +# - as a file path, using the `GOOGLE_APPLICATION_CREDENTIALS` env variable +# - using a `gcs-service-account.json` in the root of the repository +# +# Sentry employees can find this file under the `symbolicator-gcs-test-key` entry in 1Password. +# +# This test methodology is copied from: +# + + +def try_loading_credentials(): + try: + if credentials := os.environ.get("GOOGLE_APPLICATION_CREDENTIALS_JSON"): + return json.loads(credentials) + credentials_file = os.environ.get("GOOGLE_APPLICATION_CREDENTIALS") + if not credentials_file: + import pathlib + + credentials_file = ( + pathlib.Path(__file__) + .parent # storage + .parent # unit + .parent # tests + / "gcs-service-account.json" + ).resolve() # fmt: skip + print(credentials_file) + with open(credentials_file, "rb") as f: + return json.loads(f.read()) + except Exception: + return None + + +IS_CI = os.environ.get("CI", "false") == "true" +CREDENTIALS = try_loading_credentials() + +pytestmark = pytest.mark.skipif( + not IS_CI and not CREDENTIALS, + reason="GCS credentials not available for local testing", +) + +# The service account being used has the following bucket configured: +BUCKET_NAME = "sentryio-symbolicator-cache-test" + + +def make_storage() -> GCPStorageService: + assert CREDENTIALS, "expected GCS credentials to be properly configured" + return GCPStorageService(CREDENTIALS) + + +def ensure_bucket(storage: GCPStorageService): + pass + + +@pytest.mark.skip(reason="we currently have no way of cleaning up upstream buckets") +def test_create_bucket(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="") + assert res == {"name": bucket_name} + + +@pytest.mark.skip(reason="we currently have no way of cleaning up upstream buckets") +def test_create_bucket_already_exists(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name) + with pytest.raises(BucketAlreadyExistsError): + storage.create_root_storage(bucket_name) + + +def test_write_then_read_file(): + storage = make_storage() + path = f"test_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_file_obj(): + storage = make_storage() + path = f"test_write_then_read_file_obj/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_obj á" + + ensure_bucket(storage) + + _, local_path = tempfile.mkstemp() + with open(local_path, "w") as f: + f.write(data) + with open(local_path, "rb") as f: + writing_result = storage.write_file(BUCKET_NAME, path, f) + assert writing_result + + _, local_path = tempfile.mkstemp() + with open(local_path, "wb") as f: + storage.read_file(BUCKET_NAME, path, file_obj=f) + with open(local_path, "rb") as f: + assert f.read().decode() == data + + +def test_manually_then_read_then_write_then_read_file(): + storage = make_storage() + path = f"test_manually_then_read_then_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_manually_then_read_then_write_then_read_file á" + + ensure_bucket(storage) + + blob = storage.get_blob(BUCKET_NAME, path) + blob.upload_from_string("some data around") + assert storage.read_file(BUCKET_NAME, path).decode() == "some data around" + blob.reload() + assert blob.content_type == "text/plain" + assert blob.content_encoding is None + + data = "lorem ipsum dolor test_write_then_read_file á" + assert storage.write_file(BUCKET_NAME, path, data) + assert storage.read_file(BUCKET_NAME, path).decode() == data + blob = storage.get_blob(BUCKET_NAME, path) + blob.reload() + assert blob.content_type == "text/plain" + assert blob.content_encoding == "gzip" + + +def test_write_then_read_file_gzipped(): + storage = make_storage() + path = f"test_write_then_read_file_gzipped/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_gzipped á" + + writing_result = storage.write_file( + BUCKET_NAME, path, gzip.compress(data.encode()), is_already_gzipped=True + ) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_read_file_does_not_exist(): + storage = make_storage() + path = f"test_read_file_does_not_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_read_file_application_gzip(): + storage = make_storage() + path = f"test_read_file_application_gzip/{uuid4().hex}" + content_to_upload = "content to write\nThis is crazy\nWhy does this work" + + blob = storage.get_blob(BUCKET_NAME, path) + with io.BytesIO() as f: + with gzip.GzipFile(fileobj=f, mode="wb", compresslevel=9) as fgz: + fgz.write(content_to_upload.encode()) + blob.content_encoding = "gzip" + blob.upload_from_file( + f, + size=f.tell(), + rewind=True, + content_type="application/x-gzip", ) - def test_read_file_does_not_exist(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = f"{request.node.name}/does_not_exist.txt" - bucket_name = "testingarchive004" - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - - def test_read_file_application_gzip(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = "gzipped_file/test_006.txt" - bucket_name = "testingarchive004" - content_to_upload = "content to write\nThis is crazy\nWhy does this work" - bucket = storage.storage_client.get_bucket(bucket_name) - blob = google_storage.Blob(path, bucket) - with io.BytesIO() as f: - with gzip.GzipFile(fileobj=f, mode="wb", compresslevel=9) as fgz: - fgz.write(content_to_upload.encode()) - blob.content_encoding = "gzip" - blob.upload_from_file( - f, size=f.tell(), rewind=True, content_type="application/x-gzip" - ) - content = storage.read_file(bucket_name, path) - print(content) - assert content.decode() == content_to_upload - - def test_write_then_delete_file(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = f"{request.node.name}/result.txt" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive02" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - deletion_result = storage.delete_file(bucket_name, path) - assert deletion_result is True - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) + content = storage.read_file(BUCKET_NAME, path) + assert content.decode() == content_to_upload + + +def test_write_then_delete_file(): + storage = make_storage() + path = f"test_write_then_delete_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_delete_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + + deletion_result = storage.delete_file(BUCKET_NAME, path) + assert deletion_result is True + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + - def test_delete_file_doesnt_exist(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path = f"{request.node.name}/result.txt" - bucket_name = "testingarchive004" +def test_delete_file_doesnt_exist(): + storage = make_storage() + path = f"test_delete_file_doesnt_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.delete_file(BUCKET_NAME, path) + + +def test_batch_delete_files(): + storage = make_storage() + path = f"test_batch_delete_files/{uuid4().hex}" + path_1 = f"{path}/result_1.txt" + path_2 = f"{path}/result_2.txt" + path_3 = f"{path}/result_3.txt" + paths = [path_1, path_2, path_3] + data = "lorem ipsum dolor test_batch_delete_files á" + + ensure_bucket(storage) + storage.write_file(BUCKET_NAME, path_1, data) + storage.write_file(BUCKET_NAME, path_3, data) + + deletion_result = storage.delete_files(BUCKET_NAME, paths) + assert deletion_result == [True, False, True] + for p in paths: with pytest.raises(FileNotInStorageError): - storage.delete_file(bucket_name, path) - - def test_batch_delete_files(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path_1 = f"{request.node.name}/result_1.txt" - path_2 = f"{request.node.name}/result_2.txt" - path_3 = f"{request.node.name}/result_3.txt" - paths = [path_1, path_2, path_3] - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "testingarchive004" - storage.write_file(bucket_name, path_1, data) - storage.write_file(bucket_name, path_3, data) - deletion_result = storage.delete_files(bucket_name, paths) - assert deletion_result == [True, False, True] - for p in paths: - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, p) - - def test_list_folder_contents(self, request, codecov_vcr): - storage = GCPStorageService(gcp_config) - path_1 = f"thiago/{request.node.name}/result_1.txt" - path_2 = f"thiago/{request.node.name}/result_2.txt" - path_3 = f"thiago/{request.node.name}/result_3.txt" - path_4 = f"thiago/{request.node.name}/f1/result_1.txt" - path_5 = f"thiago/{request.node.name}/f1/result_2.txt" - path_6 = f"thiago/{request.node.name}/f1/result_3.txt" - all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] - bucket_name = "testingarchive004" - for i, p in enumerate(all_paths): - data = f"Lorem ipsum on file {p} for {i * 'po'}" - storage.write_file(bucket_name, p, data) - results_1 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}") - ) - expected_result_1 = [ - {"name": path_1, "size": 70}, - {"name": path_2, "size": 72}, - {"name": path_3, "size": 74}, - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_1, key=lambda x: x["size"]) == sorted( - results_1, key=lambda x: x["size"] - ) - results_2 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}/f1") - ) - expected_result_2 = [ - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted(expected_result_2, key=lambda x: x["size"]) == sorted( - results_2, key=lambda x: x["size"] - ) + storage.read_file(BUCKET_NAME, p) - @patch("shared.storage.gcp.storage") - def test_read_file_retry_success(self, mock_storage): - storage = GCPStorageService(gcp_config) - mock_storage.Client.assert_called() - mock_blob = MagicMock( - name="fake_blob", - download_as_bytes=MagicMock( - side_effect=[ - DataCorruption(response="checksum match failed"), - b"contents", - ] - ), - ) - mock_storage.Blob.return_value = mock_blob - response = storage.read_file("root_bucket", "path/to/blob", None) - assert response == b"contents" - - @patch("shared.storage.gcp.storage") - def test_read_file_retry_fail_twice(self, mock_storage): - storage = GCPStorageService(gcp_config) - mock_storage.Client.assert_called() - mock_blob = MagicMock( - name="fake_blob", - download_as_bytes=MagicMock( - side_effect=[ - DataCorruption(response="checksum match failed"), - DataCorruption(response="checksum match failed"), - ] - ), - ) - mock_storage.Blob.return_value = mock_blob - with pytest.raises(DataCorruption): - storage.read_file("root_bucket", "path/to/blob", None) + +@pytest.mark.skip( + reason="the service account used for testing does not have bucket list permissions" +) +def test_list_folder_contents(): + storage = make_storage() + path = f"test_list_folder_contents/{uuid4().hex}" + path_1 = "/result_1.txt" + path_2 = "/result_2.txt" + path_3 = "/result_3.txt" + path_4 = "/x1/result_1.txt" + path_5 = "/x1/result_2.txt" + path_6 = "/x1/result_3.txt" + all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] + + ensure_bucket(storage) + for i, p in enumerate(all_paths): + data = f"Lorem ipsum on file {p} for {i * 'po'}" + storage.write_file(BUCKET_NAME, f"{path}{p}", data) + + results_1 = sorted( + storage.list_folder_contents(BUCKET_NAME, path), + key=lambda x: x["name"], + ) + assert results_1 == [ + {"name": f"{path}{path_1}", "size": 38}, + {"name": f"{path}{path_2}", "size": 40}, + {"name": f"{path}{path_3}", "size": 42}, + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] + + results_2 = sorted( + storage.list_folder_contents(BUCKET_NAME, f"{path}/x1"), + key=lambda x: x["name"], + ) + assert results_2 == [ + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] diff --git a/tests/unit/storage/test_init.py b/tests/unit/storage/test_init.py index c7ae62985..1c31a15a2 100644 --- a/tests/unit/storage/test_init.py +++ b/tests/unit/storage/test_init.py @@ -66,47 +66,49 @@ } -class TestStorageInitialization(object): - def test_get_appropriate_storage_service_fallback(self, mock_configuration): - mock_configuration.params["services"] = { - "chosen_storage": "gcp_with_fallback", - "gcp": gcp_config, - "aws": aws_config, - } - res = get_appropriate_storage_service() - assert isinstance(res, StorageWithFallbackService) - assert isinstance(res.main_service, GCPStorageService) - assert res.main_service.config == gcp_config - assert isinstance(res.fallback_service, AWSStorageService) - assert res.fallback_service.config == aws_config +def test_get_appropriate_storage_service_fallback(mock_configuration): + mock_configuration.params["services"] = { + "chosen_storage": "gcp_with_fallback", + "gcp": gcp_config, + "aws": aws_config, + } + res = get_appropriate_storage_service() + assert isinstance(res, StorageWithFallbackService) + assert isinstance(res.main_service, GCPStorageService) + assert res.main_service.config == gcp_config + assert isinstance(res.fallback_service, AWSStorageService) + assert res.fallback_service.config == aws_config - def test_get_appropriate_storage_service_aws(self, mock_configuration): - mock_configuration.params["services"] = { - "chosen_storage": "aws", - "gcp": gcp_config, - "aws": aws_config, - } - res = get_appropriate_storage_service() - assert isinstance(res, AWSStorageService) - assert res.config == aws_config - def test_get_appropriate_storage_service_gcp(self, mock_configuration): - mock_configuration.params["services"] = { - "chosen_storage": "gcp", - "gcp": gcp_config, - "aws": aws_config, - } - res = get_appropriate_storage_service() - assert isinstance(res, GCPStorageService) - assert res.config == gcp_config +def test_get_appropriate_storage_service_aws(mock_configuration): + mock_configuration.params["services"] = { + "chosen_storage": "aws", + "gcp": gcp_config, + "aws": aws_config, + } + res = get_appropriate_storage_service() + assert isinstance(res, AWSStorageService) + assert res.config == aws_config - def test_get_appropriate_storage_service_minio(self, mock_configuration): - mock_configuration.params["services"] = { - "chosen_storage": "minio", - "gcp": gcp_config, - "aws": aws_config, - "minio": minio_config, - } - res = get_appropriate_storage_service() - assert isinstance(res, MinioStorageService) - assert res.minio_config == minio_config + +def test_get_appropriate_storage_service_gcp(mock_configuration): + mock_configuration.params["services"] = { + "chosen_storage": "gcp", + "gcp": gcp_config, + "aws": aws_config, + } + res = get_appropriate_storage_service() + assert isinstance(res, GCPStorageService) + assert res.config == gcp_config + + +def test_get_appropriate_storage_service_minio(mock_configuration): + mock_configuration.params["services"] = { + "chosen_storage": "minio", + "gcp": gcp_config, + "aws": aws_config, + "minio": minio_config, + } + res = get_appropriate_storage_service() + assert isinstance(res, MinioStorageService) + assert res.minio_config == minio_config diff --git a/tests/unit/storage/test_memory.py b/tests/unit/storage/test_memory.py index 4cd0eade3..f693683bd 100644 --- a/tests/unit/storage/test_memory.py +++ b/tests/unit/storage/test_memory.py @@ -1,139 +1,160 @@ import tempfile +from uuid import uuid4 import pytest from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError from shared.storage.memory import MemoryStorageService -from tests.base import BaseTestCase - -minio_config = { - "access_key_id": "codecov-default-key", - "secret_access_key": "codecov-default-secret", - "verify_ssl": False, - "host": "minio", - "port": "9000", -} - - -class TestMemoryStorageService(BaseTestCase): - def test_create_bucket(self, codecov_vcr): - storage = MemoryStorageService(minio_config) - bucket_name = "thiagoarchivetest" - res = storage.create_root_storage(bucket_name, region="") - assert res == {"name": "thiagoarchivetest"} - - def test_create_bucket_already_exists(self, codecov_vcr): - storage = MemoryStorageService(minio_config) - bucket_name = "alreadyexists" - storage.root_storage_created = True - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name) - - def test_write_then_read_file(self, codecov_vcr): - storage = MemoryStorageService(minio_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "thiagoarchivetest" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == data - - def test_write_then_read_file_obj(self, codecov_vcr): - storage = MemoryStorageService(minio_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - _, local_path = tempfile.mkstemp() - with open(local_path, "w") as f: - f.write(data) - f = open(local_path, "rb") - bucket_name = "archivetest" - writing_result = storage.write_file(bucket_name, path, f) - assert writing_result - - _, local_path = tempfile.mkstemp() - with open(local_path, "wb") as f: - storage.read_file(bucket_name, path, file_obj=f) - with open(local_path, "rb") as f: - assert f.read().decode() == data - - def test_read_file_does_not_exist(self, request, codecov_vcr): - storage = MemoryStorageService(minio_config) - path = f"{request.node.name}/does_not_exist.txt" - bucket_name = "thiagoarchivetest" - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - - def test_write_then_delete_file(self, request, codecov_vcr): - storage = MemoryStorageService(minio_config) - path = f"{request.node.name}/result.txt" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "thiagoarchivetest" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - deletion_result = storage.delete_file(bucket_name, path) - assert deletion_result is True - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - def test_delete_file_doesnt_exist(self, request, codecov_vcr): - storage = MemoryStorageService(minio_config) - path = f"{request.node.name}/result.txt" - bucket_name = "thiagoarchivetest" +BUCKET_NAME = "archivetest" + + +def make_storage() -> MemoryStorageService: + return MemoryStorageService({}) + + +def ensure_bucket(storage: MemoryStorageService): + pass + + +def test_create_bucket(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="") + assert res == {"name": bucket_name} + + +def test_create_bucket_already_exists(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name) + with pytest.raises(BucketAlreadyExistsError): + storage.create_root_storage(bucket_name) + + +def test_write_then_read_file(): + storage = make_storage() + path = f"test_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_file_obj(): + storage = make_storage() + path = f"test_write_then_read_file_obj/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_obj á" + + ensure_bucket(storage) + + _, local_path = tempfile.mkstemp() + with open(local_path, "w") as f: + f.write(data) + with open(local_path, "rb") as f: + writing_result = storage.write_file(BUCKET_NAME, path, f) + assert writing_result + + _, local_path = tempfile.mkstemp() + with open(local_path, "wb") as f: + storage.read_file(BUCKET_NAME, path, file_obj=f) + with open(local_path, "rb") as f: + assert f.read().decode() == data + + +def test_read_file_does_not_exist(): + storage = make_storage() + path = f"test_read_file_does_not_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_write_then_delete_file(): + storage = make_storage() + path = f"test_write_then_delete_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_delete_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + + deletion_result = storage.delete_file(BUCKET_NAME, path) + assert deletion_result is True + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_delete_file_doesnt_exist(): + storage = make_storage() + path = f"test_delete_file_doesnt_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.delete_file(BUCKET_NAME, path) + + +def test_batch_delete_files(): + storage = make_storage() + path = f"test_batch_delete_files/{uuid4().hex}" + path_1 = f"{path}/result_1.txt" + path_2 = f"{path}/result_2.txt" + path_3 = f"{path}/result_3.txt" + paths = [path_1, path_2, path_3] + data = "lorem ipsum dolor test_batch_delete_files á" + + ensure_bucket(storage) + storage.write_file(BUCKET_NAME, path_1, data) + storage.write_file(BUCKET_NAME, path_3, data) + + deletion_result = storage.delete_files(BUCKET_NAME, paths) + assert deletion_result == [True, False, True] + for p in paths: with pytest.raises(FileNotInStorageError): - storage.delete_file(bucket_name, path) - - def test_batch_delete_files(self, request, codecov_vcr): - storage = MemoryStorageService(minio_config) - path_1 = f"{request.node.name}/result_1.txt" - path_2 = f"{request.node.name}/result_2.txt" - path_3 = f"{request.node.name}/result_3.txt" - paths = [path_1, path_2, path_3] - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "thiagoarchivetest" - storage.write_file(bucket_name, path_1, data) - storage.write_file(bucket_name, path_3, data) - deletion_result = storage.delete_files(bucket_name, paths) - assert deletion_result == [True, False, True] - for p in paths: - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, p) - - def test_list_folder_contents(self, request, codecov_vcr): - storage = MemoryStorageService(minio_config) - path_1 = f"thiago/{request.node.name}/result_1.txt" - path_2 = f"thiago/{request.node.name}/result_2.txt" - path_3 = f"thiago/{request.node.name}/result_3.txt" - path_4 = f"thiago/{request.node.name}/f1/result_1.txt" - path_5 = f"thiago/{request.node.name}/f1/result_2.txt" - path_6 = f"thiago/{request.node.name}/f1/result_3.txt" - all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] - bucket_name = "thiagoarchivetest" - for i, p in enumerate(all_paths): - data = f"Lorem ipsum on file {p} for {i * 'po'}" - storage.write_file(bucket_name, p, data) - results_1 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}") - ) - expected_result_1 = [ - {"name": path_1, "size": 70}, - {"name": path_2, "size": 72}, - {"name": path_3, "size": 74}, - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted( - expected_result_1, key=lambda x: (x["name"], x["size"]) - ) == sorted(results_1, key=lambda x: (x["name"], x["size"])) - results_2 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}/f1") - ) - expected_result_2 = [ - {"name": path_4, "size": 79}, - {"name": path_5, "size": 81}, - {"name": path_6, "size": 83}, - ] - assert sorted( - expected_result_2, key=lambda x: (x["name"], x["size"]) - ) == sorted(results_2, key=lambda x: (x["name"], x["size"])) + storage.read_file(BUCKET_NAME, p) + + +def test_list_folder_contents(): + storage = make_storage() + path = f"test_list_folder_contents/{uuid4().hex}" + path_1 = "/result_1.txt" + path_2 = "/result_2.txt" + path_3 = "/result_3.txt" + path_4 = "/x1/result_1.txt" + path_5 = "/x1/result_2.txt" + path_6 = "/x1/result_3.txt" + all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] + + ensure_bucket(storage) + for i, p in enumerate(all_paths): + data = f"Lorem ipsum on file {p} for {i * 'po'}" + storage.write_file(BUCKET_NAME, f"{path}{p}", data) + + results_1 = sorted( + storage.list_folder_contents(BUCKET_NAME, path), + key=lambda x: x["name"], + ) + assert results_1 == [ + {"name": f"{path}{path_1}", "size": 38}, + {"name": f"{path}{path_2}", "size": 40}, + {"name": f"{path}{path_3}", "size": 42}, + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] + + results_2 = sorted( + storage.list_folder_contents(BUCKET_NAME, f"{path}/x1"), + key=lambda x: x["name"], + ) + assert results_2 == [ + {"name": f"{path}{path_4}", "size": 47}, + {"name": f"{path}{path_5}", "size": 49}, + {"name": f"{path}{path_6}", "size": 51}, + ] diff --git a/tests/unit/storage/test_minio.py b/tests/unit/storage/test_minio.py index 50fe478db..6ab05bf7f 100644 --- a/tests/unit/storage/test_minio.py +++ b/tests/unit/storage/test_minio.py @@ -1,231 +1,225 @@ -import os import tempfile +from uuid import uuid4 import pytest from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError from shared.storage.minio import MinioStorageService -from tests.base import BaseTestCase - -minio_config = { - "access_key_id": "codecov-default-key", - "secret_access_key": "codecov-default-secret", - "verify_ssl": False, - "host": "minio", - "port": "9000", - "iam_auth": False, - "iam_endpoint": None, -} - - -class TestMinioStorageService(BaseTestCase): - def test_create_bucket(self, codecov_vcr): - storage = MinioStorageService(minio_config) - bucket_name = "archivetest" - res = storage.create_root_storage(bucket_name, region="") - assert res == {"name": "archivetest"} - - def test_create_bucket_already_exists(self, codecov_vcr): - storage = MinioStorageService(minio_config) - bucket_name = "alreadyexists" - storage.create_root_storage(bucket_name) - with pytest.raises(BucketAlreadyExistsError): - storage.create_root_storage(bucket_name) - - def test_write_then_read_file(self, codecov_vcr): - storage = MinioStorageService(minio_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "archivetest" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == data - - def test_write_then_read_file_obj(self, codecov_vcr): - storage = MinioStorageService(minio_config) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - _, local_path = tempfile.mkstemp() - with open(local_path, "w") as f: - f.write(data) - f = open(local_path, "rb") - bucket_name = "archivetest" - writing_result = storage.write_file(bucket_name, path, f) - assert writing_result - - _, local_path = tempfile.mkstemp() - with open(local_path, "wb") as f: - storage.read_file(bucket_name, path, file_obj=f) - with open(local_path, "rb") as f: - assert f.read().decode() == data - - def test_read_file_does_not_exist(self, request, codecov_vcr): - storage = MinioStorageService(minio_config) - path = f"{request.node.name}/does_not_exist.txt" - bucket_name = "archivetest" - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - - def test_write_then_delete_file(self, request, codecov_vcr): - storage = MinioStorageService(minio_config) - path = f"{request.node.name}/result.txt" - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "archivetest" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - deletion_result = storage.delete_file(bucket_name, path) - assert deletion_result is True - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, path) - - def test_delete_file_doesnt_exist(self, request, codecov_vcr): - storage = MinioStorageService(minio_config) - path = f"{request.node.name}/result.txt" - bucket_name = "archivetest" - storage.delete_file(bucket_name, path) - - def test_batch_delete_files(self, request, codecov_vcr): - storage = MinioStorageService(minio_config) - path_1 = f"{request.node.name}/result_1.txt" - path_2 = f"{request.node.name}/result_2.txt" - path_3 = f"{request.node.name}/result_3.txt" - paths = [path_1, path_2, path_3] - data = "lorem ipsum dolor test_write_then_read_file á" - bucket_name = "archivetest" - storage.write_file(bucket_name, path_1, data) - storage.write_file(bucket_name, path_3, data) - deletion_result = storage.delete_files(bucket_name, paths) - assert deletion_result == [True, True, True] - for p in paths: - with pytest.raises(FileNotInStorageError): - storage.read_file(bucket_name, p) - - def test_list_folder_contents(self, request, codecov_vcr): - storage = MinioStorageService(minio_config) - path_1 = f"thiago/{request.node.name}/result_1.txt" - path_2 = f"thiago/{request.node.name}/result_2.txt" - path_3 = f"thiago/{request.node.name}/result_3.txt" - path_4 = f"thiago/{request.node.name}/f1/result_1.txt" - path_5 = f"thiago/{request.node.name}/f1/result_2.txt" - path_6 = f"thiago/{request.node.name}/f1/result_3.txt" - all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] - bucket_name = "archivetest" - for i, p in enumerate(all_paths): - data = f"Lorem ipsum on file {p} for {i * 'po'}" - storage.write_file(bucket_name, p, data) - results_1 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}") - ) - expected_result_1 = [ - {"name": path_1, "size": 84}, - {"name": path_2, "size": 86}, - {"name": path_3, "size": 87}, - {"name": path_4, "size": 88}, - {"name": path_5, "size": 89}, - {"name": path_6, "size": 90}, - ] - assert sorted(expected_result_1, key=lambda x: x["size"]) == sorted( - results_1, key=lambda x: x["size"] - ) - results_2 = list( - storage.list_folder_contents(bucket_name, f"thiago/{request.node.name}/f1") - ) - expected_result_2 = [ - {"name": path_4, "size": 88}, - {"name": path_5, "size": 89}, - {"name": path_6, "size": 90}, - ] - assert sorted(expected_result_2, key=lambda x: x["size"]) == sorted( - results_2, key=lambda x: x["size"] - ) - - """ - Since we cannot rely on `Chain` in the underlying implementation - we cannot ''trick'' minio into using the IAM auth flow while testing, - and therefore have to actually be running on an AWS instance. - We can unskip this test after minio fixes their credential - chain problem - """ - - @pytest.mark.skip(reason="Skipping because minio IAM is currently untestable.") - def test_minio_with_iam_flow(self, codecov_vcr, mocker): - mocker.patch.dict( - os.environ, - { - "MINIO_ACCESS_KEY": "codecov-default-key", - "MINIO_SECRET_KEY": "codecov-default-secret", - }, - ) - minio_iam_config = { + +BUCKET_NAME = "archivetest" + + +def make_storage() -> MinioStorageService: + return MinioStorageService( + { "access_key_id": "codecov-default-key", "secret_access_key": "codecov-default-secret", "verify_ssl": False, "host": "minio", "port": "9000", - "iam_auth": True, + "iam_auth": False, "iam_endpoint": None, } - bucket_name = "testminiowithiamflow" - storage = MinioStorageService(minio_iam_config) + ) + + +def ensure_bucket(storage: MinioStorageService): + try: + storage.create_root_storage(BUCKET_NAME) + except Exception: + pass + + +def test_create_bucket(): + storage = make_storage() + bucket_name = uuid4().hex + + res = storage.create_root_storage(bucket_name, region="") + assert res == {"name": bucket_name} + + +def test_create_bucket_already_exists(): + storage = make_storage() + bucket_name = uuid4().hex + + storage.create_root_storage(bucket_name) + with pytest.raises(BucketAlreadyExistsError): storage.create_root_storage(bucket_name) - path = "test_write_then_read_file/result" - data = "lorem ipsum dolor test_write_then_read_file á" - writing_result = storage.write_file(bucket_name, path, data) - assert writing_result - reading_result = storage.read_file(bucket_name, path) - assert reading_result.decode() == data - - def test_minio_without_ports(self, mocker): - mocked_minio_client = mocker.patch("shared.storage.minio.Minio") - minio_no_ports_config = { - "access_key_id": "hodor", - "secret_access_key": "haha", - "verify_ssl": False, - "host": "cute_url_no_ports", - "iam_auth": True, - "iam_endpoint": None, - } - storage = MinioStorageService(minio_no_ports_config) - assert storage.minio_config == minio_no_ports_config - mocked_minio_client.assert_called_with( - "cute_url_no_ports", credentials=mocker.ANY, secure=False, region=None - ) - - def test_minio_with_ports(self, mocker): - mocked_minio_client = mocker.patch("shared.storage.minio.Minio") - minio_no_ports_config = { - "access_key_id": "hodor", - "secret_access_key": "haha", - "verify_ssl": False, - "host": "cute_url_no_ports", - "port": "9000", - "iam_auth": True, - "iam_endpoint": None, - } - storage = MinioStorageService(minio_no_ports_config) - assert storage.minio_config == minio_no_ports_config - mocked_minio_client.assert_called_with( - "cute_url_no_ports:9000", credentials=mocker.ANY, secure=False, region=None - ) - - def test_minio_with_region(self, mocker): - mocked_minio_client = mocker.patch("shared.storage.minio.Minio") - minio_no_ports_config = { - "access_key_id": "hodor", - "secret_access_key": "haha", - "verify_ssl": False, - "host": "cute_url_no_ports", - "port": "9000", - "iam_auth": True, - "iam_endpoint": None, - "region": "example", - } - storage = MinioStorageService(minio_no_ports_config) - assert storage.minio_config == minio_no_ports_config - mocked_minio_client.assert_called_with( - "cute_url_no_ports:9000", - credentials=mocker.ANY, - secure=False, - region="example", - ) + + +def test_write_then_read_file(): + storage = make_storage() + path = f"test_write_then_read_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + reading_result = storage.read_file(BUCKET_NAME, path) + assert reading_result.decode() == data + + +def test_write_then_read_file_obj(): + storage = make_storage() + path = f"test_write_then_read_file_obj/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_read_file_obj á" + + ensure_bucket(storage) + + _, local_path = tempfile.mkstemp() + with open(local_path, "w") as f: + f.write(data) + with open(local_path, "rb") as f: + writing_result = storage.write_file(BUCKET_NAME, path, f) + assert writing_result + + _, local_path = tempfile.mkstemp() + with open(local_path, "wb") as f: + storage.read_file(BUCKET_NAME, path, file_obj=f) + with open(local_path, "rb") as f: + assert f.read().decode() == data + + +def test_read_file_does_not_exist(): + storage = make_storage() + path = f"test_read_file_does_not_exist/{uuid4().hex}" + + ensure_bucket(storage) + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_write_then_delete_file(): + storage = make_storage() + path = f"test_write_then_delete_file/{uuid4().hex}" + data = "lorem ipsum dolor test_write_then_delete_file á" + + ensure_bucket(storage) + writing_result = storage.write_file(BUCKET_NAME, path, data) + assert writing_result + + deletion_result = storage.delete_file(BUCKET_NAME, path) + assert deletion_result is True + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, path) + + +def test_batch_delete_files(): + storage = make_storage() + path = f"test_batch_delete_files/{uuid4().hex}" + path_1 = f"{path}/result_1.txt" + path_2 = f"{path}/result_2.txt" + path_3 = f"{path}/result_3.txt" + paths = [path_1, path_2, path_3] + data = "lorem ipsum dolor test_batch_delete_files á" + + ensure_bucket(storage) + storage.write_file(BUCKET_NAME, path_1, data) + storage.write_file(BUCKET_NAME, path_3, data) + + deletion_result = storage.delete_files(BUCKET_NAME, paths) + assert deletion_result == [True, True, True] + for p in paths: + with pytest.raises(FileNotInStorageError): + storage.read_file(BUCKET_NAME, p) + + +def test_list_folder_contents(): + storage = make_storage() + path = f"test_list_folder_contents/{uuid4().hex}" + path_1 = "/result_1.txt" + path_2 = "/result_2.txt" + path_3 = "/result_3.txt" + path_4 = "/x1/result_1.txt" + path_5 = "/x1/result_2.txt" + path_6 = "/x1/result_3.txt" + all_paths = [path_1, path_2, path_3, path_4, path_5, path_6] + + ensure_bucket(storage) + for i, p in enumerate(all_paths): + data = f"Lorem ipsum on file {p} for {i * 'po'}" + storage.write_file(BUCKET_NAME, f"{path}{p}", data) + + results_1 = sorted( + storage.list_folder_contents(BUCKET_NAME, path), + key=lambda x: x["name"], + ) + # NOTE: the `size` here is actually the compressed (currently gzip) size + assert results_1 == [ + {"name": f"{path}{path_1}", "size": 58}, + {"name": f"{path}{path_2}", "size": 60}, + {"name": f"{path}{path_3}", "size": 62}, + {"name": f"{path}{path_4}", "size": 64}, + {"name": f"{path}{path_5}", "size": 64}, + {"name": f"{path}{path_6}", "size": 64}, + ] + + results_2 = sorted( + storage.list_folder_contents(BUCKET_NAME, f"{path}/x1"), + key=lambda x: x["name"], + ) + assert results_2 == [ + {"name": f"{path}{path_4}", "size": 64}, + {"name": f"{path}{path_5}", "size": 64}, + {"name": f"{path}{path_6}", "size": 64}, + ] + + +def test_minio_without_ports(mocker): + mocked_minio_client = mocker.patch("shared.storage.minio.Minio") + minio_no_ports_config = { + "access_key_id": "hodor", + "secret_access_key": "haha", + "verify_ssl": False, + "host": "cute_url_no_ports", + "iam_auth": True, + "iam_endpoint": None, + } + + storage = MinioStorageService(minio_no_ports_config) + assert storage.minio_config == minio_no_ports_config + mocked_minio_client.assert_called_with( + "cute_url_no_ports", credentials=mocker.ANY, secure=False, region=None + ) + + +def test_minio_with_ports(mocker): + mocked_minio_client = mocker.patch("shared.storage.minio.Minio") + minio_no_ports_config = { + "access_key_id": "hodor", + "secret_access_key": "haha", + "verify_ssl": False, + "host": "cute_url_no_ports", + "port": "9000", + "iam_auth": True, + "iam_endpoint": None, + } + + storage = MinioStorageService(minio_no_ports_config) + assert storage.minio_config == minio_no_ports_config + mocked_minio_client.assert_called_with( + "cute_url_no_ports:9000", credentials=mocker.ANY, secure=False, region=None + ) + + +def test_minio_with_region(mocker): + mocked_minio_client = mocker.patch("shared.storage.minio.Minio") + minio_no_ports_config = { + "access_key_id": "hodor", + "secret_access_key": "haha", + "verify_ssl": False, + "host": "cute_url_no_ports", + "port": "9000", + "iam_auth": True, + "iam_endpoint": None, + "region": "example", + } + + storage = MinioStorageService(minio_no_ports_config) + assert storage.minio_config == minio_no_ports_config + mocked_minio_client.assert_called_with( + "cute_url_no_ports:9000", + credentials=mocker.ANY, + secure=False, + region="example", + ) From 196f95d8697f1414d8ba8e3deb4b7dfba072e018 Mon Sep 17 00:00:00 2001 From: Arpad Borsos Date: Thu, 12 Sep 2024 12:45:55 +0200 Subject: [PATCH 2/2] only patch blob metadata on checksum failure --- shared/storage/gcp.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/shared/storage/gcp.py b/shared/storage/gcp.py index 3113698d0..56583dd4f 100644 --- a/shared/storage/gcp.py +++ b/shared/storage/gcp.py @@ -84,7 +84,7 @@ def write_file( return True def read_file( - self, bucket_name: str, path: str, file_obj: IO | None = None + self, bucket_name: str, path: str, file_obj: IO | None = None, retry=0 ) -> bytes: """Reads the content of a file @@ -108,21 +108,28 @@ def read_file( # decompress `gzip`, and potentially `zstd` compressed transparently, # we will rewrite the metadata of the blob so that the `download_XYZ` # will properly apply transparent decompression. - blob.reload() - if ( - blob.content_type == "application/x-gzip" - and blob.content_encoding == "gzip" - ): - blob.content_type = "text/plain" - blob.content_encoding = "gzip" - blob.patch() + if retry: + blob.reload() + if ( + blob.content_type == "application/x-gzip" + and blob.content_encoding == "gzip" + ): + blob.content_type = "text/plain" + blob.content_encoding = "gzip" + blob.patch() if file_obj is None: - return blob.download_as_bytes() + return blob.download_as_bytes(checksum="crc32c") else: - blob.download_to_file(file_obj) + blob.download_to_file(file_obj, checksum="crc32c") + return b"" except google.cloud.exceptions.NotFound: raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}") + except google.resumable_media.common.DataCorruption: + if retry == 0: + log.info("Download checksum failed. Trying again") + return self.read_file(bucket_name, path, file_obj, retry=1) + raise def delete_file(self, bucket_name: str, path: str) -> bool: """Deletes a single file from the storage (what happens if the file doesnt exist?)