boto / s3transfer

Amazon S3 Transfer Manager for Python
Apache License 2.0
209 stars 133 forks source link

0.5.2: pytest is failing #235

Closed kloczek closed 2 years ago

kloczek commented 2 years ago

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-s3transfer-0.5.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-s3transfer-0.5.2-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --ignore tests/integration
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/s3transfer-0.5.2, configfile: pyproject.toml
collected 621 items

tests/functional/test_copy.py F................................                                                                                                      [  5%]
tests/functional/test_crt.py sssssss                                                                                                                                 [  6%]
tests/functional/test_delete.py .......                                                                                                                              [  7%]
tests/functional/test_download.py F.........F....................F...........                                                                                        [ 14%]
tests/functional/test_manager.py ........                                                                                                                            [ 15%]
tests/functional/test_processpool.py ............                                                                                                                    [ 17%]
tests/functional/test_upload.py F.............F.....F.........                                                                                                       [ 22%]
tests/functional/test_utils.py ...                                                                                                                                   [ 23%]
tests/unit/test_bandwidth.py ....................................                                                                                                    [ 28%]
tests/unit/test_compat.py ........                                                                                                                                   [ 30%]
tests/unit/test_copies.py ......                                                                                                                                     [ 31%]
tests/unit/test_crt.py ssssssss                                                                                                                                      [ 32%]
tests/unit/test_delete.py ..                                                                                                                                         [ 32%]
tests/unit/test_download.py ..................................................................                                                                       [ 43%]
tests/unit/test_futures.py .........................................................                                                                                 [ 52%]
tests/unit/test_manager.py .........                                                                                                                                 [ 53%]
tests/unit/test_processpool.py ...................................................                                                                                   [ 62%]
tests/unit/test_s3transfer.py .........................................................                                                                              [ 71%]
tests/unit/test_subscribers.py ........                                                                                                                              [ 72%]
tests/unit/test_tasks.py ...............................                                                                                                             [ 77%]
tests/unit/test_upload.py ...............................................                                                                                            [ 85%]
tests/unit/test_utils.py ............................................................................................                                                [100%]

================================================================================= FAILURES =================================================================================
_________________________________________________________ TestNonMultipartCopy.test_allowed_copy_params_are_valid __________________________________________________________

self = <tests.functional.test_copy.TestNonMultipartCopy testMethod=test_allowed_copy_params_are_valid>

    def test_allowed_copy_params_are_valid(self):
        op_model = self.client.meta.service_model.operation_model('CopyObject')
        for allowed_upload_arg in self._manager.ALLOWED_COPY_ARGS:
