If S3 server does not support versioning, then teardown fails on every test. Teardown uses client.list_object_versions which throws exception on S3 servers without versioning support.
|
for objects in list_versions(client, bucket, batch_size): |
s3tests_boto3/functional/__init__.py:320:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s3tests_boto3/functional/__init__.py:290: in teardown
nuke_prefixed_buckets(prefix=prefix)
s3tests_boto3/functional/__init__.py:164: in nuke_prefixed_buckets
raise err
s3tests_boto3/functional/__init__.py:155: in nuke_prefixed_buckets
nuke_bucket(client, bucket_name)
s3tests_boto3/functional/__init__.py:108: in nuke_bucket
for objects in list_versions(client, bucket, batch_size):
s3tests_boto3/functional/__init__.py:93: in list_versions
MaxKeys=batch_size)
.tox/py/lib/python3.7/site-packages/botocore/client.py:530: in _api_call
return self._make_api_call(operation_name, kwargs)
...
if http.status_code >= 300:
error_code = parsed_response.get("Error", {}).get("Code")
error_class = self.exceptions.from_code(error_code)
> raise error_class(parsed_response, operation_name)
E botocore.exceptions.ClientError: An error occurred (NotImplemented) when calling the ListObjectVersions operation: Subresources not implemented
Teardown might be a bit smarter and use list_objects if bucket versioning is disabled.
If S3 server does not support versioning, then teardown fails on every test. Teardown uses
client.list_object_versionswhich throws exception on S3 servers without versioning support.s3-tests/s3tests_boto3/functional/__init__.py
Line 108 in b147201
Teardown might be a bit smarter and use
list_objectsif bucket versioning is disabled.