Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(650)

Unified Diff: third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py

Issue 1380943003: Roll version of gsutil to 4.15. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py
diff --git a/third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py b/third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py
index 9d58b1ea629b99105cdd4348dc18ce452ea66042..8e29f128e7947f7dd21b9eae73216d66c0214b35 100644
--- a/third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py
+++ b/third_party/gsutil/third_party/apitools/apitools/base/py/transfer_test.py
@@ -76,6 +76,36 @@ class TransferTest(unittest2.TestCase):
download._Download__ComputeEndByte(start),
msg='Failed on start={0}'.format(start))
+ def testGetRange(self):
+ for (start_byte, end_byte) in [(0, 25), (5, 15), (0, 0), (25, 25)]:
+ bytes_http = object()
+ http = object()
+ download_stream = six.StringIO()
+ download = transfer.Download.FromStream(download_stream,
+ total_size=26,
+ auto_transfer=False)
+ download.bytes_http = bytes_http
+ base_url = 'https://part.one/'
+ with mock.patch.object(http_wrapper, 'MakeRequest',
+ autospec=True) as make_request:
+ make_request.return_value = http_wrapper.Response(
+ info={
+ 'content-range': 'bytes %d-%d/26' %
+ (start_byte, end_byte),
+ 'status': http_client.OK,
+ },
+ content=string.ascii_lowercase[start_byte:end_byte+1],
+ request_url=base_url,
+ )
+ request = http_wrapper.Request(url='https://part.one/')
+ download.InitializeDownload(request, http=http)
+ download.GetRange(start_byte, end_byte)
+ self.assertEqual(1, make_request.call_count)
+ received_request = make_request.call_args[0][1]
+ self.assertEqual(base_url, received_request.url)
+ self.assertRangeAndContentRangeCompatible(
+ received_request, make_request.return_value)
+
def testNonChunkedDownload(self):
bytes_http = object()
http = object()

Powered by Google App Engine
This is Rietveld 408576698