>           self.assertIn(allowed_upload_arg, op_model.input_shape.members)
E           AssertionError: 'ChecksumAlgorithm' not found in OrderedDict([('ACL', <StringShape(ObjectCannedACL)>), ('Bucket', <StringShape(BucketName)>), ('CacheControl', <StringShape(CacheControl)>), ('ContentDisposition', <StringShape(ContentDisposition)>), ('ContentEncoding', <StringShape(ContentEncoding)>), ('ContentLanguage', <StringShape(ContentLanguage)>), ('ContentType', <StringShape(ContentType)>), ('CopySource', <StringShape(CopySource)>), ('CopySourceIfMatch', <StringShape(CopySourceIfMatch)>), ('CopySourceIfModifiedSince', <Shape(CopySourceIfModifiedSince)>), ('CopySourceIfNoneMatch', <StringShape(CopySourceIfNoneMatch)>), ('CopySourceIfUnmodifiedSince', <Shape(CopySourceIfUnmodifiedSince)>), ('Expires', <Shape(Expires)>), ('GrantFullControl', <StringShape(GrantFullControl)>), ('GrantRead', <StringShape(GrantRead)>), ('GrantReadACP', <StringShape(GrantReadACP)>), ('GrantWriteACP', <StringShape(GrantWriteACP)>), ('Key', <StringShape(ObjectKey)>), ('Metadata', <MapShape(Metadata)>), ('MetadataDirective', <StringShape(MetadataDirective)>), ('TaggingDirective', <StringShape(TaggingDirective)>), ('ServerSideEncryption', <StringShape(ServerSideEncryption)>), ('StorageClass', <StringShape(StorageClass)>), ('WebsiteRedirectLocation', <StringShape(WebsiteRedirectLocation)>), ('SSECustomerAlgorithm', <StringShape(SSECustomerAlgorithm)>), ('SSECustomerKey', <StringShape(SSECustomerKey)>), ('SSECustomerKeyMD5', <StringShape(SSECustomerKeyMD5)>), ('SSEKMSKeyId', <StringShape(SSEKMSKeyId)>), ('SSEKMSEncryptionContext', <StringShape(SSEKMSEncryptionContext)>), ('BucketKeyEnabled', <Shape(BucketKeyEnabled)>), ('CopySourceSSECustomerAlgorithm', <StringShape(CopySourceSSECustomerAlgorithm)>), ('CopySourceSSECustomerKey', <StringShape(CopySourceSSECustomerKey)>), ('CopySourceSSECustomerKeyMD5', <StringShape(CopySourceSSECustomerKeyMD5)>), ('RequestPayer', <StringShape(RequestPayer)>), ('Tagging', <StringShape(TaggingHeader)>), ('ObjectLockMode', <StringShape(ObjectLockMode)>), ('ObjectLockRetainUntilDate', <Shape(ObjectLockRetainUntilDate)>), ('ObjectLockLegalHoldStatus', <StringShape(ObjectLockLegalHoldStatus)>), ('ExpectedBucketOwner', <StringShape(AccountId)>), ('ExpectedSourceBucketOwner', <StringShape(AccountId)>)])

tests/functional/test_copy.py:257: AssertionError
_________________________________________________________ TestNonRangedDownload.test_allowed_copy_params_are_valid _________________________________________________________

self = <tests.functional.test_download.TestNonRangedDownload testMethod=test_allowed_copy_params_are_valid>

    def test_allowed_copy_params_are_valid(self):
        op_model = self.client.meta.service_model.operation_model('GetObject')
        for allowed_upload_arg in self._manager.ALLOWED_DOWNLOAD_ARGS:
>           self.assertIn(allowed_upload_arg, op_model.input_shape.members)
E           AssertionError: 'ChecksumMode' not found in OrderedDict([('Bucket', <StringShape(BucketName)>), ('IfMatch', <StringShape(IfMatch)>), ('IfModifiedSince', <Shape(IfModifiedSince)>), ('IfNoneMatch', <StringShape(IfNoneMatch)>), ('IfUnmodifiedSince', <Shape(IfUnmodifiedSince)>), ('Key', <StringShape(ObjectKey)>), ('Range', <StringShape(Range)>), ('ResponseCacheControl', <StringShape(ResponseCacheControl)>), ('ResponseContentDisposition', <StringShape(ResponseContentDisposition)>), ('ResponseContentEncoding', <StringShape(ResponseContentEncoding)>), ('ResponseContentLanguage', <StringShape(ResponseContentLanguage)>), ('ResponseContentType', <StringShape(ResponseContentType)>), ('ResponseExpires', <Shape(ResponseExpires)>), ('VersionId', <StringShape(ObjectVersionId)>), ('SSECustomerAlgorithm', <StringShape(SSECustomerAlgorithm)>), ('SSECustomerKey', <StringShape(SSECustomerKey)>), ('SSECustomerKeyMD5', <StringShape(SSECustomerKeyMD5)>), ('RequestPayer', <StringShape(RequestPayer)>), ('PartNumber', <Shape(PartNumber)>), ('ExpectedBucketOwner', <StringShape(AccountId)>)])

tests/functional/test_download.py:404: AssertionError
________________________________________________________ TestNonRangedDownload.test_download_with_checksum_enabled _________________________________________________________

self = <tests.functional.test_download.TestNonRangedDownload testMethod=test_download_with_checksum_enabled>

    def test_download_with_checksum_enabled(self):
        self.extra_args['ChecksumMode'] = 'ENABLED'
        expected_params = {
            'Bucket': self.bucket,
            'Key': self.key,
            'ChecksumMode': 'ENABLED',
        }
        self.add_head_object_response(expected_params)
        self.add_successful_get_object_responses(expected_params)
        future = self.manager.download(
            self.bucket, self.key, self.filename, self.extra_args
        )
