From 63048b7bdfc742f8cff7d689315d8fe6437b48a2 Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Wed, 9 Sep 2015 21:28:32 +0200 Subject: [PATCH] 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 --- s3tests/functional/test_s3.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index 41bc72c..a59a76c 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -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'.*', e.body.encode('utf-8')).group(0) + assert request_id is not None @attr(resource='object') @attr(method='put')