From: Yehuda Sadeh Date: Fri, 18 Dec 2015 17:52:58 +0000 (-0800) Subject: Merge pull request #77 from andrewgaul/special-key-names X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=44f2ce8281a26cbccf37bd9dbb7279f36d8a62e6;p=s3-tests.git Merge pull request #77 from andrewgaul/special-key-names Consolidate test_object_create_special_characters Reviewed-by: Yehuda Sadeh --- 44f2ce8281a26cbccf37bd9dbb7279f36d8a62e6 diff --cc s3tests/functional/test_s3.py index 7f1e22e7,d90cd745..4563eb88 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@@ -904,42 -832,7 +904,28 @@@ def test_object_read_notexist() eq(e.reason, 'Not Found') eq(e.error_code, 'NoSuchKey') +@attr(resource='object') +@attr(method='get') +@attr(operation='read contents that were never written to raise one error response') +@attr(assertion='RequestId appears in the error response') +def test_object_requestid_on_error(): + bucket = get_new_bucket() + key = bucket.new_key('foobar') + e = assert_raises(boto.exception.S3ResponseError, key.get_contents_as_string) + request_id = re.search(r'.*', e.body.encode('utf-8')).group(0) + assert request_id is not None + +@attr(resource='object') +@attr(method='get') +@attr(operation='read contents that were never written to raise one error response') +@attr(assertion='RequestId in the error response matchs the x-amz-request-id in the headers') +def test_object_requestid_matchs_header_on_error(): + bucket = get_new_bucket() + key = bucket.new_key('foobar') + e = assert_raises(boto.exception.S3ResponseError, key.get_contents_as_string) + request_id = re.search(r'(.*)', e.body.encode('utf-8')).group(1) + eq(key.resp.getheader('x-amz-request-id'), request_id) - @attr(resource='object') - @attr(method='put') - @attr(operation='write to special characters key') - @attr(assertion='fails 404') - def test_object_create_special_characters(): - bucket = get_new_bucket() - # sourced from: http://xml.silmaril.ie/specials.html - key = bucket.new_key('<&>"\'') - key.set_contents_from_string('bar') - got = key.get_contents_as_string() - eq(got, 'bar') - bucket.get_all_keys() - - # While the test itself passes, there's a SAX parser error during teardown. It # seems to be a boto bug. It happens with both amazon and dho. # http://code.google.com/p/boto/issues/detail?id=501