@@ -217,7 +217,7 @@ def test__make_request_no_data_no_content_type_no_headers(self):
217
217
CLIENT_INFO_HEADER : conn .user_agent ,
218
218
}
219
219
http .request .assert_called_once_with (
220
- method = "GET" , url = url , headers = expected_headers , data = None
220
+ method = "GET" , url = url , headers = expected_headers , data = None , timeout = None
221
221
)
222
222
223
223
def test__make_request_w_data_no_extra_headers (self ):
@@ -238,7 +238,7 @@ def test__make_request_w_data_no_extra_headers(self):
238
238
CLIENT_INFO_HEADER : conn .user_agent ,
239
239
}
240
240
http .request .assert_called_once_with (
241
- method = "GET" , url = url , headers = expected_headers , data = data
241
+ method = "GET" , url = url , headers = expected_headers , data = data , timeout = None
242
242
)
243
243
244
244
def test__make_request_w_extra_headers (self ):
@@ -258,7 +258,30 @@ def test__make_request_w_extra_headers(self):
258
258
CLIENT_INFO_HEADER : conn .user_agent ,
259
259
}
260
260
http .request .assert_called_once_with (
261
- method = "GET" , url = url , headers = expected_headers , data = None
261
+ method = "GET" , url = url , headers = expected_headers , data = None , timeout = None
262
+ )
263
+
264
+ def test__make_request_w_timeout (self ):
265
+ from google .cloud ._http import CLIENT_INFO_HEADER
266
+
267
+ http = make_requests_session ([make_response ()])
268
+ client = mock .Mock (_http = http , spec = ["_http" ])
269
+ conn = self ._make_one (client )
270
+
271
+ url = "http://example.com/test"
272
+ conn ._make_request ("GET" , url , timeout = (5.5 , 2.8 ))
273
+
274
+ expected_headers = {
275
+ "Accept-Encoding" : "gzip" ,
276
+ "User-Agent" : conn .user_agent ,
277
+ CLIENT_INFO_HEADER : conn .user_agent ,
278
+ }
279
+ http .request .assert_called_once_with (
280
+ method = "GET" ,
281
+ url = url ,
282
+ headers = expected_headers ,
283
+ data = None ,
284
+ timeout = (5.5 , 2.8 ),
262
285
)
263
286
264
287
def test_api_request_defaults (self ):
@@ -282,7 +305,11 @@ def test_api_request_defaults(self):
282
305
base = conn .API_BASE_URL , version = conn .API_VERSION , path = path
283
306
)
284
307
http .request .assert_called_once_with (
285
- method = "GET" , url = expected_url , headers = expected_headers , data = None
308
+ method = "GET" ,
309
+ url = expected_url ,
310
+ headers = expected_headers ,
311
+ data = None ,
312
+ timeout = None ,
286
313
)
287
314
288
315
def test_api_request_w_non_json_response (self ):
@@ -321,7 +348,11 @@ def test_api_request_w_query_params(self):
321
348
CLIENT_INFO_HEADER : conn .user_agent ,
322
349
}
323
350
http .request .assert_called_once_with (
324
- method = "GET" , url = mock .ANY , headers = expected_headers , data = None
351
+ method = "GET" ,
352
+ url = mock .ANY ,
353
+ headers = expected_headers ,
354
+ data = None ,
355
+ timeout = None ,
325
356
)
326
357
327
358
url = http .request .call_args [1 ]["url" ]
@@ -351,7 +382,11 @@ def test_api_request_w_headers(self):
351
382
CLIENT_INFO_HEADER : conn .user_agent ,
352
383
}
353
384
http .request .assert_called_once_with (
354
- method = "GET" , url = mock .ANY , headers = expected_headers , data = None
385
+ method = "GET" ,
386
+ url = mock .ANY ,
387
+ headers = expected_headers ,
388
+ data = None ,
389
+ timeout = None ,
355
390
)
356
391
357
392
def test_api_request_w_extra_headers (self ):
@@ -377,7 +412,11 @@ def test_api_request_w_extra_headers(self):
377
412
CLIENT_INFO_HEADER : conn .user_agent ,
378
413
}
379
414
http .request .assert_called_once_with (
380
- method = "GET" , url = mock .ANY , headers = expected_headers , data = None
415
+ method = "GET" ,
416
+ url = mock .ANY ,
417
+ headers = expected_headers ,
418
+ data = None ,
419
+ timeout = None ,
381
420
)
382
421
383
422
def test_api_request_w_data (self ):
@@ -400,7 +439,39 @@ def test_api_request_w_data(self):
400
439
}
401
440
402
441
http .request .assert_called_once_with (
403
- method = "POST" , url = mock .ANY , headers = expected_headers , data = expected_data
442
+ method = "POST" ,
443
+ url = mock .ANY ,
444
+ headers = expected_headers ,
445
+ data = expected_data ,
446
+ timeout = None ,
447
+ )
448
+
449
+ def test_api_request_w_timeout (self ):
450
+ from google .cloud ._http import CLIENT_INFO_HEADER
451
+
452
+ http = make_requests_session (
453
+ [make_response (content = b"{}" , headers = self .JSON_HEADERS )]
454
+ )
455
+ client = mock .Mock (_http = http , spec = ["_http" ])
456
+ conn = self ._make_mock_one (client )
457
+ path = "/path/required"
458
+
459
+ self .assertEqual (conn .api_request ("GET" , path , timeout = (2.2 , 3.3 )), {})
460
+
461
+ expected_headers = {
462
+ "Accept-Encoding" : "gzip" ,
463
+ "User-Agent" : conn .user_agent ,
464
+ CLIENT_INFO_HEADER : conn .user_agent ,
465
+ }
466
+ expected_url = "{base}/mock/{version}{path}" .format (
467
+ base = conn .API_BASE_URL , version = conn .API_VERSION , path = path
468
+ )
469
+ http .request .assert_called_once_with (
470
+ method = "GET" ,
471
+ url = expected_url ,
472
+ headers = expected_headers ,
473
+ data = None ,
474
+ timeout = (2.2 , 3.3 ),
404
475
)
405
476
406
477
def test_api_request_w_404 (self ):
0 commit comments