Skip to content

Commit 4ec4b02

Browse files
committed
fix tests
1 parent 9690eab commit 4ec4b02

File tree

2 files changed

+35
-95
lines changed

2 files changed

+35
-95
lines changed

tests/integ/test_sklearn.py

-14
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,6 @@ def sklearn_training_job(
4646
sagemaker_session.boto_region_name
4747

4848

49-
def test_framework_processing_job_with_deps(
50-
sagemaker_session,
51-
sklearn_latest_version,
52-
sklearn_latest_py_version,
53-
cpu_instance_type,
54-
):
55-
return _run_processing_job(
56-
sagemaker_session,
57-
cpu_instance_type,
58-
sklearn_latest_version,
59-
sklearn_latest_py_version,
60-
)
61-
62-
6349
def test_training_with_additional_hyperparameters(
6450
sagemaker_session,
6551
sklearn_latest_version,

tests/unit/test_processing.py

+35-81
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ def test_sklearn_processor_with_required_parameters(
8888
exists_mock, isfile_mock, botocore_resolver, sagemaker_session, sklearn_version
8989
):
9090
botocore_resolver.return_value.construct_endpoint.return_value = {"hostname": ECR_HOSTNAME}
91-
9291
processor = SKLearnProcessor(
9392
role=ROLE,
9493
instance_type="ml.m4.xlarge",
@@ -99,34 +98,31 @@ def test_sklearn_processor_with_required_parameters(
9998

10099
processor.run(code="/local/path/to/processing_code.py")
101100

102-
expected_args = _get_expected_args_modular_code(processor._current_job_name)
101+
expected_args = _get_expected_args(processor._current_job_name)
103102

104103
sklearn_image_uri = (
105104
"246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:{}-cpu-py3"
106105
).format(sklearn_version)
107106
expected_args["app_specification"]["ImageUri"] = sklearn_image_uri
108-
109107
sagemaker_session.process.assert_called_with(**expected_args)
110108

111109

112110
@patch("sagemaker.utils._botocore_resolver")
113111
@patch("os.path.exists", return_value=True)
114112
@patch("os.path.isfile", return_value=True)
115113
def test_sklearn_with_all_parameters(
116-
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session, uploaded_code
114+
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session
117115
):
118116
botocore_resolver.return_value.construct_endpoint.return_value = {"hostname": ECR_HOSTNAME}
119117

120118
processor = SKLearnProcessor(
121119
role=ROLE,
122120
framework_version=sklearn_version,
123-
command=["Rscript"],
124121
instance_type="ml.m4.xlarge",
125122
instance_count=1,
126123
volume_size_in_gb=100,
127124
volume_kms_key="arn:aws:kms:us-west-2:012345678901:key/volume-kms-key",
128125
output_kms_key="arn:aws:kms:us-west-2:012345678901:key/output-kms-key",
129-
code_location=MOCKED_S3_URI,
130126
max_runtime_in_seconds=3600,
131127
base_job_name="my_sklearn_processor",
132128
env={"my_env_variable": "my_env_variable_value"},
@@ -140,21 +136,18 @@ def test_sklearn_with_all_parameters(
140136
sagemaker_session=sagemaker_session,
141137
)
142138

143-
with patch("sagemaker.estimator.tar_and_upload_dir", return_value=uploaded_code):
144-
processor.run(
145-
code="processing_code.py",
146-
source_dir="/local/path/to/source_dir",
147-
dependencies=["/local/path/to/dep_01"],
148-
inputs=_get_data_inputs_all_parameters(),
149-
outputs=_get_data_outputs_all_parameters(),
150-
arguments=["--drop-columns", "'SelfEmployed'"],
151-
wait=True,
152-
logs=False,
153-
job_name="my_job_name",
154-
experiment_config={"ExperimentName": "AnExperiment"},
155-
)
139+
processor.run(
140+
code="/local/path/to/processing_code.py",
141+
inputs=_get_data_inputs_all_parameters(),
142+
outputs=_get_data_outputs_all_parameters(),
143+
arguments=["--drop-columns", "'SelfEmployed'"],
144+
wait=True,
145+
logs=False,
146+
job_name="my_job_name",
147+
experiment_config={"ExperimentName": "AnExperiment"},
148+
)
156149

157-
expected_args = _get_expected_args_all_parameters_modular_code(processor._current_job_name)
150+
expected_args = _get_expected_args_all_parameters(processor._current_job_name)
158151
sklearn_image_uri = (
159152
"246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:{}-cpu-py3"
160153
).format(sklearn_version)
@@ -181,21 +174,18 @@ def test_local_mode_disables_local_code_by_default(localsession_mock):
181174
@patch("os.path.exists", return_value=True)
182175
@patch("os.path.isfile", return_value=True)
183176
def test_sklearn_with_all_parameters_via_run_args(
184-
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session, uploaded_code
177+
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session
185178
):
186179
botocore_resolver.return_value.construct_endpoint.return_value = {"hostname": ECR_HOSTNAME}
187-
custom_command = ["Rscript"]
188180

189181
processor = SKLearnProcessor(
190182
role=ROLE,
191183
framework_version=sklearn_version,
192-
command=custom_command,
193184
instance_type="ml.m4.xlarge",
194-
instance_count=2,
185+
instance_count=1,
195186
volume_size_in_gb=100,
196187
volume_kms_key="arn:aws:kms:us-west-2:012345678901:key/volume-kms-key",
197188
output_kms_key="arn:aws:kms:us-west-2:012345678901:key/output-kms-key",
198-
code_location=MOCKED_S3_URI,
199189
max_runtime_in_seconds=3600,
200190
base_job_name="my_sklearn_processor",
201191
env={"my_env_variable": "my_env_variable_value"},
@@ -209,55 +199,37 @@ def test_sklearn_with_all_parameters_via_run_args(
209199
sagemaker_session=sagemaker_session,
210200
)
211201

212-
with patch("sagemaker.estimator.tar_and_upload_dir", return_value=uploaded_code):
213-
run_args = processor.get_run_args(
214-
code="processing_code.py",
215-
source_dir="/local/path/to/source_dir",
216-
dependencies=["/local/path/to/dep_01"],
217-
git_config=None,
218-
inputs=_get_data_inputs_all_parameters(),
219-
outputs=_get_data_outputs_all_parameters(),
220-
arguments=["--drop-columns", "'SelfEmployed'"],
221-
)
222-
223-
processor.run(
224-
code=run_args.code,
225-
inputs=run_args.inputs,
226-
outputs=run_args.outputs,
227-
arguments=run_args.arguments,
228-
wait=True,
229-
logs=False,
230-
experiment_config={"ExperimentName": "AnExperiment"},
231-
)
202+
run_args = processor.get_run_args(
203+
code="/local/path/to/processing_code.py",
204+
inputs=_get_data_inputs_all_parameters(),
205+
outputs=_get_data_outputs_all_parameters(),
206+
arguments=["--drop-columns", "'SelfEmployed'"],
207+
)
232208

233-
expected_args = _get_expected_args_all_parameters_modular_code(
234-
processor._current_job_name,
235-
instance_count=2,
236-
code_s3_prefix=run_args.code.replace("/runproc.sh", ""),
209+
processor.run(
210+
code=run_args.code,
211+
inputs=run_args.inputs,
212+
outputs=run_args.outputs,
213+
arguments=run_args.arguments,
214+
wait=True,
215+
logs=False,
216+
experiment_config={"ExperimentName": "AnExperiment"},
237217
)
218+
219+
expected_args = _get_expected_args_all_parameters(processor._current_job_name)
238220
sklearn_image_uri = (
239221
"246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:{}-cpu-py3"
240222
).format(sklearn_version)
241223
expected_args["app_specification"]["ImageUri"] = sklearn_image_uri
242224

243225
sagemaker_session.process.assert_called_with(**expected_args)
244226

245-
# Verify the alternate command was applied successfully:
246-
framework_script = processor._generate_framework_script("processing_code.py")
247-
expected_invocation = f"{' '.join(custom_command)} processing_code.py"
248-
assert (
249-
f"\n{expected_invocation}" in framework_script
250-
), "Framework script should contain customized invocation:\n{}\n\nGot:\n{}".format(
251-
expected_invocation,
252-
framework_script,
253-
)
254-
255227

256228
@patch("sagemaker.utils._botocore_resolver")
257229
@patch("os.path.exists", return_value=True)
258230
@patch("os.path.isfile", return_value=True)
259231
def test_sklearn_with_all_parameters_via_run_args_called_twice(
260-
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session, uploaded_code
232+
exists_mock, isfile_mock, botocore_resolver, sklearn_version, sagemaker_session
261233
):
262234
botocore_resolver.return_value.construct_endpoint.return_value = {"hostname": ECR_HOSTNAME}
263235

@@ -269,7 +241,6 @@ def test_sklearn_with_all_parameters_via_run_args_called_twice(
269241
volume_size_in_gb=100,
270242
volume_kms_key="arn:aws:kms:us-west-2:012345678901:key/volume-kms-key",
271243
output_kms_key="arn:aws:kms:us-west-2:012345678901:key/output-kms-key",
272-
code_location=MOCKED_S3_URI,
273244
max_runtime_in_seconds=3600,
274245
base_job_name="my_sklearn_processor",
275246
env={"my_env_variable": "my_env_variable_value"},
@@ -283,27 +254,12 @@ def test_sklearn_with_all_parameters_via_run_args_called_twice(
283254
sagemaker_session=sagemaker_session,
284255
)
285256

286-
with patch("sagemaker.estimator.tar_and_upload_dir", return_value=uploaded_code):
287-
run_args = processor.get_run_args(
288-
code="processing_code.py",
289-
source_dir="/local/path/to/source_dir",
290-
dependencies=["/local/path/to/dep_01"],
291-
git_config=None,
292-
inputs=_get_data_inputs_all_parameters(),
293-
outputs=_get_data_outputs_all_parameters(),
294-
arguments=["--drop-columns", "'SelfEmployed'"],
295-
)
296-
297257
run_args = processor.get_run_args(
298258
code="/local/path/to/processing_code.py",
299-
source_dir=None,
300-
dependencies=None,
301-
git_config=None,
302259
inputs=_get_data_inputs_all_parameters(),
303260
outputs=_get_data_outputs_all_parameters(),
304261
arguments=["--drop-columns", "'SelfEmployed'"],
305262
)
306-
307263
processor.run(
308264
code=run_args.code,
309265
inputs=run_args.inputs,
@@ -314,10 +270,8 @@ def test_sklearn_with_all_parameters_via_run_args_called_twice(
314270
experiment_config={"ExperimentName": "AnExperiment"},
315271
)
316272

317-
expected_args = _get_expected_args_all_parameters_modular_code(
318-
processor._current_job_name,
319-
code_s3_prefix=run_args.code.replace("/runproc.sh", ""),
320-
)
273+
expected_args = _get_expected_args_all_parameters(processor._current_job_name)
274+
321275
sklearn_image_uri = (
322276
"246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:{}-cpu-py3"
323277
).format(sklearn_version)
@@ -853,7 +807,7 @@ def _get_script_processor(sagemaker_session):
853807
)
854808

855809

856-
def _get_expected_args(job_name, code_s3_uri=f"s3://{BUCKET_NAME}"):
810+
def _get_expected_args(job_name, code_s3_uri="s3://mocked_s3_uri_from_upload_data"):
857811
return {
858812
"inputs": [
859813
{

0 commit comments

Comments
 (0)