From: Kyle Marsh Date: Tue, 26 Jul 2011 23:58:15 +0000 (-0700) Subject: s3-tests: Object download response code test X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=68c8f4b87cc8955dc117668ee4a9169bf06ef299;p=s3-tests.git s3-tests: Object download response code test If a client specifies a range when requesting an object the server should respond with 206 Partial Content when answering a request to get an object, not 200 OK. It should also respond with only those bytes requested. This commit introduces a test, test_ranged_request_response_code, that checks those criteria. --- diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index bf6449be..a93de4c1 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -1545,3 +1545,21 @@ def test_atomic_dual_write_4mb(): def test_atomic_dual_write_8mb(): _test_atomic_dual_write(1024*1024*8) + +def test_ranged_request_response_code(): + content = 'testcontent' + + bucket = get_new_bucket() + key = bucket.new_key('testobj') + key.set_contents_from_string(content) + + key.open('r', headers={'Range': 'bytes=4-7'}) + status = key.resp.status + fetched_content = '' + for data in key: + fetched_content += data; + key.close() + + eq(fetched_content, content[4:8]) + eq(status, 206) +