diff --git a/test/unit/obj/test_server.py b/test/unit/obj/test_server.py index ac70ec5ac8..a74738b6c5 100755 --- a/test/unit/obj/test_server.py +++ b/test/unit/obj/test_server.py @@ -661,6 +661,24 @@ class TestObjectController(unittest.TestCase): resp = self.object_controller.PUT(req) self.assertEquals(resp.status_int, 411) + def test_PUT_zero_content_length(self): + req = Request.blank('/sda1/p/a/c/o', environ={'REQUEST_METHOD': 'PUT'}, + headers={'X-Timestamp': normalize_timestamp(time()), + 'Content-Type': 'application/octet-stream'}) + req.body = '' + self.assertEquals(req.headers['Content-Length'], '0') + resp = self.object_controller.PUT(req) + self.assertEquals(resp.status_int, 201) + + def test_PUT_zero_content_length_mismatched(self): + req = Request.blank('/sda1/p/a/c/o', environ={'REQUEST_METHOD': 'PUT'}, + headers={'X-Timestamp': normalize_timestamp(time()), + 'Content-Type': 'application/octet-stream'}) + req.body = 'VERIFY' + req.headers['Content-Length'] = '0' + resp = self.object_controller.PUT(req) + self.assertEquals(resp.status_int, 499) + def test_PUT_common(self): timestamp = normalize_timestamp(time()) req = Request.blank('/sda1/p/a/c/o', environ={'REQUEST_METHOD': 'PUT'},