Merge pull request #15 from andrewgaul/half-open-range-requests

Test half-open range requests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
This commit is contained in:
Yehuda Sadeh 2015-02-27 10:24:12 -08:00
commit 56b7d32fe1

View file

@ -5074,6 +5074,50 @@ def test_ranged_request_response_code():
eq(fetched_content, content[4:8]) eq(fetched_content, content[4:8])
eq(status, 206) eq(status, 206)
@attr(resource='object')
@attr(method='get')
@attr(operation='range')
@attr(assertion='returns correct data, 206')
def test_ranged_request_skip_leading_bytes_response_code():
content = 'testcontent'
bucket = get_new_bucket()
key = bucket.new_key('testobj')
key.set_contents_from_string(content)
# test trailing bytes
key.open('r', headers={'Range': 'bytes=4-'})
status = key.resp.status
fetched_content = ''
for data in key:
fetched_content += data;
key.close()
eq(fetched_content, content[4:])
eq(status, 206)
@attr(resource='object')
@attr(method='get')
@attr(operation='range')
@attr(assertion='returns correct data, 206')
def test_ranged_request_return_trailing_bytes_response_code():
content = 'testcontent'
bucket = get_new_bucket()
key = bucket.new_key('testobj')
key.set_contents_from_string(content)
# test leading bytes
key.open('r', headers={'Range': 'bytes=-7'})
status = key.resp.status
fetched_content = ''
for data in key:
fetched_content += data;
key.close()
eq(fetched_content, content[-7:])
eq(status, 206)
def check_can_test_multiregion(): def check_can_test_multiregion():
if not targets.main.master or len(targets.main.secondaries) == 0: if not targets.main.master or len(targets.main.secondaries) == 0:
raise SkipTest raise SkipTest