@@ -163,3 +163,28 @@ def test_local_transform_job_perform_batch_inference(
163163 assert len (output_files ) == 2
164164 assert "file1.out" in output_files
165165 assert "file2.out" in output_files
166+
167+
168+ @patch ("sagemaker.local.entities._SageMakerContainer" , Mock ())
169+ @patch ("sagemaker.local.entities.get_docker_host" )
170+ @patch ("sagemaker.local.entities._perform_request" )
171+ @patch ("sagemaker.local.entities._LocalTransformJob._perform_batch_inference" )
172+ def test_start_local_transform_job_from_remote_docker_host (
173+ m_perform_batch_inference , m_perform_request , m_get_docker_host , local_transform_job
174+ ):
175+ input_data = {}
176+ output_data = {}
177+ transform_resources = {"InstanceType" : "local" }
178+ m_get_docker_host .return_value = "some_host"
179+ perform_request_mock = Mock ()
180+ m_perform_request .return_value = (perform_request_mock , 200 )
181+ perform_request_mock .read .return_value = '{"BatchStrategy": "SingleRecord"}'
182+ local_transform_job .primary_container ["ModelDataUrl" ] = "file:///some/model"
183+ local_transform_job .start (input_data , output_data , transform_resources , Environment = {})
184+ endpoints = [
185+ "http://%s:%d/ping" % ("some_host" , 8080 ),
186+ "http://%s:%d/execution-parameters" % ("some_host" , 8080 ),
187+ ]
188+ calls = m_perform_request .call_args_list
189+ for call , endpoint in zip (calls , endpoints ):
190+ assert call [0 ][0 ] == endpoint
0 commit comments