Add strict RFC2616 attributes to metadata tests

Some proxies/load balancers may sanitize input and may remove
headers that are not RFC 2616 complaint. This allows several
tests to be skipped if you are putting one of these products
in front of an S3 compatible API.
This commit is contained in:
Kyle Bader 2012-07-03 16:28:59 -07:00
parent 3eaa877022
commit 09681c62dc

View file

@ -877,6 +877,7 @@ def test_object_set_get_unicode_metadata():
@attr(method='put') @attr(method='put')
@attr(operation='metadata write/re-write') @attr(operation='metadata write/re-write')
@attr(assertion='non-UTF-8 values detected, but preserved') @attr(assertion='non-UTF-8 values detected, but preserved')
@attr('fails_strict_rfc2616')
def test_object_set_get_non_utf8_metadata(): def test_object_set_get_non_utf8_metadata():
bucket = get_new_bucket() bucket = get_new_bucket()
key = boto.s3.key.Key(bucket) key = boto.s3.key.Key(bucket)
@ -904,6 +905,7 @@ def _set_get_metadata_unreadable(metadata, bucket=None):
@attr(method='put') @attr(method='put')
@attr(operation='metadata write') @attr(operation='metadata write')
@attr(assertion='non-priting prefixes noted and preserved') @attr(assertion='non-priting prefixes noted and preserved')
@attr('fails_strict_rfc2616')
def test_object_set_get_metadata_empty_to_unreadable_prefix(): def test_object_set_get_metadata_empty_to_unreadable_prefix():
metadata = '\x04w' metadata = '\x04w'
got = _set_get_metadata_unreadable(metadata) got = _set_get_metadata_unreadable(metadata)
@ -914,6 +916,7 @@ def test_object_set_get_metadata_empty_to_unreadable_prefix():
@attr(method='put') @attr(method='put')
@attr(operation='metadata write') @attr(operation='metadata write')
@attr(assertion='non-priting suffixes noted and preserved') @attr(assertion='non-priting suffixes noted and preserved')
@attr('fails_strict_rfc2616')
def test_object_set_get_metadata_empty_to_unreadable_suffix(): def test_object_set_get_metadata_empty_to_unreadable_suffix():
metadata = 'h\x04' metadata = 'h\x04'
got = _set_get_metadata_unreadable(metadata) got = _set_get_metadata_unreadable(metadata)
@ -934,6 +937,7 @@ def test_object_set_get_metadata_empty_to_unreadable_infix():
@attr(method='put') @attr(method='put')
@attr(operation='metadata re-write') @attr(operation='metadata re-write')
@attr(assertion='non-priting prefixes noted and preserved') @attr(assertion='non-priting prefixes noted and preserved')
@attr('fails_strict_rfc2616')
def test_object_set_get_metadata_overwrite_to_unreadable_prefix(): def test_object_set_get_metadata_overwrite_to_unreadable_prefix():
metadata = '\x04w' metadata = '\x04w'
got = _set_get_metadata_unreadable(metadata) got = _set_get_metadata_unreadable(metadata)
@ -947,6 +951,7 @@ def test_object_set_get_metadata_overwrite_to_unreadable_prefix():
@attr(method='put') @attr(method='put')
@attr(operation='metadata re-write') @attr(operation='metadata re-write')
@attr(assertion='non-priting suffixes noted and preserved') @attr(assertion='non-priting suffixes noted and preserved')
@attr('fails_strict_rfc2616')
def test_object_set_get_metadata_overwrite_to_unreadable_suffix(): def test_object_set_get_metadata_overwrite_to_unreadable_suffix():
metadata = 'h\x04' metadata = 'h\x04'
got = _set_get_metadata_unreadable(metadata) got = _set_get_metadata_unreadable(metadata)