From 9b17da16cd77e09482e6b8636f03b514477ceef0 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Sat, 23 Aug 2014 15:52:19 -0700 Subject: [PATCH] Test to find mismatched MD5 Also clarify the invalid digest test. --- s3tests/functional/test_headers.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index 7eea631..e660104 100644 --- a/s3tests/functional/test_headers.py +++ b/s3tests/functional/test_headers.py @@ -176,10 +176,10 @@ def test_object_create_bad_md5_invalid(): @attr(resource='object') @attr(method='put') -@attr(operation='create w/incorrect MD5') +@attr(operation='create w/invalid MD5') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) -def test_object_create_bad_md5_wrong(): +def test_object_create_bad_md5_invalid(): key = _setup_bad_object({'Content-MD5':'YWJyYWNhZGFicmE='}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') @@ -188,6 +188,20 @@ def test_object_create_bad_md5_wrong(): eq(e.error_code, 'InvalidDigest') +@attr(resource='object') +@attr(method='put') +@attr(operation='create w/mismatched MD5') +@attr(assertion='fails 400') +@nose.with_setup(teardown=_clear_custom_headers) +def test_object_create_bad_md5_bad(): + key = _setup_bad_object({'Content-MD5':'rL0Y20zC+Fzt72VPzMSk2A=='}) + + e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') + eq(e.status, 400) + eq(e.reason, 'Bad Request') + eq(e.error_code, 'BadDigest') + + @attr(resource='object') @attr(method='put') @attr(operation='create w/empty MD5')