summaryrefslogtreecommitdiffstats
path: root/test/functional/swift_test_client.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/swift_test_client.py')
-rw-r--r--test/functional/swift_test_client.py23
1 files changed, 20 insertions, 3 deletions
diff --git a/test/functional/swift_test_client.py b/test/functional/swift_test_client.py
index d407a33..47e023e 100644
--- a/test/functional/swift_test_client.py
+++ b/test/functional/swift_test_client.py
@@ -65,7 +65,7 @@ class ResponseError(Exception):
def listing_empty(method):
- for i in xrange(0, 6):
+ for i in xrange(6):
if len(method()) == 0:
return True
@@ -208,7 +208,11 @@ class Connection(object):
def make_request(self, method, path=[], data='', hdrs={}, parms={},
cfg={}):
- path = self.make_path(path, cfg=cfg)
+ if not cfg.get('verbatim_path'):
+ # Set verbatim_path=True to make a request to exactly the given
+ # path, not storage path + given path. Useful for
+ # non-account/container/object requests.
+ path = self.make_path(path, cfg=cfg)
headers = self.make_headers(hdrs, cfg=cfg)
if isinstance(parms, dict) and parms:
quote = urllib.quote
@@ -719,7 +723,8 @@ class File(Base):
else:
raise RuntimeError
- def write(self, data='', hdrs={}, parms={}, callback=None, cfg={}):
+ def write(self, data='', hdrs={}, parms={}, callback=None, cfg={},
+ return_resp=False):
block_size = 2 ** 20
if isinstance(data, file):
@@ -763,6 +768,9 @@ class File(Base):
pass
self.md5 = self.compute_md5sum(data)
+ if return_resp:
+ return self.conn.response
+
return True
def write_random(self, size=None, hdrs={}, parms={}, cfg={}):
@@ -772,3 +780,12 @@ class File(Base):
self.conn.make_path(self.path))
self.md5 = self.compute_md5sum(StringIO.StringIO(data))
return data
+
+ def write_random_return_resp(self, size=None, hdrs={}, parms={}, cfg={}):
+ data = self.random_data(size)
+ resp = self.write(data, hdrs=hdrs, parms=parms, cfg=cfg,
+ return_resp=True)
+ if not resp:
+ raise ResponseError(self.conn.response)
+ self.md5 = self.compute_md5sum(StringIO.StringIO(data))
+ return resp