diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index a16a3b9..4595540 100644 --- a/s3tests/functional/test_headers.py +++ b/s3tests/functional/test_headers.py @@ -149,7 +149,6 @@ def _setup_bad_object(headers=None, remove=None): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_md5_invalid(): key = _setup_bad_object({'Content-MD5':'AWS HAHAHA'}) @@ -160,7 +159,6 @@ def test_object_create_bad_md5_invalid(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_md5_wrong(): key = _setup_bad_object({'Content-MD5':'YWJyYWNhZGFicmE='}) @@ -171,7 +169,6 @@ def test_object_create_bad_md5_wrong(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_md5_empty(): key = _setup_bad_object({'Content-MD5': ''}) @@ -200,7 +197,6 @@ def test_object_create_bad_md5_none(): # strangely, amazon doesn't report an error with a non-expect 100 also, our # error comes back as html, and not xml as I normally expect @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') @attr('fails_on_rgw') def test_object_create_bad_expect_mismatch(): key = _setup_bad_object({'Expect': 200}) @@ -210,7 +206,6 @@ def test_object_create_bad_expect_mismatch(): # this is a really long test, and I don't know if it's valid... # again, accepts this with no troubles @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_expect_empty(): key = _setup_bad_object({'Expect': ''}) key.set_contents_from_string('bar') @@ -224,7 +219,6 @@ def test_object_create_bad_expect_none(): # this is a really long test.. @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') @attr('fails_on_rgw') def test_object_create_bad_expect_unreadable(): key = _setup_bad_object({'Expect': '\x07'}) @@ -245,7 +239,6 @@ def test_object_create_bad_contentlength_empty(): @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_create_bad_contentlength_negative(): key = _setup_bad_object({'Content-Length': -1}) @@ -267,7 +260,6 @@ def test_object_create_bad_contentlength_none(): @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_create_bad_contentlength_unreadable(): key = _setup_bad_object({'Content-Length': '\x07'}) @@ -278,7 +270,6 @@ def test_object_create_bad_contentlength_unreadable(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') @attr('fails_on_rgw') def test_object_create_bad_contentlength_mismatch_above(): content = 'bar' @@ -293,7 +284,6 @@ def test_object_create_bad_contentlength_mismatch_above(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_contentlength_mismatch_below(): content = 'bar' length = len(content) - 1 @@ -367,8 +357,6 @@ def test_object_create_bad_ua_none(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_create_bad_authorization_invalid(): key = _setup_bad_object({'Authorization': 'AWS HAHAHA'}) @@ -423,7 +411,6 @@ def test_object_create_bad_authorization_incorrect(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_date_invalid(): key = _setup_bad_object({'Date': 'Bad Date'}) @@ -434,7 +421,6 @@ def test_object_create_bad_date_invalid(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_date_empty(): key = _setup_bad_object({'Date': ''}) @@ -445,7 +431,6 @@ def test_object_create_bad_date_empty(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_date_unreadable(): key = _setup_bad_object({'Date': '\x07'}) @@ -456,7 +441,6 @@ def test_object_create_bad_date_unreadable(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') def test_object_create_bad_date_none(): key = _setup_bad_object(remove=('Date',)) @@ -507,15 +491,12 @@ def test_object_create_bad_date_after_end(): @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_bucket_create_contentlength_none(): _add_custom_headers(remove=('Content-Length',)) get_new_bucket() @nose.with_setup(teardown=_clear_custom_headers) -@attr('fails_on_rgw') def test_object_acl_create_contentlength_none(): bucket = get_new_bucket() key = bucket.new_key('foo') diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index 63f1630..6cf1664 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -113,8 +113,6 @@ def test_bucket_list_many(): eq(names, ['foo']) -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_delimiter_basic(): bucket = _create_keys(keys=['foo/bar', 'foo/baz/xyzzy', 'quux/thud', 'asdf']) @@ -140,8 +138,6 @@ def test_bucket_list_delimiter_basic(): # just testing that we can do the delimeter and prefix logic on non-slashes -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_delimiter_alt(): bucket = _create_keys(keys=['bar', 'baz', 'cab', 'foo']) @@ -282,8 +278,6 @@ def test_bucket_list_prefix_unreadable(): eq(prefixes, []) -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_prefix_delimiter_basic(): bucket = _create_keys(keys=['foo/bar', 'foo/baz/xyzzy', 'quux/thud', 'asdf']) @@ -361,8 +355,6 @@ def test_bucket_list_maxkeys_one(): eq(names, key_names[1:]) -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_maxkeys_zero(): bucket = _create_keys(keys=['bar', 'baz', 'foo', 'quxx']) @@ -371,8 +363,6 @@ def test_bucket_list_maxkeys_zero(): eq(li, []) -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_maxkeys_none(): key_names = ['bar', 'baz', 'foo', 'quxx'] bucket = _create_keys(keys=key_names) @@ -384,8 +374,6 @@ def test_bucket_list_maxkeys_none(): eq(li.MaxKeys, '1000') -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_maxkeys_invalid(): bucket = _create_keys(keys=['bar', 'baz', 'foo', 'quxx']) @@ -409,8 +397,6 @@ def test_bucket_list_maxkeys_unreadable(): eq(e.error_code, 'InvalidArgument') -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_marker_none(): key_names = ['bar', 'baz', 'foo', 'quxx'] bucket = _create_keys(keys=key_names) @@ -419,8 +405,6 @@ def test_bucket_list_marker_none(): eq(li.marker, '') -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_marker_empty(): key_names = ['bar', 'baz', 'foo', 'quxx'] bucket = _create_keys(keys=key_names) @@ -432,8 +416,6 @@ def test_bucket_list_marker_empty(): eq(names, key_names) -@attr('fails_on_rgw') -@attr('fails_on_dho') def test_bucket_list_marker_unreadable(): key_names = ['bar', 'baz', 'foo', 'quxx'] bucket = _create_keys(keys=key_names) @@ -494,8 +476,6 @@ def _compare_dates(iso_datetime, http_datetime): ) -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_bucket_list_return_data(): key_names = ['bar', 'baz', 'foo'] bucket = _create_keys(keys=key_names) @@ -530,8 +510,6 @@ def test_bucket_list_return_data(): _compare_dates(key.last_modified, key_data['last_modified']) -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_bucket_list_object_time(): bucket = _create_keys(keys=['foo']) @@ -856,9 +834,6 @@ def test_object_raw_get_object_acl(): eq(res.reason, 'Forbidden') -# 403 TimeTooSkewed -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_raw_authenticated(): (bucket, key) = _setup_request('public-read', 'public-read') @@ -867,9 +842,6 @@ def test_object_raw_authenticated(): eq(res.reason, 'OK') -# 403 TimeTooSkewed -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_raw_authenticated_bucket_acl(): (bucket, key) = _setup_request('private', 'public-read') @@ -878,9 +850,6 @@ def test_object_raw_authenticated_bucket_acl(): eq(res.reason, 'OK') -# 403 TimeTooSkewed -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_raw_authenticated_object_acl(): (bucket, key) = _setup_request('public-read', 'private') @@ -889,9 +858,6 @@ def test_object_raw_authenticated_object_acl(): eq(res.reason, 'OK') -# 403 TimeTooSkewed -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_raw_authenticated_bucket_gone(): (bucket, key) = _setup_request('public-read', 'public-read') key.delete() @@ -902,9 +868,6 @@ def test_object_raw_authenticated_bucket_gone(): eq(res.reason, 'Not Found') -# 403 TimeTooSkewed -@attr('fails_on_dho') -@attr('fails_on_rgw') def test_object_raw_authenticated_object_gone(): (bucket, key) = _setup_request('public-read', 'public-read') key.delete() @@ -934,7 +897,6 @@ def test_object_raw_put_write_access(): eq(res.reason, 'OK') -@attr('fails_on_rgw') def test_object_raw_put_authenticated(): bucket = get_new_bucket() key = bucket.new_key('foo') @@ -1611,7 +1573,6 @@ def test_bucket_acl_grant_userid_writeacp(): _check_bucket_acl_grant_can_writeacp(bucket) -@attr('fails_on_dho') def test_bucket_acl_grant_nonexist_user(): bucket = get_new_bucket() # add alt user @@ -1653,10 +1614,6 @@ def test_bucket_acl_no_grants(): bucket.set_acl('private') -# This test will fail on DH Objects. DHO allows multiple users with one account, which -# would violate the uniqueness requirement of a user's email. As such, DHO users are -# created without an email. -@attr('fails_on_dho') def test_bucket_acl_grant_email(): bucket = get_new_bucket() # add alt user @@ -1939,7 +1896,6 @@ def test_list_buckets_bad_auth(): # this test goes outside the user-configure prefix because it needs to # control the initial character of the bucket name -@attr('fails_on_rgw') @nose.with_setup( setup=lambda: nuke_prefixed_buckets(prefix='a'+get_prefix()), teardown=lambda: nuke_prefixed_buckets(prefix='a'+get_prefix()), @@ -1949,7 +1905,6 @@ def test_bucket_create_naming_good_starts_alpha(): # this test goes outside the user-configure prefix because it needs to # control the initial character of the bucket name -@attr('fails_on_rgw') @nose.with_setup( setup=lambda: nuke_prefixed_buckets(prefix='0'+get_prefix()), teardown=lambda: nuke_prefixed_buckets(prefix='0'+get_prefix()),