@@ -550,6 +550,28 @@ def test_media_io_base_download_retries_5xx(self):
550550 self .assertEqual (5 , download ._progress )
551551 self .assertEqual (5 , download ._total_size )
552552
553+ def test_media_io_base_download_empty_file (self ):
554+ self .request .http = HttpMockSequence ([
555+ ({'status' : '200' ,
556+ 'content-range' : '0-0/0' }, b'' ),
557+ ])
558+
559+ download = MediaIoBaseDownload (
560+ fd = self .fd , request = self .request , chunksize = 3 )
561+
562+ self .assertEqual (self .fd , download ._fd )
563+ self .assertEqual (0 , download ._progress )
564+ self .assertEqual (None , download ._total_size )
565+ self .assertEqual (False , download ._done )
566+ self .assertEqual (self .request .uri , download ._uri )
567+
568+ status , done = download .next_chunk ()
569+
570+ self .assertEqual (True , done )
571+ self .assertEqual (0 , download ._progress )
572+ self .assertEqual (0 , download ._total_size )
573+ self .assertEqual (0 , status .progress ())
574+
553575EXPECTED = """POST /someapi/v1/collection/?foo=bar HTTP/1.1
554576Content-Type: application/json
555577MIME-Version: 1.0
0 commit comments