@@ -2057,6 +2057,7 @@ def test_get_table_sets_user_agent(self):
20572057 url = mock .ANY , method = mock .ANY , headers = mock .ANY , data = mock .ANY
20582058 )
20592059 http .reset_mock ()
2060+ http .is_mtls = False
20602061 mock_response .status_code = 200
20612062 mock_response .json .return_value = self ._make_table_resource ()
20622063 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""):
44254426 fake_transport .request .return_value = fake_response
44264427 return fake_transport
44274428
4428- def _initiate_resumable_upload_helper (self , num_retries = None ):
4429+ def _initiate_resumable_upload_helper (self , num_retries = None , mtls = False ):
44294430 from google .resumable_media .requests import ResumableUpload
44304431 from google .cloud .bigquery .client import _DEFAULT_CHUNKSIZE
44314432 from google .cloud .bigquery .client import _GENERIC_CONTENT_TYPE
@@ -4440,6 +4441,8 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
44404441 fake_transport = self ._mock_transport (http .client .OK , response_headers )
44414442 client = self ._make_one (project = self .PROJECT , _http = fake_transport )
44424443 conn = client ._connection = make_connection ()
4444+ if mtls :
4445+ conn .get_api_base_url_for_mtls = mock .Mock (return_value = "https://foo.mtls" )
44434446
44444447 # Create some mock arguments and call the method under test.
44454448 data = b"goodbye gudbi gootbee"
@@ -4454,8 +4457,10 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
44544457
44554458 # Check the returned values.
44564459 self .assertIsInstance (upload , ResumableUpload )
4460+
4461+ host_name = "https://foo.mtls" if mtls else "https://bigquery.googleapis.com"
44574462 upload_url = (
4458- f"https://bigquery.googleapis.com /upload/bigquery/v2/projects/{ self .PROJECT } "
4463+ f"{ host_name } /upload/bigquery/v2/projects/{ self .PROJECT } "
44594464 "/jobs?uploadType=resumable"
44604465 )
44614466 self .assertEqual (upload .upload_url , upload_url )
@@ -4494,11 +4499,14 @@ def _initiate_resumable_upload_helper(self, num_retries=None):
44944499 def test__initiate_resumable_upload (self ):
44954500 self ._initiate_resumable_upload_helper ()
44964501
4502+ def test__initiate_resumable_upload_mtls (self ):
4503+ self ._initiate_resumable_upload_helper (mtls = True )
4504+
44974505 def test__initiate_resumable_upload_with_retry (self ):
44984506 self ._initiate_resumable_upload_helper (num_retries = 11 )
44994507
45004508 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
45024510 ):
45034511 from google .cloud .bigquery .client import _get_upload_headers
45044512 from google .cloud .bigquery .job import LoadJob
@@ -4508,6 +4516,8 @@ def _do_multipart_upload_success_helper(
45084516 fake_transport = self ._mock_transport (http .client .OK , {})
45094517 client = self ._make_one (project = self .PROJECT , _http = fake_transport )
45104518 conn = client ._connection = make_connection ()
4519+ if mtls :
4520+ conn .get_api_base_url_for_mtls = mock .Mock (return_value = "https://foo.mtls" )
45114521
45124522 if project is None :
45134523 project = self .PROJECT
@@ -4530,8 +4540,9 @@ def _do_multipart_upload_success_helper(
45304540 self .assertEqual (stream .tell (), size )
45314541 get_boundary .assert_called_once_with ()
45324542
4543+ host_name = "https://foo.mtls" if mtls else "https://bigquery.googleapis.com"
45334544 upload_url = (
4534- f"https://bigquery.googleapis.com /upload/bigquery/v2/projects/{ project } "
4545+ f"{ host_name } /upload/bigquery/v2/projects/{ project } "
45354546 "/jobs?uploadType=multipart"
45364547 )
45374548 payload = (
@@ -4556,6 +4567,10 @@ def _do_multipart_upload_success_helper(
45564567 def test__do_multipart_upload (self , get_boundary ):
45574568 self ._do_multipart_upload_success_helper (get_boundary )
45584569
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+
45594574 @mock .patch ("google.resumable_media._upload.get_boundary" , return_value = b"==0==" )
45604575 def test__do_multipart_upload_with_retry (self , get_boundary ):
45614576 self ._do_multipart_upload_success_helper (get_boundary , num_retries = 8 )
0 commit comments