From 0fcbdd52e063838a6d815cc8b3debd1383bb326d Mon Sep 17 00:00:00 2001 From: MurphyMarkW Date: Tue, 30 Jun 2015 02:04:58 -0500 Subject: [PATCH] Adds / moves around tests for different ranges. --- tests/test_s3/test_s3.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/tests/test_s3/test_s3.py b/tests/test_s3/test_s3.py index bc0efce9..ce9a1074 100644 --- a/tests/test_s3/test_s3.py +++ b/tests/test_s3/test_s3.py @@ -791,13 +791,35 @@ def test_ranged_get(): key.key = 'bigkey' rep = b"0123456789" key.set_contents_from_string(rep * 10) + + # Implicitly bounded range requests. key.get_contents_as_string(headers={'Range': 'bytes=0-'}).should.equal(rep * 10) + key.get_contents_as_string(headers={'Range': 'bytes=50-'}).should.equal(rep * 5) + key.get_contents_as_string(headers={'Range': 'bytes=99-'}).should.equal(rep[-1]) + + # Explicitly bounded range requests starting from the first byte. + key.get_contents_as_string(headers={'Range': 'bytes=0-0'}).should.equal(b'0') + key.get_contents_as_string(headers={'Range': 'bytes=0-49'}).should.equal(rep * 5) key.get_contents_as_string(headers={'Range': 'bytes=0-99'}).should.equal(rep * 10) key.get_contents_as_string(headers={'Range': 'bytes=0-100'}).should.equal(rep * 10) key.get_contents_as_string(headers={'Range': 'bytes=0-700'}).should.equal(rep * 10) - key.get_contents_as_string(headers={'Range': 'bytes=0-0'}).should.equal(b'0') - key.get_contents_as_string(headers={'Range': 'bytes=99-99'}).should.equal(b'9') + + # Explicitly bounded range requests starting from the / a middle byte. key.get_contents_as_string(headers={'Range': 'bytes=50-54'}).should.equal(rep[:5]) - key.get_contents_as_string(headers={'Range': 'bytes=50-'}).should.equal(rep * 5) + key.get_contents_as_string(headers={'Range': 'bytes=50-99'}).should.equal(rep * 5) + key.get_contents_as_string(headers={'Range': 'bytes=50-100'}).should.equal(rep * 5) + key.get_contents_as_string(headers={'Range': 'bytes=50-700'}).should.equal(rep * 5) + + # Explicitly bounded range requests starting from the last byte. + key.get_contents_as_string(headers={'Range': 'bytes=99-99'}).should.equal(b'9') + key.get_contents_as_string(headers={'Range': 'bytes=99-100'}).should.equal(b'9') + key.get_contents_as_string(headers={'Range': 'bytes=99-700'}).should.equal(b'9') + + # Suffix range requests. + key.get_contents_as_string(headers={'Range': 'bytes=-1'}).should.equal(rep[-1]) key.get_contents_as_string(headers={'Range': 'bytes=-60'}).should.equal(rep * 6) + key.get_contents_as_string(headers={'Range': 'bytes=-100'}).should.equal(rep * 10) + key.get_contents_as_string(headers={'Range': 'bytes=-101'}).should.equal(rep * 10) + key.get_contents_as_string(headers={'Range': 'bytes=-700'}).should.equal(rep * 10) + key.size.should.equal(100)