Test half-open range requests

This commit is contained in:
Andrew Gaul 2014-08-12 12:25:56 -07:00
parent a23c81187b
commit b81a718794

View file

@ -4747,6 +4747,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