>       future.result()

tests/functional/test_download.py:395:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s3transfer/futures.py:103: in result
    return self._coordinator.result()
s3transfer/futures.py:266: in result
    raise self._exception
s3transfer/tasks.py:269: in _main
    self._submit(transfer_future=transfer_future, **kwargs)
s3transfer/download.py:354: in _submit
    response = client.head_object(
/usr/lib/python3.8/site-packages/botocore/client.py:391: in _api_call
    return self._make_api_call(operation_name, kwargs)
/usr/lib/python3.8/site-packages/botocore/client.py:691: in _make_api_call
    request_dict = self._convert_to_request_dict(
/usr/lib/python3.8/site-packages/botocore/client.py:739: in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <botocore.validate.ParamValidationDecorator object at 0x7fb1c5a95670>, parameters = {'Bucket': 'mybucket', 'ChecksumMode': 'ENABLED', 'Key': 'mykey'}
operation_model = OperationModel(name=HeadObject)

    def serialize_to_request(self, parameters, operation_model):
        input_shape = operation_model.input_shape
        if input_shape is not None:
            report = self._param_validator.validate(parameters,
                                                    operation_model.input_shape)
            if report.has_errors():
>               raise ParamValidationError(report=report.generate_report())
E               botocore.exceptions.ParamValidationError: Parameter validation failed:
E               Unknown parameter in input: "ChecksumMode", must be one of: Bucket, IfMatch, IfModifiedSince, IfNoneMatch, IfUnmodifiedSince, Key, Range, VersionId, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, RequestPayer, PartNumber, ExpectedBucketOwner

/usr/lib/python3.8/site-packages/botocore/validate.py:360: ParamValidationError
__________________________________________________________ TestRangedDownload.test_download_with_checksum_enabled __________________________________________________________

self = <tests.functional.test_download.TestRangedDownload testMethod=test_download_with_checksum_enabled>

    def test_download_with_checksum_enabled(self):
        self.extra_args['ChecksumMode'] = 'ENABLED'
        expected_params = {
            'Bucket': self.bucket,
            'Key': self.key,
            'ChecksumMode': 'ENABLED',
        }
        expected_ranges = ['bytes=0-3', 'bytes=4-7', 'bytes=8-']
        self.add_head_object_response(expected_params)
        self.add_successful_get_object_responses(
            expected_params, expected_ranges
        )

        future = self.manager.download(
            self.bucket, self.key, self.filename, self.extra_args
        )
>       future.result()

tests/functional/test_download.py:533:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s3transfer/futures.py:103: in result
    return self._coordinator.result()
s3transfer/futures.py:266: in result
    raise self._exception
s3transfer/tasks.py:269: in _main
    self._submit(transfer_future=transfer_future, **kwargs)
s3transfer/download.py:354: in _submit
    response = client.head_object(
/usr/lib/python3.8/site-packages/botocore/client.py:391: in _api_call
    return self._make_api_call(operation_name, kwargs)
/usr/lib/python3.8/site-packages/botocore/client.py:691: in _make_api_call
    request_dict = self._convert_to_request_dict(
/usr/lib/python3.8/site-packages/botocore/client.py:739: in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <botocore.validate.ParamValidationDecorator object at 0x7fb1c5b6da90>, parameters = {'Bucket': 'mybucket', 'ChecksumMode': 'ENABLED', 'Key': 'mykey'}
operation_model = OperationModel(name=HeadObject)

    def serialize_to_request(self, parameters, operation_model):
        input_shape = operation_model.input_shape
        if input_shape is not None:
            report = self._param_validator.validate(parameters,
                                                    operation_model.input_shape)
            if report.has_errors():
>               raise ParamValidationError(report=report.generate_report())
E               botocore.exceptions.ParamValidationError: Parameter validation failed:
E               Unknown parameter in input: "ChecksumMode", must be one of: Bucket, IfMatch, IfModifiedSince, IfNoneMatch, IfUnmodifiedSince, Key, Range, VersionId, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, RequestPayer, PartNumber, ExpectedBucketOwner

/usr/lib/python3.8/site-packages/botocore/validate.py:360: ParamValidationError
_______________________________________________________ TestNonMultipartUpload.test_allowed_upload_params_are_valid ________________________________________________________

self = <tests.functional.test_upload.TestNonMultipartUpload testMethod=test_allowed_upload_params_are_valid>

    def test_allowed_upload_params_are_valid(self):
        op_model = self.client.meta.service_model.operation_model('PutObject')
        for allowed_upload_arg in self._manager.ALLOWED_UPLOAD_ARGS:
>           self.assertIn(allowed_upload_arg, op_model.input_shape.members)
E           AssertionError: 'ChecksumAlgorithm' not found in OrderedDict([('ACL', <StringShape(ObjectCannedACL)>), ('Body', <Shape(Body)>), ('Bucket', <StringShape(BucketName)>), ('CacheControl', <StringShape(CacheControl)>), ('ContentDisposition', <StringShape(ContentDisposition)>), ('ContentEncoding', <StringShape(ContentEncoding)>), ('ContentLanguage', <StringShape(ContentLanguage)>), ('ContentLength', <Shape(ContentLength)>), ('ContentMD5', <StringShape(ContentMD5)>), ('ContentType', <StringShape(ContentType)>), ('Expires', <Shape(Expires)>), ('GrantFullControl', <StringShape(GrantFullControl)>), ('GrantRead', <StringShape(GrantRead)>), ('GrantReadACP', <StringShape(GrantReadACP)>), ('GrantWriteACP', <StringShape(GrantWriteACP)>), ('Key', <StringShape(ObjectKey)>), ('Metadata', <MapShape(Metadata)>), ('ServerSideEncryption', <StringShape(ServerSideEncryption)>), ('StorageClass', <StringShape(StorageClass)>), ('WebsiteRedirectLocation', <StringShape(WebsiteRedirectLocation)>), ('SSECustomerAlgorithm', <StringShape(SSECustomerAlgorithm)>), ('SSECustomerKey', <StringShape(SSECustomerKey)>), ('SSECustomerKeyMD5', <StringShape(SSECustomerKeyMD5)>), ('SSEKMSKeyId', <StringShape(SSEKMSKeyId)>), ('SSEKMSEncryptionContext', <StringShape(SSEKMSEncryptionContext)>), ('BucketKeyEnabled', <Shape(BucketKeyEnabled)>), ('RequestPayer', <StringShape(RequestPayer)>), ('Tagging', <StringShape(TaggingHeader)>), ('ObjectLockMode', <StringShape(ObjectLockMode)>), ('ObjectLockRetainUntilDate', <Shape(ObjectLockRetainUntilDate)>), ('ObjectLockLegalHoldStatus', <StringShape(ObjectLockLegalHoldStatus)>), ('ExpectedBucketOwner', <StringShape(AccountId)>)])

tests/functional/test_upload.py:264: AssertionError
_____________________________________________________________ TestNonMultipartUpload.test_upload_with_checksum _____________________________________________________________

self = <tests.functional.test_upload.TestNonMultipartUpload testMethod=test_upload_with_checksum>

    def test_upload_with_checksum(self):
        self.extra_args['ChecksumAlgorithm'] = 'crc32'
        self.add_put_object_response_with_default_expected_params(
            extra_expected_params={'ChecksumAlgorithm': 'crc32'}
        )
        future = self.manager.upload(
            self.filename, self.bucket, self.key, self.extra_args
        )
>       future.result()

tests/functional/test_upload.py:177:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s3transfer/futures.py:103: in result
    return self._coordinator.result()
s3transfer/futures.py:266: in result
    raise self._exception
s3transfer/tasks.py:139: in __call__
    return self._execute_main(kwargs)
s3transfer/tasks.py:162: in _execute_main
    return_value = self._main(**kwargs)
s3transfer/upload.py:758: in _main
    client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)
/usr/lib/python3.8/site-packages/botocore/client.py:391: in _api_call
    return self._make_api_call(operation_name, kwargs)
/usr/lib/python3.8/site-packages/botocore/client.py:691: in _make_api_call
    request_dict = self._convert_to_request_dict(
/usr/lib/python3.8/site-packages/botocore/client.py:739: in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <botocore.validate.ParamValidationDecorator object at 0x7fb1c5dcf4c0>
parameters = {'Body': <s3transfer.utils.ReadFileChunk object at 0x7fb1c6d23610>, 'Bucket': 'mybucket', 'ChecksumAlgorithm': 'crc32', 'Key': 'mykey'}
operation_model = OperationModel(name=PutObject)

    def serialize_to_request(self, parameters, operation_model):
        input_shape = operation_model.input_shape
        if input_shape is not None:
            report = self._param_validator.validate(parameters,
                                                    operation_model.input_shape)
            if report.has_errors():
>               raise ParamValidationError(report=report.generate_report())
E               botocore.exceptions.ParamValidationError: Parameter validation failed:
E               Unknown parameter in input: "ChecksumAlgorithm", must be one of: ACL, Body, Bucket, CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentLength, ContentMD5, ContentType, Expires, GrantFullControl, GrantRead, GrantReadACP, GrantWriteACP, Key, Metadata, ServerSideEncryption, StorageClass, WebsiteRedirectLocation, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, SSEKMSKeyId, SSEKMSEncryptionContext, BucketKeyEnabled, RequestPayer, Tagging, ObjectLockMode, ObjectLockRetainUntilDate, ObjectLockLegalHoldStatus, ExpectedBucketOwner

/usr/lib/python3.8/site-packages/botocore/validate.py:360: ParamValidationError
________________________________________________________ TestMultipartUpload.test_multipart_upload_passes_checksums ________________________________________________________

self = <tests.functional.test_upload.TestMultipartUpload testMethod=test_multipart_upload_passes_checksums>

    def test_multipart_upload_passes_checksums(self):
        self.extra_args['ChecksumAlgorithm'] = 'sha1'

        # ChecksumAlgorithm should be passed on the create_multipart call
        self.add_create_multipart_response_with_default_expected_params(
            extra_expected_params={'ChecksumAlgorithm': 'sha1'},
        )

        # ChecksumAlgorithm should be forwarded and a SHA1 will come back
>       self.add_upload_part_responses_with_default_expected_params(
            extra_expected_params={'ChecksumAlgorithm': 'sha1'},
        )

tests/functional/test_upload.py:568:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/functional/test_upload.py:378: in add_upload_part_responses_with_default_expected_params
    self.stubber.add_response(**upload_part_response)
/usr/lib/python3.8/site-packages/botocore/stub.py:228: in add_response
    self._add_response(method, service_response, expected_params)
/usr/lib/python3.8/site-packages/botocore/stub.py:240: in _add_response
    self._validate_response(operation_name, service_response)
/usr/lib/python3.8/site-packages/botocore/stub.py:390: in _validate_response
    validate_parameters(response, output_shape)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

params = {'ChecksumSHA1': 'sum1==', 'ETag': 'etag-1'}, shape = <StructureShape(UploadPartOutput)>

    def validate_parameters(params, shape):
        """Validates input parameters against a schema.

        This is a convenience function that validates parameters against a schema.
        You can also instantiate and use the ParamValidator class directly if you
        want more control.

        If there are any validation errors then a ParamValidationError
        will be raised.  If there are no validation errors than no exception
        is raised and a value of None is returned.

        :param params: The user provided input parameters.

        :type shape: botocore.model.Shape
        :param shape: The schema which the input parameters should
            adhere to.

        :raise: ParamValidationError

        """
        validator = ParamValidator()
        report = validator.validate(params, shape)
        if report.has_errors():
>           raise ParamValidationError(report=report.generate_report())
E           botocore.exceptions.ParamValidationError: Parameter validation failed:
E           Unknown parameter in input: "ChecksumSHA1", must be one of: ServerSideEncryption, ETag, SSECustomerAlgorithm, SSECustomerKeyMD5, SSEKMSKeyId, BucketKeyEnabled, RequestCharged

/usr/lib/python3.8/site-packages/botocore/validate.py:49: ParamValidationError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/functional/test_crt.py:186: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:220: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:259: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:164: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:132: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:237: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:110: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:89: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:69: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:49: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:123: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:131: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:159: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:169: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:164: Test requires awscrt to be installed.
FAILED tests/functional/test_copy.py::TestNonMultipartCopy::test_allowed_copy_params_are_valid - AssertionError: 'ChecksumAlgorithm' not found in OrderedDict([('ACL', <S...
FAILED tests/functional/test_download.py::TestNonRangedDownload::test_allowed_copy_params_are_valid - AssertionError: 'ChecksumMode' not found in OrderedDict([('Bucket',...
FAILED tests/functional/test_download.py::TestNonRangedDownload::test_download_with_checksum_enabled - botocore.exceptions.ParamValidationError: Parameter validation fai...
FAILED tests/functional/test_download.py::TestRangedDownload::test_download_with_checksum_enabled - botocore.exceptions.ParamValidationError: Parameter validation failed:
FAILED tests/functional/test_upload.py::TestNonMultipartUpload::test_allowed_upload_params_are_valid - AssertionError: 'ChecksumAlgorithm' not found in OrderedDict([('AC...
FAILED tests/functional/test_upload.py::TestNonMultipartUpload::test_upload_with_checksum - botocore.exceptions.ParamValidationError: Parameter validation failed:
FAILED tests/functional/test_upload.py::TestMultipartUpload::test_multipart_upload_passes_checksums - botocore.exceptions.ParamValidationError: Parameter validation failed:
================================================================ 7 failed, 599 passed, 15 skipped in 34.65s ================================================================
kloczek commented 2 years ago

Just tested 0.6.0 and test suite looks now OK. Thank you and closing 👍

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-s3transfer-0.6.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-s3transfer-0.6.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --ignore tests/integration
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/s3transfer-0.6.0, configfile: pyproject.toml
collected 621 items

tests/functional/test_copy.py .................................                                                                                                      [  5%]
tests/functional/test_crt.py sssssss                                                                                                                                 [  6%]
tests/functional/test_delete.py .......                                                                                                                              [  7%]
tests/functional/test_download.py ...........................................                                                                                        [ 14%]
tests/functional/test_manager.py ........                                                                                                                            [ 15%]
tests/functional/test_processpool.py ............                                                                                                                    [ 17%]
tests/functional/test_upload.py ..............................                                                                                                       [ 22%]
tests/functional/test_utils.py ...                                                                                                                                   [ 23%]
tests/unit/test_bandwidth.py ....................................                                                                                                    [ 28%]
tests/unit/test_compat.py ........                                                                                                                                   [ 30%]
tests/unit/test_copies.py ......                                                                                                                                     [ 31%]
tests/unit/test_crt.py ssssssss                                                                                                                                      [ 32%]
tests/unit/test_delete.py ..                                                                                                                                         [ 32%]
tests/unit/test_download.py ..................................................................                                                                       [ 43%]
tests/unit/test_futures.py .........................................................                                                                                 [ 52%]
tests/unit/test_manager.py .........                                                                                                                                 [ 53%]
tests/unit/test_processpool.py ...................................................                                                                                   [ 62%]
tests/unit/test_s3transfer.py .........................................................                                                                              [ 71%]
tests/unit/test_subscribers.py ........                                                                                                                              [ 72%]
tests/unit/test_tasks.py ...............................                                                                                                             [ 77%]
tests/unit/test_upload.py ...............................................                                                                                            [ 85%]
tests/unit/test_utils.py ............................................................................................                                                [100%]

========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/functional/test_crt.py:186: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:220: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:259: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:164: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:132: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:237: Test requires awscrt to be installed.
SKIPPED [1] tests/functional/test_crt.py:110: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:89: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:69: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:49: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:123: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:131: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:159: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:169: Test requires awscrt to be installed.
SKIPPED [1] tests/unit/test_crt.py:164: Test requires awscrt to be installed.
===================================================================== 606 passed, 15 skipped in 33.57s =====================================================================