@@ -124,7 +124,9 @@ def test_pipeline_session_context_for_model_step(pipeline_session_mock):
124
124
assert len (register_step_args .need_runtime_repack ) == 0
125
125
126
126
127
- def test_pipeline_session_context_for_model_step_without_instance_types (pipeline_session_mock ):
127
+ def test_pipeline_session_context_for_model_step_without_instance_types (
128
+ pipeline_session_mock ,
129
+ ):
128
130
model = Model (
129
131
name = "MyModel" ,
130
132
image_uri = "fakeimage" ,
@@ -134,27 +136,38 @@ def test_pipeline_session_context_for_model_step_without_instance_types(pipeline
134
136
source_dir = f"{ DATA_DIR } " ,
135
137
role = _ROLE ,
136
138
)
137
- # CreateModelStep requires runtime repack
138
- create_step_args = model .create (
139
- instance_type = "c4.4xlarge" ,
140
- accelerator_type = "ml.eia1.medium" ,
141
- )
142
- # The context should be cleaned up before return
143
- assert pipeline_session_mock .context is None
144
- assert create_step_args .create_model_request
145
- assert not create_step_args .create_model_package_request
146
- assert len (create_step_args .need_runtime_repack ) == 1
147
139
148
- # _RegisterModelStep does not require runtime repack
149
- model .entry_point = None
150
- model .source_dir = None
151
140
register_step_args = model .register (
152
141
content_types = ["text/csv" ],
153
142
response_types = ["text/csv" ],
154
143
model_package_group_name = "MyModelPackageGroup" ,
155
144
)
156
- # The context should be cleaned up before return
157
- assert not pipeline_session_mock .context
158
- assert not register_step_args .create_model_request
159
- assert register_step_args .create_model_package_request
160
- assert len (register_step_args .need_runtime_repack ) == 0
145
+
146
+ expected_output = {
147
+ "ModelPackageGroupName" : "MyModelPackageGroup" ,
148
+ "InferenceSpecification" : {
149
+ "Containers" : [
150
+ {
151
+ "Image" : "fakeimage" ,
152
+ "Environment" : {
153
+ "SAGEMAKER_PROGRAM" : "dummy_script.py" ,
154
+ "SAGEMAKER_SUBMIT_DIRECTORY" : "/opt/ml/model/code" ,
155
+ "SAGEMAKER_CONTAINER_LOG_LEVEL" : "20" ,
156
+ "SAGEMAKER_REGION" : "us-west-2" ,
157
+ },
158
+ "ModelDataUrl" : ParameterString (
159
+ name = "ModelData" ,
160
+ default_value = "s3://my-bucket/file" ,
161
+ ),
162
+ }
163
+ ],
164
+ "SupportedContentTypes" : ["text/csv" ],
165
+ "SupportedResponseMIMETypes" : ["text/csv" ],
166
+ "SupportedRealtimeInferenceInstanceTypes" : None ,
167
+ "SupportedTransformInstanceTypes" : None ,
168
+ },
169
+ "CertifyForMarketplace" : False ,
170
+ "ModelApprovalStatus" : "PendingManualApproval" ,
171
+ }
172
+
173
+ assert register_step_args .create_model_package_request == expected_output
0 commit comments