@@ -127,7 +127,9 @@ def request(self, *args, **kwargs):
127
127
self .num_errors -= 1
128
128
if self .num_errors == 1 : # initial == 2
129
129
raise ssl .SSLError ()
130
- else : # initial != 2
130
+ if self .num_errors == 3 : # initial == 4
131
+ raise httplib2 .ServerNotFoundError ()
132
+ else : # initial != 2,4
131
133
if self .num_errors == 2 :
132
134
# first try a broken pipe error (#218)
133
135
ex = socket .error ()
@@ -495,14 +497,14 @@ def test_media_io_base_download_handle_4xx(self):
495
497
496
498
def test_media_io_base_download_retries_connection_errors (self ):
497
499
self .request .http = HttpMockWithErrors (
498
- 3 , {'status' : '200' , 'content-range' : '0-2/3' }, b'123' )
500
+ 4 , {'status' : '200' , 'content-range' : '0-2/3' }, b'123' )
499
501
500
502
download = MediaIoBaseDownload (
501
503
fd = self .fd , request = self .request , chunksize = 3 )
502
504
download ._sleep = lambda _x : 0 # do nothing
503
505
download ._rand = lambda : 10
504
506
505
- status , done = download .next_chunk (num_retries = 3 )
507
+ status , done = download .next_chunk (num_retries = 4 )
506
508
507
509
self .assertEqual (self .fd .getvalue (), b'123' )
508
510
self .assertEqual (True , done )
@@ -839,12 +841,12 @@ def test_no_retry_connection_errors(self):
839
841
def test_retry_connection_errors_non_resumable (self ):
840
842
model = JsonModel ()
841
843
request = HttpRequest (
842
- HttpMockWithErrors (3 , {'status' : '200' }, '{"foo": "bar"}' ),
844
+ HttpMockWithErrors (4 , {'status' : '200' }, '{"foo": "bar"}' ),
843
845
model .response ,
844
846
u'https://www.example.com/json_api_endpoint' )
845
847
request ._sleep = lambda _x : 0 # do nothing
846
848
request ._rand = lambda : 10
847
- response = request .execute (num_retries = 3 )
849
+ response = request .execute (num_retries = 4 )
848
850
self .assertEqual ({u'foo' : u'bar' }, response )
849
851
850
852
def test_retry_connection_errors_resumable (self ):
@@ -856,14 +858,14 @@ def test_retry_connection_errors_resumable(self):
856
858
857
859
request = HttpRequest (
858
860
HttpMockWithErrors (
859
- 3 , {'status' : '200' , 'location' : 'location' }, '{"foo": "bar"}' ),
861
+ 4 , {'status' : '200' , 'location' : 'location' }, '{"foo": "bar"}' ),
860
862
model .response ,
861
863
u'https://www.example.com/file_upload' ,
862
864
method = 'POST' ,
863
865
resumable = upload )
864
866
request ._sleep = lambda _x : 0 # do nothing
865
867
request ._rand = lambda : 10
866
- response = request .execute (num_retries = 3 )
868
+ response = request .execute (num_retries = 4 )
867
869
self .assertEqual ({u'foo' : u'bar' }, response )
868
870
869
871
def test_retry (self ):
0 commit comments