diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index 7cbebd7..f45a162 100644 --- a/s3tests/functional/test_headers.py +++ b/s3tests/functional/test_headers.py @@ -694,6 +694,7 @@ def test_bucket_create_bad_authorization_none(): @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_md5_invalid_garbage_aws2(): + check_aws2_support() key = _setup_bad_object({'Content-MD5':'AWS HAHAHA'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 400) @@ -708,6 +709,7 @@ def test_object_create_bad_md5_invalid_garbage_aws2(): @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_contentlength_mismatch_below_aws2(): + check_aws2_support() content = 'bar' length = len(content) - 1 key = _setup_bad_object({'Content-Length': length}) @@ -724,6 +726,7 @@ def test_object_create_bad_contentlength_mismatch_below_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_authorization_incorrect_aws2(): + check_aws2_support() key = _setup_bad_object({'Authorization': 'AWS AKIAIGR7ZNNBHC5BKSUB:FWeDfwojDSdS2Ztmpfeubhd9isU='}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -738,6 +741,7 @@ def test_object_create_bad_authorization_incorrect_aws2(): @attr(operation='create w/invalid authorization') @attr(assertion='fails 400') def test_object_create_bad_authorization_invalid_aws2(): + check_aws2_support() key = _setup_bad_object({'Authorization': 'AWS HAHAHA'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 400) @@ -752,6 +756,7 @@ def test_object_create_bad_authorization_invalid_aws2(): @attr(assertion='succeeds') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_ua_empty_aws2(): + check_aws2_support() key = _setup_bad_object({'User-Agent': ''}) key.set_contents_from_string('bar') @@ -764,6 +769,7 @@ def test_object_create_bad_ua_empty_aws2(): @attr('fails_strict_rfc2616') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_ua_unreadable_aws2(): + check_aws2_support() key = _setup_bad_object({'User-Agent': '\x07'}) key.set_contents_from_string('bar') @@ -775,6 +781,7 @@ def test_object_create_bad_ua_unreadable_aws2(): @attr(assertion='succeeds') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_ua_none_aws2(): + check_aws2_support() key = _setup_bad_object(remove=('User-Agent',)) key.set_contents_from_string('bar') @@ -786,6 +793,7 @@ def test_object_create_bad_ua_none_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_invalid_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': 'Bad Date'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -800,6 +808,7 @@ def test_object_create_bad_date_invalid_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_empty_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': ''}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -815,6 +824,7 @@ def test_object_create_bad_date_empty_aws2(): @attr('fails_strict_rfc2616') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_unreadable_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': '\x07'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') @@ -830,6 +840,7 @@ def test_object_create_bad_date_unreadable_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_none_aws2(): + check_aws2_support() key = _setup_bad_object(remove=('Date',)) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -844,6 +855,7 @@ def test_object_create_bad_date_none_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_before_today_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': 'Tue, 07 Jul 2010 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -858,6 +870,7 @@ def test_object_create_bad_date_before_today_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_after_today_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': 'Tue, 07 Jul 2030 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -872,6 +885,7 @@ def test_object_create_bad_date_after_today_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_before_epoch_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': 'Tue, 07 Jul 1950 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -886,6 +900,7 @@ def test_object_create_bad_date_before_epoch_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_date_after_end_aws2(): + check_aws2_support() key = _setup_bad_object({'Date': 'Tue, 07 Jul 9999 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) @@ -900,6 +915,7 @@ def test_object_create_bad_date_after_end_aws2(): @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_authorization_invalid_aws2(): + check_aws2_support() _add_custom_headers({'Authorization': 'AWS HAHAHA'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 400) @@ -914,6 +930,7 @@ def test_bucket_create_bad_authorization_invalid_aws2(): @attr(assertion='succeeds') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_ua_empty_aws2(): + check_aws2_support() _add_custom_headers({'User-Agent': ''}) bucket = get_new_bucket() @@ -926,6 +943,7 @@ def test_bucket_create_bad_ua_empty_aws2(): @attr('fails_strict_rfc2616') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_ua_unreadable_aws2(): + check_aws2_support() _add_custom_headers({'User-Agent': '\x07'}) bucket = get_new_bucket() @@ -937,6 +955,7 @@ def test_bucket_create_bad_ua_unreadable_aws2(): @attr(assertion='succeeds') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_ua_none_aws2(): + check_aws2_support() _add_custom_headers(remove=('User-Agent',)) bucket = get_new_bucket() @@ -948,6 +967,7 @@ def test_bucket_create_bad_ua_none_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_invalid_aws2(): + check_aws2_support() _add_custom_headers({'Date': 'Bad Date'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -962,6 +982,7 @@ def test_bucket_create_bad_date_invalid_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_empty_aws2(): + check_aws2_support() _add_custom_headers({'Date': ''}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -977,6 +998,7 @@ def test_bucket_create_bad_date_empty_aws2(): @attr('fails_strict_rfc2616') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_unreadable_aws2(): + check_aws2_support() _add_custom_headers({'Date': '\x07'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -991,6 +1013,7 @@ def test_bucket_create_bad_date_unreadable_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_none_aws2(): + check_aws2_support() _add_custom_headers(remove=('Date',)) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -1005,6 +1028,7 @@ def test_bucket_create_bad_date_none_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_before_today_aws2(): + check_aws2_support() _add_custom_headers({'Date': 'Tue, 07 Jul 2010 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -1019,6 +1043,7 @@ def test_bucket_create_bad_date_before_today_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_after_today_aws2(): + check_aws2_support() _add_custom_headers({'Date': 'Tue, 07 Jul 2030 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -1033,6 +1058,7 @@ def test_bucket_create_bad_date_after_today_aws2(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) def test_bucket_create_bad_date_before_epoch_aws2(): + check_aws2_support() _add_custom_headers({'Date': 'Tue, 07 Jul 1950 21:53:04 GMT'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) eq(e.status, 403) @@ -1047,6 +1073,11 @@ def check_aws4_support(): if 'S3_USE_SIGV4' not in os.environ: raise SkipTest +def check_aws2_support(): + if 'S3_USE_SIGV4' in os.environ: + raise SkipTest + + @tag('auth_aws4') @attr(resource='object') @attr(method='put')