summaryrefslogtreecommitdiffstats
path: root/test/functional
diff options
context:
space:
mode:
authorLuis Pabon <lpabon@redhat.com>2013-11-26 20:21:10 -0500
committerLuis Pabon <lpabon@redhat.com>2013-12-05 04:50:38 -0800
commitb36fe03702e76294d530d405ca61f45a7a382057 (patch)
tree4ccbd1199ef5ca6a81c8adf73c7b7f944f7ef2bd /test/functional
parent0458016906c1cc0ce3e7b17e704d9da8a85aaec1 (diff)
Return BadRequest on X-Delete-At/After headers
Gluster-swift does not support X-Delete-After or X-Delete-At headers. The code needs to inform the caller with a 400-BadRequest if they use these headers. Change-Id: Ic9d3a1646c0d26bb0204245efce4501f7479fee6 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6364 Reviewed-by: Chetan Risbud <crisbud@redhat.com>
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/gluster_swift_tests.py33
1 files changed, 31 insertions, 2 deletions
diff --git a/test/functional/gluster_swift_tests.py b/test/functional/gluster_swift_tests.py
index d7a833e..0a721b6 100644
--- a/test/functional/gluster_swift_tests.py
+++ b/test/functional/gluster_swift_tests.py
@@ -58,6 +58,37 @@ class TestFile(Base):
data_read = file.read()
self.assertEquals(data,data_read)
+ def testInvalidHeadersPUT(self):
+ file = self.env.container.file(Utils.create_name())
+ self.assertRaises(ResponseError,
+ file.write_random,
+ self.env.file_size,
+ hdrs={'X-Delete-At': '9876545321'})
+ self.assert_status(400)
+ self.assertRaises(ResponseError,
+ file.write_random,
+ self.env.file_size,
+ hdrs={'X-Delete-After': '60'})
+ self.assert_status(400)
+
+ def testInvalidHeadersPOST(self):
+ file = self.env.container.file(Utils.create_name())
+ file.write_random(self.env.file_size)
+ headers = file.make_headers(cfg={})
+ headers.update({ 'X-Delete-At' : '987654321'})
+ # Need to call conn.make_request instead of file.sync_metadata
+ # because sync_metadata calls make_headers. make_headers()
+ # overwrites any headers in file.metadata as 'user' metadata
+ # by appending 'X-Object-Meta-' to any of the headers
+ # in file.metadata.
+ file.conn.make_request('POST', file.path, hdrs=headers, cfg={})
+ self.assertEqual(400, file.conn.response.status)
+
+ headers = file.make_headers(cfg={})
+ headers.update({ 'X-Delete-After' : '60'})
+ file.conn.make_request('POST', file.path, hdrs=headers, cfg={})
+ self.assertEqual(400, file.conn.response.status)
+
class TestFileUTF8(Base2, TestFile):
set_up = False
@@ -336,5 +367,3 @@ class TestMultiProtocolAccess(Base):
md5_returned = hashlib.md5(data_read_from_mountP).hexdigest()
self.assertEquals(md5_returned,file_info['etag'])
fhOnMountPoint.close()
-
-