2424
2525import tests .integ .lock as lock
2626from tests .integ import DATA_DIR
27+ from mock import Mock , ANY
2728
2829from sagemaker import image_uris
2930
@@ -221,6 +222,13 @@ def test_mxnet_local_data_local_script(
221222):
222223 data_path = os .path .join (DATA_DIR , "mxnet_mnist" )
223224 script_path = os .path .join (data_path , "mnist.py" )
225+ local_no_s3_session = LocalNoS3Session ()
226+ local_no_s3_session .boto_session .resource = Mock (
227+ side_effect = local_no_s3_session .boto_session .resource
228+ )
229+ local_no_s3_session .boto_session .client = Mock (
230+ side_effect = local_no_s3_session .boto_session .client
231+ )
224232
225233 mx = MXNet (
226234 entry_point = script_path ,
@@ -229,7 +237,7 @@ def test_mxnet_local_data_local_script(
229237 instance_type = "local" ,
230238 framework_version = mxnet_training_latest_version ,
231239 py_version = mxnet_training_latest_py_version ,
232- sagemaker_session = LocalNoS3Session () ,
240+ sagemaker_session = local_no_s3_session ,
233241 )
234242
235243 train_input = "file://" + os .path .join (data_path , "train" )
@@ -243,6 +251,11 @@ def test_mxnet_local_data_local_script(
243251 predictor = mx .deploy (1 , "local" , endpoint_name = endpoint_name )
244252 data = numpy .zeros (shape = (1 , 1 , 28 , 28 ))
245253 predictor .predict (data )
254+ # check if no boto_session s3 calls were made
255+ with pytest .raises (AssertionError ):
256+ local_no_s3_session .boto_session .resource .assert_called_with ("s3" , region_name = ANY )
257+ with pytest .raises (AssertionError ):
258+ local_no_s3_session .boto_session .client .assert_called_with ("s3" , region_name = ANY )
246259 finally :
247260 predictor .delete_endpoint ()
248261
0 commit comments