@@ -28,7 +28,9 @@ def test_upload_many(shared_bucket, file_data, blobs_to_delete):
2828 (file_data ["simple" ]["path" ], shared_bucket .blob ("simple2" )),
2929 ]
3030
31- results = transfer_manager .upload_many (FILE_BLOB_PAIRS , worker_type = transfer_manager .PROCESS )
31+ results = transfer_manager .upload_many (
32+ FILE_BLOB_PAIRS , worker_type = transfer_manager .PROCESS
33+ )
3234 assert results == [None , None ]
3335
3436 blobs = shared_bucket .list_blobs ()
@@ -38,13 +40,17 @@ def test_upload_many(shared_bucket, file_data, blobs_to_delete):
3840 assert len (blobs_to_delete ) == 2
3941
4042
41- def test_upload_many_with_threads_and_file_objs (shared_bucket , file_data , blobs_to_delete ):
43+ def test_upload_many_with_threads_and_file_objs (
44+ shared_bucket , file_data , blobs_to_delete
45+ ):
4246 FILE_BLOB_PAIRS = [
4347 (open (file_data ["simple" ]["path" ], "rb" ), shared_bucket .blob ("simple1" )),
4448 (open (file_data ["simple" ]["path" ], "rb" ), shared_bucket .blob ("simple2" )),
4549 ]
4650
47- results = transfer_manager .upload_many (FILE_BLOB_PAIRS , worker_type = transfer_manager .THREAD )
51+ results = transfer_manager .upload_many (
52+ FILE_BLOB_PAIRS , worker_type = transfer_manager .THREAD
53+ )
4854 assert results == [None , None ]
4955
5056 blobs = shared_bucket .list_blobs ()
@@ -78,10 +84,15 @@ def test_upload_many_skip_if_exists(
7884def test_download_many (listable_bucket ):
7985 blobs = list (listable_bucket .list_blobs ())
8086 with tempfile .TemporaryDirectory () as tempdir :
81- filenames = [os .path .join (tempdir , "file_a.txt" ), os .path .join (tempdir , "file_b.txt" )]
87+ filenames = [
88+ os .path .join (tempdir , "file_a.txt" ),
89+ os .path .join (tempdir , "file_b.txt" ),
90+ ]
8291 BLOB_FILE_PAIRS = zip (blobs [:2 ], filenames )
8392
84- results = transfer_manager .download_many (BLOB_FILE_PAIRS , worker_type = transfer_manager .PROCESS )
93+ results = transfer_manager .download_many (
94+ BLOB_FILE_PAIRS , worker_type = transfer_manager .PROCESS
95+ )
8596 assert results == [None , None ]
8697 for count , filename in enumerate (filenames ):
8798 with open (filename , "rb" ) as fp :
@@ -94,47 +105,66 @@ def test_download_many_with_threads_and_file_objs(listable_bucket):
94105 tempfiles = [file_a , file_b ]
95106 BLOB_FILE_PAIRS = zip (blobs [:2 ], tempfiles )
96107
97- results = transfer_manager .download_many (BLOB_FILE_PAIRS , worker_type = transfer_manager .THREAD )
108+ results = transfer_manager .download_many (
109+ BLOB_FILE_PAIRS , worker_type = transfer_manager .THREAD
110+ )
98111 assert results == [None , None ]
99112 for fp in tempfiles :
100113 assert fp .tell () != 0
101114
102115
103116def test_download_chunks_concurrently (shared_bucket , file_data ):
104117 # Upload a big file
105- source_file = file_data [' big' ]
106- upload_blob = shared_bucket .blob (' chunky_file' )
107- upload_blob .upload_from_filename (source_file [' path' ])
118+ source_file = file_data [" big" ]
119+ upload_blob = shared_bucket .blob (" chunky_file" )
120+ upload_blob .upload_from_filename (source_file [" path" ])
108121 upload_blob .reload ()
109122 size = upload_blob .size
110123 chunk_size = size // 32
111124 midpoint = size // 2
112125
113126 # Get a fresh blob obj w/o metadata for testing purposes
114- download_blob = shared_bucket .blob (' chunky_file' )
127+ download_blob = shared_bucket .blob (" chunky_file" )
115128
116129 with tempfile .TemporaryDirectory () as tempdir :
117- full_filename = os .path .join (tempdir , 'chunky_file' )
118- transfer_manager .download_chunks_concurrently (download_blob , full_filename , chunk_size = chunk_size )
119- with open (full_filename , 'rb' ) as file_obj :
120- assert _base64_md5hash (file_obj ) == source_file ['hash' ]
130+ full_filename = os .path .join (tempdir , "chunky_file" )
131+ transfer_manager .download_chunks_concurrently (
132+ download_blob , full_filename , chunk_size = chunk_size
133+ )
134+ with open (full_filename , "rb" ) as file_obj :
135+ assert _base64_md5hash (file_obj ) == source_file ["hash" ]
121136
122137 # Now test for case where last chunk is exactly 1 byte.
123- trailing_chunk_filename = os .path .join (tempdir , 'chunky_file' )
124- transfer_manager .download_chunks_concurrently (download_blob , trailing_chunk_filename , chunk_size = size - 1 )
125- with open (trailing_chunk_filename , 'rb' ) as file_obj :
126- assert _base64_md5hash (file_obj ) == source_file ['hash' ]
138+ trailing_chunk_filename = os .path .join (tempdir , "chunky_file" )
139+ transfer_manager .download_chunks_concurrently (
140+ download_blob , trailing_chunk_filename , chunk_size = size - 1
141+ )
142+ with open (trailing_chunk_filename , "rb" ) as file_obj :
143+ assert _base64_md5hash (file_obj ) == source_file ["hash" ]
127144
128145 # Also test the start and end handling, and threaded mode.
129- first_half_filename = os .path .join (tempdir , 'chunky_file_half_a' )
130- transfer_manager .download_chunks_concurrently (download_blob , first_half_filename , chunk_size = chunk_size , download_kwargs = {'end' : midpoint - 1 })
131- second_half_filename = os .path .join (tempdir , 'chunky_file_half_b' )
132- transfer_manager .download_chunks_concurrently (download_blob , second_half_filename , chunk_size = chunk_size , download_kwargs = {'start' : midpoint }, worker_type = transfer_manager .THREAD )
133-
134- joined_filename = os .path .join (tempdir , 'chunky_file_joined' )
135- with open (joined_filename , 'wb' ) as joined , open (first_half_filename , 'rb' ) as half_a , open (second_half_filename , 'rb' ) as half_b :
146+ first_half_filename = os .path .join (tempdir , "chunky_file_half_a" )
147+ transfer_manager .download_chunks_concurrently (
148+ download_blob ,
149+ first_half_filename ,
150+ chunk_size = chunk_size ,
151+ download_kwargs = {"end" : midpoint - 1 },
152+ )
153+ second_half_filename = os .path .join (tempdir , "chunky_file_half_b" )
154+ transfer_manager .download_chunks_concurrently (
155+ download_blob ,
156+ second_half_filename ,
157+ chunk_size = chunk_size ,
158+ download_kwargs = {"start" : midpoint },
159+ worker_type = transfer_manager .THREAD ,
160+ )
161+
162+ joined_filename = os .path .join (tempdir , "chunky_file_joined" )
163+ with open (joined_filename , "wb" ) as joined , open (
164+ first_half_filename , "rb"
165+ ) as half_a , open (second_half_filename , "rb" ) as half_b :
136166 joined .write (half_a .read ())
137167 joined .write (half_b .read ())
138168
139- with open (joined_filename , 'rb' ) as file_obj :
140- assert _base64_md5hash (file_obj ) == source_file [' hash' ]
169+ with open (joined_filename , "rb" ) as file_obj :
170+ assert _base64_md5hash (file_obj ) == source_file [" hash" ]
0 commit comments