@@ -2057,6 +2057,7 @@ def test_get_table_sets_user_agent(self):
2057
2057
url = mock .ANY , method = mock .ANY , headers = mock .ANY , data = mock .ANY
2058
2058
)
2059
2059
http .reset_mock ()
2060
+ http .is_mtls = False
2060
2061
mock_response .status_code = 200
2061
2062
mock_response .json .return_value = self ._make_table_resource ()
2062
2063
user_agent_override = client_info .ClientInfo (user_agent = "my-application/1.2.3" )
@@ -4425,7 +4426,7 @@ def _mock_transport(self, status_code, headers, content=b""):
4425
4426
fake_transport .request .return_value = fake_response
4426
4427
return fake_transport
4427
4428
4428
- def _initiate_resumable_upload_helper (self , num_retries = None ):
4429
+ def _initiate_resumable_upload_helper (self , num_retries = None , mtls = False ):
4429
4430
from google .resumable_media .requests import ResumableUpload
4430
4431
from google .cloud .bigquery .client import _DEFAULT_CHUNKSIZE
4431
4432
from google .cloud .bigquery .client import _GENERIC_CONTENT_TYPE
@@ -4440,6 +4441,8 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
4440
4441
fake_transport = self ._mock_transport (http .client .OK , response_headers )
4441
4442
client = self ._make_one (project = self .PROJECT , _http = fake_transport )
4442
4443
conn = client ._connection = make_connection ()
4444
+ if mtls :
4445
+ conn .get_api_base_url_for_mtls = mock .Mock (return_value = "https://foo.mtls" )
4443
4446
4444
4447
# Create some mock arguments and call the method under test.
4445
4448
data = b"goodbye gudbi gootbee"
@@ -4454,8 +4457,10 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
4454
4457
4455
4458
# Check the returned values.
4456
4459
self .assertIsInstance (upload , ResumableUpload )
4460
+
4461
+ host_name = "https://foo.mtls" if mtls else "https://bigquery.googleapis.com"
4457
4462
upload_url = (
4458
- f"https://bigquery.googleapis.com /upload/bigquery/v2/projects/{ self .PROJECT } "
4463
+ f"{ host_name } /upload/bigquery/v2/projects/{ self .PROJECT } "
4459
4464
"/jobs?uploadType=resumable"
4460
4465
)
4461
4466
self .assertEqual (upload .upload_url , upload_url )
@@ -4494,11 +4499,14 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
4494
4499
def test__initiate_resumable_upload (self ):
4495
4500
self ._initiate_resumable_upload_helper ()
4496
4501
4502
+ def test__initiate_resumable_upload_mtls (self ):
4503
+ self ._initiate_resumable_upload_helper (mtls = True )
4504
+
4497
4505
def test__initiate_resumable_upload_with_retry (self ):
4498
4506
self ._initiate_resumable_upload_helper (num_retries = 11 )
4499
4507
4500
4508
def _do_multipart_upload_success_helper (
4501
- self , get_boundary , num_retries = None , project = None
4509
+ self , get_boundary , num_retries = None , project = None , mtls = False
4502
4510
):
4503
4511
from google .cloud .bigquery .client import _get_upload_headers
4504
4512
from google .cloud .bigquery .job import LoadJob
@@ -4508,6 +4516,8 @@ def _do_multipart_upload_success_helper(
4508
4516
fake_transport = self ._mock_transport (http .client .OK , {})
4509
4517
client = self ._make_one (project = self .PROJECT , _http = fake_transport )
4510
4518
conn = client ._connection = make_connection ()
4519
+ if mtls :
4520
+ conn .get_api_base_url_for_mtls = mock .Mock (return_value = "https://foo.mtls" )
4511
4521
4512
4522
if project is None :
4513
4523
project = self .PROJECT
@@ -4530,8 +4540,9 @@ def _do_multipart_upload_success_helper(
4530
4540
self .assertEqual (stream .tell (), size )
4531
4541
get_boundary .assert_called_once_with ()
4532
4542
4543
+ host_name = "https://foo.mtls" if mtls else "https://bigquery.googleapis.com"
4533
4544
upload_url = (
4534
- f"https://bigquery.googleapis.com /upload/bigquery/v2/projects/{ project } "
4545
+ f"{ host_name } /upload/bigquery/v2/projects/{ project } "
4535
4546
"/jobs?uploadType=multipart"
4536
4547
)
4537
4548
payload = (
@@ -4556,6 +4567,10 @@ def _do_multipart_upload_success_helper(
4556
4567
def test__do_multipart_upload (self , get_boundary ):
4557
4568
self ._do_multipart_upload_success_helper (get_boundary )
4558
4569
4570
+ @mock .patch ("google.resumable_media._upload.get_boundary" , return_value = b"==0==" )
4571
+ def test__do_multipart_upload_mtls (self , get_boundary ):
4572
+ self ._do_multipart_upload_success_helper (get_boundary , mtls = True )
4573
+
4559
4574
@mock .patch ("google.resumable_media._upload.get_boundary" , return_value = b"==0==" )
4560
4575
def test__do_multipart_upload_with_retry (self , get_boundary ):
4561
4576
self ._do_multipart_upload_success_helper (get_boundary , num_retries = 8 )
0 commit comments