diff --git a/shared/storage/aws.py b/shared/storage/aws.py
deleted file mode 100644
index 689900ab3..000000000
--- a/shared/storage/aws.py
+++ /dev/null
@@ -1,148 +0,0 @@
-import gzip
-import logging
-
-import boto3
-from botocore.exceptions import ClientError
-
-from shared.storage.base import CHUNK_SIZE, BaseStorageService
-from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError
-
-log = logging.getLogger(__name__)
-
-
-class AWSStorageService(BaseStorageService):
- def __init__(self, aws_config):
- self.config = aws_config
- self.storage_client = boto3.client(
- aws_config.get("resource"),
- 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"),
- )
-
- def create_root_storage(self, bucket_name="archive", region="us-east-1"):
- """
- Creates root storage (or bucket, as in some terminologies)
-
- Note:
- AWS API wont return an error if you attempt to create a bucket that
- already exists in us-east-1 region. However, it does return an error
- if you attempt to create a bucket that already exists in any other region.
-
- Args:
- bucket_name (str): The name of the bucket to be created (default: {'archive'})
- region (str): The region in which the bucket will be created (default: {'us-east-1'})
-
- Raises:
- BucketAlreadyExistsError: If the bucket already exists
- """
-
- if region == "us-east-1":
- try:
- self.storage_client.head_bucket(Bucket=bucket_name)
- raise BucketAlreadyExistsError(f"Bucket {bucket_name} already exists")
- except ClientError as e:
- if e.response["Error"]["Code"] == "404":
- self.storage_client.create_bucket(Bucket=bucket_name)
- else:
- try:
- location = {"LocationConstraint": region}
- self.storage_client.create_bucket(
- Bucket=bucket_name, CreateBucketConfiguration=location
- )
- except ClientError as e:
- if e.response["Error"]["Code"] == "BucketAlreadyOwnedByYou":
- raise BucketAlreadyExistsError(
- f"Bucket {bucket_name} already exists"
- )
- else:
- raise
- return {"name": bucket_name}
-
- def write_file(
- self,
- bucket_name,
- path,
- data,
- reduced_redundancy=False,
- *,
- is_already_gzipped: bool = False,
- ):
- """
- 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
- 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})
-
- """
- storage_class = "REDUCED_REDUNDANCY" if reduced_redundancy else "STANDARD"
- self.storage_client.put_object(
- Bucket=bucket_name, Key=path, Body=data, StorageClass=storage_class
- )
- return True
-
- def read_file(self, bucket_name, path, file_obj=None):
- """Reads the content of a file
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- 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
- """
- try:
- obj = self.storage_client.get_object(Bucket=bucket_name, Key=path)
- except ClientError as e:
- if e.response["Error"]["Code"] == "NoSuchKey":
- raise FileNotInStorageError(
- f"File {path} does not exist in {bucket_name}"
- )
- else:
- raise
- content = obj["Body"].read()
- try:
- content = gzip.decompress(content)
- except OSError:
- pass
- if file_obj is None:
- return content
- else:
- chunks = [
- content[i : i + CHUNK_SIZE] for i in range(0, len(content), CHUNK_SIZE)
- ]
- for chunk in chunks:
- file_obj.write(chunk)
-
- def delete_file(self, bucket_name, path):
- """Deletes a single file from the storage
-
- Note:
- AWS returns a 204 regardless if the file is not already
- there in the first place.
- FileNotInStorageError wont be raised if a file doesnt exists.
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- path (str): The path of the file to be deleted
-
- Raises:
- FileNotInStorageError: If the file does not exist
-
- Returns:
- bool: True if the deletion was succesful
- """
- try:
- self.storage_client.delete_object(Bucket=bucket_name, Key=path)
- return True
- except ClientError:
- raise
diff --git a/shared/storage/fallback.py b/shared/storage/fallback.py
deleted file mode 100644
index 247a8de1d..000000000
--- a/shared/storage/fallback.py
+++ /dev/null
@@ -1,90 +0,0 @@
-import logging
-
-from shared.storage.base import BaseStorageService
-from shared.storage.exceptions import FileNotInStorageError
-
-log = logging.getLogger(__name__)
-
-
-class StorageWithFallbackService(BaseStorageService):
- def __init__(self, main_service, fallback_service):
- self.main_service = main_service
- self.fallback_service = fallback_service
-
- def create_root_storage(self, bucket_name="archive", region="us-east-1"):
- res = self.main_service.create_root_storage(bucket_name, region)
- self.fallback_service.create_root_storage(bucket_name, region)
- return res
-
- def write_file(
- self,
- bucket_name,
- path,
- data,
- reduced_redundancy=False,
- *,
- is_already_gzipped: bool = False,
- ):
- """
- Writes a new file with the contents of `data`
-
- 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
- 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})
-
- """
- return self.main_service.write_file(
- bucket_name,
- path,
- data,
- reduced_redundancy,
- is_already_gzipped=is_already_gzipped,
- )
-
- def read_file(self, bucket_name, path, file_obj=None):
- """Reads the content of a file
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- 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
- """
- try:
- return self.main_service.read_file(bucket_name, path, file_obj=file_obj)
- except FileNotInStorageError:
- log.info("File not in first storage, looking into second one")
- return self.fallback_service.read_file(bucket_name, path, file_obj=file_obj)
-
- def delete_file(self, bucket_name, path):
- """Deletes a single file from the storage
-
- Note: Not all implementations raise a FileNotInStorageError
- if the file is not already there in the first place.
- It seems that minio, for example, returns a 204 regardless.
- So while you should prepare for a FileNotInStorageError,
- know that if it is not raise, it doesn't mean the file
- was there beforehand.
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- 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
- """
- first_deletion = self.main_service.delete_file(bucket_name, path)
- second_deletion = self.fallback_service.delete_file(bucket_name, path)
- return first_deletion and second_deletion
diff --git a/shared/storage/gcp.py b/shared/storage/gcp.py
deleted file mode 100644
index d66b9862b..000000000
--- a/shared/storage/gcp.py
+++ /dev/null
@@ -1,144 +0,0 @@
-import gzip
-import logging
-from typing import IO
-
-import google.cloud.exceptions
-from google.cloud import storage
-from google.oauth2.service_account import Credentials
-
-from shared.storage.base import BaseStorageService
-from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError
-
-log = logging.getLogger(__name__)
-
-
-class GCPStorageService(BaseStorageService):
- def __init__(self, gcp_config):
- self.config = gcp_config
- self.credentials = self.load_credentials(gcp_config)
- self.storage_client = storage.Client(
- project=self.credentials.project_id, credentials=self.credentials
- )
-
- def load_credentials(self, gcp_config):
- location = gcp_config.get("google_credentials_location")
- if location:
- return Credentials.from_service_account_file(filename=location)
- return Credentials.from_service_account_info(gcp_config)
-
- def get_blob(self, bucket_name, path):
- bucket = self.storage_client.bucket(bucket_name)
- return bucket.blob(path)
-
- def create_root_storage(self, bucket_name="archive", region="us-east-1"):
- """
- Creates root storage (or bucket_name, as in some terminologies)
-
- Args:
- bucket_name (str): The name of the bucket to be created (default: {'archive'})
- region (str): The region in which the bucket will be created (default: {'us-east-1'})
-
- Raises:
- NotImplementedError: If the current instance did not implement this method
- """
- try:
- bucket = self.storage_client.create_bucket(bucket_name)
- return {"name": bucket.name}
- except google.cloud.exceptions.Conflict:
- raise BucketAlreadyExistsError(f"Bucket {bucket_name} already exists")
-
- def write_file(
- self,
- 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?)
-
-
- 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: 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})
- """
- blob = self.get_blob(bucket_name, path)
-
- if isinstance(data, str):
- data = data.encode()
- if isinstance(data, bytes):
- if not is_already_gzipped:
- data = gzip.compress(data)
- blob.content_encoding = "gzip"
- blob.upload_from_string(data)
- return True
- else:
- # data is a file-like object
- blob.upload_from_file(data)
- return True
-
- def read_file(
- self, bucket_name: str, path: str, file_obj: IO | None = None, retry=0
- ) -> bytes:
- """Reads the content of a file
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- path (str): The path of the file
-
- Raises:
- FileNotInStorageError: If the file does not exist
-
- Returns:
- bytes: The contents of that file, still encoded as bytes
- """
- blob = self.get_blob(bucket_name, path)
-
- try:
- 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(checksum="crc32c")
- else:
- blob.download_to_file(file_obj, checksum="crc32c")
- return b"" # NOTE: this is to satisfy the return type
- 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?)
-
- Args:
- bucket_name (str): The name of the bucket for the file lives
- path (str): The path of the file to be deleted
-
- Raises:
- FileNotInStorageError: If the file does not exist
-
- Returns:
- bool: True if the deletion was successful
- """
- blob = self.get_blob(bucket_name, path)
- try:
- blob.delete()
- except google.cloud.exceptions.NotFound:
- raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}")
- return True
diff --git a/shared/storage/minio.py b/shared/storage/minio.py
index 24e0be9f4..9912894c9 100644
--- a/shared/storage/minio.py
+++ b/shared/storage/minio.py
@@ -3,10 +3,12 @@
import os
from datetime import timedelta
from functools import lru_cache
-from typing import IO, BinaryIO, Literal, overload
+from io import BytesIO
+from typing import IO, BinaryIO, Literal, cast, overload
import certifi
import urllib3
+import zstandard
from minio import Minio
from minio.credentials.providers import (
ChainedProvider,
@@ -16,27 +18,23 @@
)
from minio.error import MinioException, S3Error
from minio.helpers import ObjectWriteResult
-from urllib3 import Retry
+from urllib3 import HTTPResponse, Retry
from urllib3.util import Timeout
-from shared.metrics import Summary
-from shared.storage.base import BaseStorageService, PresignedURLService
-from shared.storage.compression import zstd_decoded_by_default
-from shared.storage.exceptions import BucketAlreadyExistsError
-from shared.storage.read import new_minio_read
-from shared.storage.write import new_minio_write
+from shared.storage.base import (
+ CHUNK_SIZE,
+ PART_SIZE,
+ BaseStorageService,
+ PresignedURLService,
+)
+from shared.storage.compression import GZipStreamReader, zstd_decoded_by_default
+from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError
log = logging.getLogger(__name__)
CONNECT_TIMEOUT = 10
READ_TIMEOUT = 60
-MINIO_WRITE_TIME_SUMMARY = Summary(
- "minio_write_time",
- "Time taken to write to minio",
- ["impl"],
-)
-
def init_minio_client(
host: str,
@@ -204,17 +202,53 @@ def write_file(
is_compressed: bool = False,
compression_type: str | None = "zstd",
) -> ObjectWriteResult | Literal[True]:
- return new_minio_write(
- self.minio_client,
+ if isinstance(data, str):
+ data = BytesIO(data.encode())
+ elif isinstance(data, (bytes, bytearray, memoryview)):
+ data = BytesIO(data)
+
+ if is_already_gzipped:
+ is_compressed = True
+ compression_type = "gzip"
+
+ result: IO[bytes]
+ if is_compressed:
+ result = data
+ else:
+ if compression_type == "zstd":
+ cctx = zstandard.ZstdCompressor()
+ result = cctx.stream_reader(data)
+
+ elif compression_type == "gzip":
+ result = cast(IO[bytes], GZipStreamReader(data))
+
+ else:
+ result = data
+
+ headers = {}
+ if compression_type:
+ headers["Content-Encoding"] = compression_type
+ if reduced_redundancy:
+ headers["x-amz-storage-class"] = "REDUCED_REDUNDANCY"
+
+ # it's safe to do a BinaryIO cast here because we know that put_object only uses a function of the shape:
+ # read(self, size: int = -1, /) -> bytes
+ # GZipStreamReader implements this (we did it ourselves)
+ # ZstdCompressionReader implements read(): https://github.com/indygreg/python-zstandard/blob/12a80fac558820adf43e6f16206120685b9eb880/zstandard/__init__.pyi#L233C5-L233C49
+ # BytesIO implements read(): https://docs.python.org/3/library/io.html#io.BufferedReader.read
+ # IO[bytes] implements read(): https://github.com/python/cpython/blob/3.13/Lib/typing.py#L3502
+ write_result = self.minio_client.put_object(
bucket_name,
path,
- data,
- reduced_redundancy,
- is_already_gzipped=is_already_gzipped,
- is_compressed=is_compressed,
- compression_type=compression_type,
+ cast(BinaryIO, result),
+ -1,
+ metadata=headers,
+ content_type="text/plain",
+ part_size=PART_SIZE,
)
+ return write_result
+
@overload
def read_file(self, bucket_name: str, path: str) -> bytes: ...
@@ -224,23 +258,58 @@ def read_file(self, bucket_name: str, path: str, file_obj: BinaryIO) -> None: ..
def read_file(
self, bucket_name: str, path: str, file_obj: BinaryIO | None = None
) -> bytes | None:
- return new_minio_read(
- self.minio_client, bucket_name, path, file_obj, zstd_default
- )
+ try:
+ response = cast(
+ HTTPResponse,
+ self.minio_client.get_object(bucket_name, path),
+ )
+ except S3Error as e:
+ if e.code == "NoSuchKey":
+ raise FileNotInStorageError(
+ f"File {path} does not exist in {bucket_name}"
+ )
+ raise e
- """
- Deletes file url in specified bucket.
- Return true on successful
- deletion, returns a ResponseError otherwise.
- """
+ reader = cast(IO[bytes], response)
+ if (
+ response.headers
+ and not zstd_default
+ and response.headers.get("Content-Encoding") == "zstd"
+ ):
+ # we have to manually decompress zstandard compressed data
+ cctx = zstandard.ZstdDecompressor()
+ # if the object passed to this has a read method then that's
+ # all this object will ever need, since it will just call read
+ # and get the bytes object resulting from it then compress that
+ # HTTPResponse
+ reader = cctx.stream_reader(reader)
+
+ if file_obj:
+ file_obj.seek(0)
+ while chunk := reader.read(CHUNK_SIZE):
+ file_obj.write(chunk)
+ response.close()
+ response.release_conn()
+ return None
+ else:
+ res = BytesIO()
+ while chunk := reader.read(CHUNK_SIZE):
+ res.write(chunk)
+ response.close()
+ response.release_conn()
+ return res.getvalue()
def delete_file(self, bucket_name: str, path: str) -> bool:
try:
# delete a file given a bucket name and a path
self.minio_client.remove_object(bucket_name, path)
return True
- except MinioException:
- raise
+ except S3Error as e:
+ if e.code == "NoSuchKey":
+ raise FileNotInStorageError(
+ f"File {path} does not exist in {bucket_name}"
+ )
+ raise e
def create_presigned_put(self, bucket: str, path: str, expires: int) -> str:
expires_td = timedelta(seconds=expires)
diff --git a/shared/storage/read.py b/shared/storage/read.py
deleted file mode 100644
index ac70a99d3..000000000
--- a/shared/storage/read.py
+++ /dev/null
@@ -1,82 +0,0 @@
-from io import BytesIO
-from typing import IO, cast
-
-import zstandard
-from minio import Minio
-from minio.error import MinioException, S3Error
-from urllib3 import HTTPResponse
-
-from shared.storage.base import CHUNK_SIZE
-from shared.storage.exceptions import FileNotInStorageError
-
-
-def old_minio_read(
- minio_client: Minio,
- bucket_name: str,
- path: str,
- file_obj: IO[bytes] | None = None,
-) -> bytes | None:
- try:
- res = minio_client.get_object(bucket_name, path)
- if file_obj is None:
- data = BytesIO()
- for d in res.stream(CHUNK_SIZE):
- data.write(d)
- data.seek(0)
- return data.getvalue()
- else:
- for d in res.stream(CHUNK_SIZE):
- file_obj.write(d)
- return None
- except S3Error as e:
- if e.code == "NoSuchKey":
- raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}")
- raise e
- except MinioException:
- raise
-
-
-def new_minio_read(
- minio_client: Minio,
- bucket_name: str,
- path: str,
- file_obj: IO[bytes] | None = None,
- zstd_default: bool = False,
-) -> bytes | None:
- try:
- response = cast(
- HTTPResponse,
- minio_client.get_object(bucket_name, path),
- )
- except S3Error as e:
- if e.code == "NoSuchKey":
- raise FileNotInStorageError(f"File {path} does not exist in {bucket_name}")
- raise e
- reader = response
- if (
- response.headers
- and not zstd_default
- and response.headers.get("Content-Encoding") == "zstd"
- ):
- # we have to manually decompress zstandard compressed data
- cctx = zstandard.ZstdDecompressor()
- # if the object passed to this has a read method then that's
- # all this object will ever need, since it will just call read
- # and get the bytes object resulting from it then compress that
- # HTTPResponse
- reader = cctx.stream_reader(cast(IO[bytes], response))
-
- if file_obj:
- file_obj.seek(0)
- while chunk := reader.read(CHUNK_SIZE):
- file_obj.write(chunk)
- response.close()
- response.release_conn()
- return None
- else:
- res = BytesIO()
- while chunk := reader.read(CHUNK_SIZE):
- res.write(chunk)
- response.close()
- response.release_conn()
- return res.getvalue()
diff --git a/shared/storage/write.py b/shared/storage/write.py
deleted file mode 100644
index ed396fcbc..000000000
--- a/shared/storage/write.py
+++ /dev/null
@@ -1,153 +0,0 @@
-import gzip
-import os
-import shutil
-import tempfile
-from io import BytesIO
-from typing import IO, BinaryIO, Literal, Tuple, cast
-
-import sentry_sdk
-import zstandard
-from minio import Minio
-from minio.error import MinioException
-from minio.helpers import ObjectWriteResult
-
-from shared.metrics import Summary, set_summary
-from shared.storage.base import PART_SIZE
-from shared.storage.compression import GZipStreamReader
-
-MINIO_SIZE_SUMMARY = Summary(
- "minio_compression_size",
- "Size of the compressed data update to minio",
- ["impl"],
-)
-
-
-def old_minio_write(
- minio_client: Minio,
- bucket_name: str,
- path: str,
- data: IO[bytes] | str | bytes,
- reduced_redundancy: bool = False,
- *,
- is_already_gzipped: bool = False, # deprecated
-) -> Literal[True]:
- if isinstance(data, str):
- data = data.encode()
-
- out: BinaryIO
- if isinstance(data, bytes):
- if not is_already_gzipped:
- out = BytesIO()
- with gzip.GzipFile(fileobj=out, mode="w", compresslevel=9) as gz:
- gz.write(data)
- else:
- out = BytesIO(data)
-
- # get file size
- out.seek(0, os.SEEK_END)
- out_size = out.tell()
- else:
- # data is already a file-like object
- if not is_already_gzipped:
- _, filename = tempfile.mkstemp()
- with gzip.open(filename, "wb") as f:
- shutil.copyfileobj(data, f)
- out = open(filename, "rb")
- else:
- out = data
-
- out_size = os.stat(filename).st_size
-
- try:
- # reset pos for minio reading.
- out.seek(0)
-
- headers = {"Content-Encoding": "gzip"}
- if reduced_redundancy:
- headers["x-amz-storage-class"] = "REDUCED_REDUNDANCY"
- minio_client.put_object(
- bucket_name,
- path,
- out,
- out_size,
- metadata=headers,
- content_type="text/plain",
- )
-
- set_summary(MINIO_SIZE_SUMMARY, out_size, labels={"impl": "gzip"})
-
- span = sentry_sdk.get_current_span()
- if span:
- span.set_data("size", out_size)
-
- return True
-
- except MinioException:
- raise
-
-
-def new_minio_write(
- minio_client: Minio,
- bucket_name: str,
- path: str,
- data: IO[bytes] | str | bytes,
- reduced_redundancy: bool = False,
- *,
- is_already_gzipped: bool = False, # deprecated
- is_compressed: bool = False,
- compression_type: str | None = "zstd",
-) -> ObjectWriteResult:
- if isinstance(data, str):
- data = BytesIO(data.encode())
- elif isinstance(data, (bytes, bytearray, memoryview)):
- data = BytesIO(data)
-
- if is_already_gzipped:
- is_compressed = True
- compression_type = "gzip"
-
- if is_compressed:
- result = data
- else:
- if compression_type == "zstd":
- cctx = zstandard.ZstdCompressor()
- result = cctx.stream_reader(data)
-
- elif compression_type == "gzip":
- result = GZipStreamReader(data)
-
- else:
- result = data
-
- headers: dict[str, str | list[str] | Tuple[str]] = {}
-
- if compression_type:
- headers["Content-Encoding"] = compression_type
-
- if reduced_redundancy:
- headers["x-amz-storage-class"] = "REDUCED_REDUNDANCY"
-
- # it's safe to do a BinaryIO cast here because we know that put_object only uses a function of the shape:
- # read(self, size: int = -1, /) -> bytes
- # GZipStreamReader implements this (we did it ourselves)
- # ZstdCompressionReader implements read(): https://github.com/indygreg/python-zstandard/blob/12a80fac558820adf43e6f16206120685b9eb880/zstandard/__init__.pyi#L233C5-L233C49
- # BytesIO implements read(): https://docs.python.org/3/library/io.html#io.BufferedReader.read
- # IO[bytes] implements read(): https://github.com/python/cpython/blob/3.13/Lib/typing.py#L3502
-
- write_result = minio_client.put_object(
- bucket_name,
- path,
- cast(BinaryIO, result),
- -1,
- metadata=headers,
- content_type="text/plain",
- part_size=PART_SIZE,
- )
-
- set_summary(MINIO_SIZE_SUMMARY, result.tell(), labels={"impl": compression_type})
-
- span = sentry_sdk.get_current_span()
- if span:
- span.set_data("size", result.tell())
-
- return write_result
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_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_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_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_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_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 dbc5a9253..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_delete_file_doesnt_exist.yaml
+++ /dev/null
@@ -1,108 +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
- 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_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 c77d8d78c..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_manually_then_read_then_write_then_read_file.yaml
+++ /dev/null
@@ -1,502 +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: "--===============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/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: !!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/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/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 8d3757997..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_application_gzip.yaml
+++ /dev/null
@@ -1,380 +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: !!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 35783e860..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_read_file_does_not_exist.yaml
+++ /dev/null
@@ -1,106 +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/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_delete_file.yaml b/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml
deleted file mode 100644
index 5bd22ea40..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_delete_file.yaml
+++ /dev/null
@@ -1,217 +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: !!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
- 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/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 67d9d08a7..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file.yaml
+++ /dev/null
@@ -1,284 +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: !!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/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 8105f85d8..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_gzipped.yaml
+++ /dev/null
@@ -1,239 +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: !!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/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 012fffc1b..000000000
--- a/tests/unit/storage/cassetes/test_gcp/TestGCPStorateService/test_write_then_read_file_obj.yaml
+++ /dev/null
@@ -1,297 +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: '{"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/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_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_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_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
deleted file mode 100644
index e8651334f..000000000
--- a/tests/unit/storage/test_aws.py
+++ /dev/null
@@ -1,96 +0,0 @@
-import gzip
-from io import BytesIO
-
-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
- with pytest.raises(FileNotInStorageError):
- storage.read_file(bucket_name=bucket_name, path=path)
diff --git a/tests/unit/storage/test_fallback.py b/tests/unit/storage/test_fallback.py
deleted file mode 100644
index 50399e764..000000000
--- a/tests/unit/storage/test_fallback.py
+++ /dev/null
@@ -1,141 +0,0 @@
-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)
- 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 test_delete_file_doesnt_exist(self, request, codecov_vcr, storage_service):
- storage = storage_service
- path = f"{request.node.name}/result.txt"
- bucket_name = "testingarchive20190210001"
- with pytest.raises(FileNotInStorageError):
- storage.delete_file(bucket_name, path)
diff --git a/tests/unit/storage/test_gcp.py b/tests/unit/storage/test_gcp.py
deleted file mode 100644
index 31a4b52d9..000000000
--- a/tests/unit/storage/test_gcp.py
+++ /dev/null
@@ -1,200 +0,0 @@
-import gzip
-import io
-import tempfile
-from unittest.mock import MagicMock, patch
-
-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 á"
- )
-
- 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)
- 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)
-
- def test_delete_file_doesnt_exist(self, request, codecov_vcr):
- storage = GCPStorageService(gcp_config)
- path = f"{request.node.name}/result.txt"
- bucket_name = "testingarchive004"
- with pytest.raises(FileNotInStorageError):
- storage.delete_file(bucket_name, path)
-
- @patch("shared.storage.gcp.storage")
- def test_read_file_retry_success(self, mock_storage, mocker):
- mock_blob = MagicMock(
- name="fake_blob",
- download_as_bytes=MagicMock(
- side_effect=[
- DataCorruption(response="checksum match failed"),
- b"contents",
- ]
- ),
- )
- mocker.patch(
- "shared.storage.gcp.GCPStorageService.get_blob", return_value=mock_blob
- )
-
- storage = GCPStorageService(gcp_config)
- mock_storage.Client.assert_called()
- 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, mocker):
- mock_blob = MagicMock(
- name="fake_blob",
- download_as_bytes=MagicMock(
- side_effect=[
- DataCorruption(response="checksum match failed"),
- DataCorruption(response="checksum match failed"),
- ]
- ),
- )
- mocker.patch(
- "shared.storage.gcp.GCPStorageService.get_blob", return_value=mock_blob
- )
-
- storage = GCPStorageService(gcp_config)
- mock_storage.Client.assert_called()
- with pytest.raises(DataCorruption):
- storage.read_file("root_bucket", "path/to/blob", None)
diff --git a/tests/unit/storage/test_memory.py b/tests/unit/storage/test_memory.py
index f96f68e53..cdef08fb8 100644
--- a/tests/unit/storage/test_memory.py
+++ b/tests/unit/storage/test_memory.py
@@ -1,84 +1,100 @@
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"
- with pytest.raises(FileNotInStorageError):
- storage.delete_file(bucket_name, path)
+
+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)
diff --git a/tests/unit/storage/test_minio.py b/tests/unit/storage/test_minio.py
index b4c7a5b8a..0c604ffd5 100644
--- a/tests/unit/storage/test_minio.py
+++ b/tests/unit/storage/test_minio.py
@@ -1,164 +1,331 @@
-import os
+import gzip
import tempfile
+from io import BytesIO
+from uuid import uuid4
import pytest
+import zstandard
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)
-
- """
- 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 = {
+from shared.storage.minio import MinioStorageService, zstd_decoded_by_default
+
+BUCKET_NAME = "archivetest"
+
+
+def test_zstd_by_default():
+ assert not zstd_decoded_by_default()
+
+
+def test_gzip_stream_compression():
+ data = "lorem ipsum dolor test_write_then_read_file á"
+
+ split_data = [data[i : i + 5] for i in range(0, len(data), 5)]
+
+ compressed_pieces: list[bytes] = [
+ gzip.compress(piece.encode()) for piece in split_data
+ ]
+
+ assert gzip.decompress(b"".join(compressed_pieces)) == data.encode()
+
+
+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):
- 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
- assert storage.minio_client._base_url._url.port is None
-
- def test_minio_with_ports(self):
- 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
- assert storage.minio_client._base_url.region is None
-
- def test_minio_with_region(self):
- 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
- assert storage.minio_client._base_url.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_already_gzipped():
+ storage = make_storage()
+ path = f"test_write_then_read_file_already_gzipped/{uuid4().hex}"
+ data = BytesIO(
+ gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
+ )
+
+ ensure_bucket(storage)
+ 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 á"
+
+
+def test_write_then_read_file_already_zstd():
+ storage = make_storage()
+ path = f"test_write_then_read_file_already_zstd/{uuid4().hex}"
+ data = BytesIO(
+ zstandard.compress("lorem ipsum dolor test_write_then_read_file á".encode())
+ )
+
+ ensure_bucket(storage)
+ writing_result = storage.write_file(
+ BUCKET_NAME, path, data, compression_type="zstd", is_compressed=True
+ )
+ assert writing_result
+ reading_result = storage.read_file(BUCKET_NAME, path)
+ assert reading_result.decode() == "lorem ipsum dolor test_write_then_read_file á"
+
+
+def test_write_then_read_file_obj():
+ storage = make_storage()
+ path = f"test_write_then_read_file/{uuid4().hex}"
+ data = "lorem ipsum dolor test_write_then_read_file á"
+
+ 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_write_then_read_file_obj_gzip():
+ storage = make_storage()
+ path = f"test_write_then_read_file_gzip/{uuid4().hex}"
+ data = "lorem ipsum dolor test_write_then_read_file á"
+
+ 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, compression_type="gzip"
+ )
+ 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_write_then_read_file_obj_no_compression():
+ storage = make_storage()
+ path = f"test_write_then_read_file_no_compression/{uuid4().hex}"
+ data = "lorem ipsum dolor test_write_then_read_file á"
+
+ 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, compression_type=None)
+ 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_write_then_read_file_obj_x_gzip():
+ storage = make_storage()
+ path = f"test_write_then_read_file_obj_x_gzip/{uuid4().hex}"
+ compressed = gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
+ outsize = len(compressed)
+ data = BytesIO(compressed)
+
+ ensure_bucket(storage)
+
+ headers = {"Content-Encoding": "gzip"}
+ storage.minio_client.put_object(
+ BUCKET_NAME,
+ path,
+ data,
+ content_type="application/x-gzip",
+ metadata=headers,
+ length=outsize,
+ )
+
+ _, 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() == "lorem ipsum dolor test_write_then_read_file á"
+
+
+def test_write_then_read_file_obj_already_gzipped():
+ storage = make_storage()
+ path = f"test_write_then_read_file_obj_already_gzipped/{uuid4().hex}"
+ data = BytesIO(
+ gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
+ )
+
+ ensure_bucket(storage)
+
+ _, local_path = tempfile.mkstemp()
+ with open(local_path, "wb") as f:
+ f.write(data.getvalue())
+ with open(local_path, "rb") as f:
+ writing_result = storage.write_file(
+ BUCKET_NAME, path, f, is_already_gzipped=True
+ )
+ 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() == "lorem ipsum dolor test_write_then_read_file á"
+
+
+def test_write_then_read_file_obj_already_zstd():
+ storage = make_storage()
+ path = f"test_write_then_read_file_obj_already_zstd/{uuid4().hex}"
+ data = BytesIO(
+ zstandard.compress("lorem ipsum dolor test_write_then_read_file á".encode())
+ )
+
+ ensure_bucket(storage)
+
+ _, local_path = tempfile.mkstemp()
+ with open(local_path, "wb") as f:
+ f.write(data.getvalue())
+ with open(local_path, "rb") as f:
+ writing_result = storage.write_file(
+ BUCKET_NAME, path, f, is_compressed=True, compression_type="zstd"
+ )
+ 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() == "lorem ipsum dolor test_write_then_read_file á"
+
+
+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)
+ try:
+ storage.delete_file(BUCKET_NAME, path)
+ except FileNotInStorageError:
+ pass
+
+
+def test_minio_without_ports():
+ 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
+ assert storage.minio_client._base_url._url.port is None
+
+
+def test_minio_with_ports():
+ 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
+ assert storage.minio_client._base_url.region is None
+
+
+def test_minio_with_region():
+ 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
+ assert storage.minio_client._base_url.region == "example"
diff --git a/tests/unit/storage/test_new_minio.py b/tests/unit/storage/test_new_minio.py
deleted file mode 100644
index 57b8587fe..000000000
--- a/tests/unit/storage/test_new_minio.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import gzip
-import tempfile
-from io import BytesIO
-from uuid import uuid4
-
-import pytest
-import zstandard
-
-from shared.storage.exceptions import BucketAlreadyExistsError, FileNotInStorageError
-from shared.storage.minio import MinioStorageService, zstd_decoded_by_default
-
-BUCKET_NAME = "archivetest"
-
-
-def test_zstd_by_default():
- assert not zstd_decoded_by_default()
-
-
-def test_gzip_stream_compression():
- data = "lorem ipsum dolor test_write_then_read_file á"
-
- split_data = [data[i : i + 5] for i in range(0, len(data), 5)]
-
- compressed_pieces: list[bytes] = [
- gzip.compress(piece.encode()) for piece in split_data
- ]
-
- assert gzip.decompress(b"".join(compressed_pieces)) == data.encode()
-
-
-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": False,
- "iam_endpoint": None,
- }
- )
-
-
-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)
-
-
-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_already_gzipped():
- storage = make_storage()
- path = f"test_write_then_read_file_already_gzipped/{uuid4().hex}"
- data = BytesIO(
- gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
- )
-
- ensure_bucket(storage)
- 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 á"
-
-
-def test_write_then_read_file_already_zstd():
- storage = make_storage()
- path = f"test_write_then_read_file_already_zstd/{uuid4().hex}"
- data = BytesIO(
- zstandard.compress("lorem ipsum dolor test_write_then_read_file á".encode())
- )
-
- ensure_bucket(storage)
- writing_result = storage.write_file(
- BUCKET_NAME, path, data, compression_type="zstd", is_compressed=True
- )
- assert writing_result
- reading_result = storage.read_file(BUCKET_NAME, path)
- assert reading_result.decode() == "lorem ipsum dolor test_write_then_read_file á"
-
-
-def test_write_then_read_file_obj():
- storage = make_storage()
- path = f"test_write_then_read_file/{uuid4().hex}"
- data = "lorem ipsum dolor test_write_then_read_file á"
-
- 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_write_then_read_file_obj_gzip():
- storage = make_storage()
- path = f"test_write_then_read_file_gzip/{uuid4().hex}"
- data = "lorem ipsum dolor test_write_then_read_file á"
-
- 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, compression_type="gzip"
- )
- 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_write_then_read_file_obj_no_compression():
- storage = make_storage()
- path = f"test_write_then_read_file_no_compression/{uuid4().hex}"
- data = "lorem ipsum dolor test_write_then_read_file á"
-
- 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, compression_type=None)
- 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_write_then_read_file_obj_x_gzip():
- storage = make_storage()
- path = f"test_write_then_read_file_obj_x_gzip/{uuid4().hex}"
- compressed = gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
- outsize = len(compressed)
- data = BytesIO(compressed)
-
- ensure_bucket(storage)
-
- headers = {"Content-Encoding": "gzip"}
- storage.minio_client.put_object(
- BUCKET_NAME,
- path,
- data,
- content_type="application/x-gzip",
- metadata=headers,
- length=outsize,
- )
-
- _, 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() == "lorem ipsum dolor test_write_then_read_file á"
-
-
-def test_write_then_read_file_obj_already_gzipped():
- storage = make_storage()
- path = f"test_write_then_read_file_obj_already_gzipped/{uuid4().hex}"
- data = BytesIO(
- gzip.compress("lorem ipsum dolor test_write_then_read_file á".encode())
- )
-
- ensure_bucket(storage)
-
- _, local_path = tempfile.mkstemp()
- with open(local_path, "wb") as f:
- f.write(data.getvalue())
- with open(local_path, "rb") as f:
- writing_result = storage.write_file(
- BUCKET_NAME, path, f, is_already_gzipped=True
- )
- 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() == "lorem ipsum dolor test_write_then_read_file á"
-
-
-def test_write_then_read_file_obj_already_zstd():
- storage = make_storage()
- path = f"test_write_then_read_file_obj_already_zstd/{uuid4().hex}"
- data = BytesIO(
- zstandard.compress("lorem ipsum dolor test_write_then_read_file á".encode())
- )
-
- ensure_bucket(storage)
-
- _, local_path = tempfile.mkstemp()
- with open(local_path, "wb") as f:
- f.write(data.getvalue())
- with open(local_path, "rb") as f:
- writing_result = storage.write_file(
- BUCKET_NAME, path, f, is_compressed=True, compression_type="zstd"
- )
- 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() == "lorem ipsum dolor test_write_then_read_file á"
-
-
-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_minio_without_ports():
- 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
- assert storage.minio_client._base_url._url.port is None
-
-
-def test_minio_with_ports():
- 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
- assert storage.minio_client._base_url.region is None
-
-
-def test_minio_with_region():
- 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
- assert storage.minio_client._base_url.region == "example"