164
164
}
165
165
166
166
MODEL_BY_REF_JSON = {
167
- "version" : "1.0" ,
168
- "type" : "modelOSSReferenceDescription" ,
169
- "models" : [
170
- {
171
- "namespace" : "ociodscdev" ,
172
- "bucketName" : "unzip-multi-model" ,
173
- "prefix" : "model-linear-1" ,
174
- "objects" : [
167
+ "version" : "1.0" ,
168
+ "type" : "modelOSSReferenceDescription" ,
169
+ "models" : [
175
170
{
176
- "name" : "model-linear-1/linear-1.pkl" ,
177
- "version" : "ee260f4a-920a-4b4e-974a-c13a1032558e" ,
178
- "sizeInBytes" : 565
179
- }
180
- ]
181
- },
182
- {
183
- "namespace" : "ociodscdev" ,
184
- "bucketName" : "unzip-multi-model" ,
185
- "prefix" : "model-linear-2" ,
186
- "objects" : [
187
- {
188
- "name" : "model-linear-2/linear-2.pkl" ,
189
- "version" : "dc26a7d2-8041-4b37-8ed0-9e8c10869340" ,
190
- "sizeInBytes" : 565
191
- }
192
- ]
193
- },
194
- {
195
- "namespace" : "ociodscdev" ,
196
- "bucketName" : "unzip-multi-model" ,
197
- "prefix" : "model-linear-3" ,
198
- "objects" : [
171
+ "namespace" : "ociodscdev" ,
172
+ "bucketName" : "unzip-multi-model" ,
173
+ "prefix" : "model-linear-1" ,
174
+ "objects" : [
175
+ {
176
+ "name" : "model-linear-1/linear-1.pkl" ,
177
+ "version" : "ee260f4a-920a-4b4e-974a-c13a1032558e" ,
178
+ "sizeInBytes" : 565 ,
179
+ }
180
+ ],
181
+ },
199
182
{
200
- "name " : "model-linear-3/linear-3.pkl " ,
201
- "version " : "a22c1211-f7d4-4fd4-96d8-4e3a048c5cf7 " ,
202
- "sizeInBytes " : 565
203
- }
204
- ]
205
- } ,
206
- {
207
- "namespace " : "ociodscdev" ,
208
- "bucketName" : "unzip-multi-model" ,
209
- "prefix" : "" ,
210
- "objects" : [
183
+ "namespace " : "ociodscdev " ,
184
+ "bucketName " : "unzip-multi-model " ,
185
+ "prefix " : "model-linear-2" ,
186
+ "objects" : [
187
+ {
188
+ "name" : "model-linear-2/linear-2.pkl" ,
189
+ "version" : "dc26a7d2-8041-4b37-8ed0-9e8c10869340" ,
190
+ "sizeInBytes " : 565 ,
191
+ }
192
+ ] ,
193
+ },
211
194
{
212
- "name" : "runtime.yaml" ,
213
- "version" : "30afb1a6-ab1f-42a3-95e3-09f61a0046fd" ,
214
- "sizeInBytes" : 334
195
+ "namespace" : "ociodscdev" ,
196
+ "bucketName" : "unzip-multi-model" ,
197
+ "prefix" : "model-linear-3" ,
198
+ "objects" : [
199
+ {
200
+ "name" : "model-linear-3/linear-3.pkl" ,
201
+ "version" : "a22c1211-f7d4-4fd4-96d8-4e3a048c5cf7" ,
202
+ "sizeInBytes" : 565 ,
203
+ }
204
+ ],
215
205
},
216
206
{
217
- "name" : "score.py" ,
218
- "version" : "c4ccaf96-05be-4174-ac3b-15dce2f558fe" ,
219
- "sizeInBytes" : 772
220
- }
221
- ]
222
- }
223
- ]
207
+ "namespace" : "ociodscdev" ,
208
+ "bucketName" : "unzip-multi-model" ,
209
+ "prefix" : "" ,
210
+ "objects" : [
211
+ {
212
+ "name" : "runtime.yaml" ,
213
+ "version" : "30afb1a6-ab1f-42a3-95e3-09f61a0046fd" ,
214
+ "sizeInBytes" : 334 ,
215
+ },
216
+ {
217
+ "name" : "score.py" ,
218
+ "version" : "c4ccaf96-05be-4174-ac3b-15dce2f558fe" ,
219
+ "sizeInBytes" : 772 ,
220
+ },
221
+ ],
222
+ },
223
+ ],
224
224
}
225
225
CONST_MODEL_FILE_DESCRIPTION = "modelDescription"
226
226
227
+
227
228
class TestDataScienceModel :
228
229
DEFAULT_PROPERTIES_PAYLOAD = {
229
230
"compartmentId" : DSC_MODEL_PAYLOAD ["compartmentId" ],
@@ -1131,8 +1132,6 @@ def test_download_artifact_for_model_created_by_reference(
1131
1132
1132
1133
mock_large_download .assert_called ()
1133
1134
1134
-
1135
-
1136
1135
@patch ("ads.common.oci_client.OCIClientFactory" )
1137
1136
def test_add_artifact (self , mock_oci_client_factory ):
1138
1137
r = ObjectVersionSummary ()
@@ -1151,54 +1150,64 @@ def test_add_artifact(self, mock_oci_client_factory):
1151
1150
# Mock object storage client
1152
1151
mock_object_storage_client = MagicMock ()
1153
1152
mock_object_storage_client .list_object_versions .return_value = mock_response
1154
-
1153
+
1155
1154
mock_oci_client_factory .return_value .object_storage = mock_object_storage_client
1156
1155
1157
1156
# self.mock_dsc_model
1158
1157
# self.mock_dsc_model.add_artifact(uri="oci://bucket@namespace/prefix")
1159
- self .mock_dsc_model .add_artifact (namespace = "namespace" , bucket = "bucket" , prefix = "prefix" )
1158
+ self .mock_dsc_model .add_artifact (
1159
+ namespace = "namespace" , bucket = "bucket" , prefix = "prefix"
1160
+ )
1160
1161
expected_out = {
1161
- ' version' : ' 1.0' ,
1162
- ' type' : ' modelOSSReferenceDescription' ,
1163
- ' models' : [
1162
+ " version" : " 1.0" ,
1163
+ " type" : " modelOSSReferenceDescription" ,
1164
+ " models" : [
1164
1165
{
1165
- ' namespace' : ' namespace' ,
1166
- ' bucketName' : ' bucket' ,
1167
- ' prefix' : ' prefix' ,
1168
- ' objects' : [
1166
+ " namespace" : " namespace" ,
1167
+ " bucketName" : " bucket" ,
1168
+ " prefix" : " prefix" ,
1169
+ " objects" : [
1169
1170
{
1170
- ' name' : ' model-linear-2/linear-2.pkl' ,
1171
- ' version' : ' dc26a7d2-8041-4b37-8ed0-9e8c10869340' ,
1172
- ' sizeInBytes' : 566
1171
+ " name" : " model-linear-2/linear-2.pkl" ,
1172
+ " version" : " dc26a7d2-8041-4b37-8ed0-9e8c10869340" ,
1173
+ " sizeInBytes" : 566 ,
1173
1174
}
1174
- ]
1175
+ ],
1175
1176
}
1176
- ]
1177
+ ],
1177
1178
}
1178
1179
assert self .mock_dsc_model .model_file_description == expected_out
1179
1180
# self.mock_dsc_model.remove_artifact(uri="oci://bucket@namespace/prefix")
1180
- self .mock_dsc_model .remove_artifact (namespace = "namespace" , bucket = "bucket" , prefix = "prefix" )
1181
+ self .mock_dsc_model .remove_artifact (
1182
+ namespace = "namespace" , bucket = "bucket" , prefix = "prefix"
1183
+ )
1181
1184
assert self .mock_dsc_model .model_file_description != expected_out
1182
1185
expected_out = {
1183
- ' version' : ' 1.0' ,
1184
- ' type' : ' modelOSSReferenceDescription' ,
1185
- ' models' : []
1186
+ " version" : " 1.0" ,
1187
+ " type" : " modelOSSReferenceDescription" ,
1188
+ " models" : [],
1186
1189
}
1187
1190
assert self .mock_dsc_model .model_file_description == expected_out
1188
1191
1189
1192
def test_remove_artifact (self ):
1190
1193
# self.mock_dsc_model.remove_artifact(uri="oci://unzip-multi-model@ociodscdev/model-linear-1")
1191
- self .mock_dsc_model .remove_artifact (namespace = "ociodscdev" , bucket = "unzip-multi-model" , prefix = "model-linear-1" )
1194
+ self .mock_dsc_model .remove_artifact (
1195
+ namespace = "ociodscdev" , bucket = "unzip-multi-model" , prefix = "model-linear-1"
1196
+ )
1192
1197
1193
1198
assert self .mock_dsc_model .model_file_description == None
1194
-
1195
- self .mock_dsc_model .set_spec (CONST_MODEL_FILE_DESCRIPTION , deepcopy (MODEL_BY_REF_JSON ))
1199
+
1200
+ self .mock_dsc_model .set_spec (
1201
+ CONST_MODEL_FILE_DESCRIPTION , deepcopy (MODEL_BY_REF_JSON )
1202
+ )
1196
1203
assert self .mock_dsc_model .model_file_description == MODEL_BY_REF_JSON
1197
-
1204
+
1198
1205
# self.mock_dsc_model.remove_artifact(uri="oci://unzip-multi-model@ociodscdev/model-linear-1")
1199
- self .mock_dsc_model .remove_artifact (namespace = "ociodscdev" , bucket = "unzip-multi-model" , prefix = "model-linear-1" )
1206
+ self .mock_dsc_model .remove_artifact (
1207
+ namespace = "ociodscdev" , bucket = "unzip-multi-model" , prefix = "model-linear-1"
1208
+ )
1200
1209
assert self .mock_dsc_model .model_file_description != MODEL_BY_REF_JSON
1201
-
1210
+
1202
1211
exptected_json = deepcopy (MODEL_BY_REF_JSON )
1203
1212
exptected_json ["models" ] = exptected_json ["models" ][1 :]
1204
- assert self .mock_dsc_model .model_file_description == exptected_json
1213
+ assert self .mock_dsc_model .model_file_description == exptected_json
0 commit comments