s3tests: Add test_object_requestid_on_error

Error responses must contains a RequestId tag. This is the ID of the
request associated with the error.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
This commit is contained in:
Javier M. Mellid 2015-09-09 21:28:32 +02:00
parent 83c9269619
commit 63048b7bdf

View file

@ -23,6 +23,7 @@ import threading
import itertools
import string
import random
import re
import xml.etree.ElementTree as ET
@ -832,6 +833,16 @@ 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'<RequestId>.*</RequestId>', e.body.encode('utf-8')).group(0)
assert request_id is not None
@attr(resource='object')
@attr(method='put')