164164}
165165
166166MODEL_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" : [
175170 {
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+ },
199182 {
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+ },
211194 {
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+ ],
215205 },
216206 {
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+ ],
224224}
225225CONST_MODEL_FILE_DESCRIPTION = "modelDescription"
226226
227+
227228class TestDataScienceModel :
228229 DEFAULT_PROPERTIES_PAYLOAD = {
229230 "compartmentId" : DSC_MODEL_PAYLOAD ["compartmentId" ],
@@ -1131,8 +1132,6 @@ def test_download_artifact_for_model_created_by_reference(
11311132
11321133 mock_large_download .assert_called ()
11331134
1134-
1135-
11361135 @patch ("ads.common.oci_client.OCIClientFactory" )
11371136 def test_add_artifact (self , mock_oci_client_factory ):
11381137 r = ObjectVersionSummary ()
@@ -1151,54 +1150,64 @@ def test_add_artifact(self, mock_oci_client_factory):
11511150 # Mock object storage client
11521151 mock_object_storage_client = MagicMock ()
11531152 mock_object_storage_client .list_object_versions .return_value = mock_response
1154-
1153+
11551154 mock_oci_client_factory .return_value .object_storage = mock_object_storage_client
11561155
11571156 # self.mock_dsc_model
11581157 # 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+ )
11601161 expected_out = {
1161- ' version' : ' 1.0' ,
1162- ' type' : ' modelOSSReferenceDescription' ,
1163- ' models' : [
1162+ " version" : " 1.0" ,
1163+ " type" : " modelOSSReferenceDescription" ,
1164+ " models" : [
11641165 {
1165- ' namespace' : ' namespace' ,
1166- ' bucketName' : ' bucket' ,
1167- ' prefix' : ' prefix' ,
1168- ' objects' : [
1166+ " namespace" : " namespace" ,
1167+ " bucketName" : " bucket" ,
1168+ " prefix" : " prefix" ,
1169+ " objects" : [
11691170 {
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 ,
11731174 }
1174- ]
1175+ ],
11751176 }
1176- ]
1177+ ],
11771178 }
11781179 assert self .mock_dsc_model .model_file_description == expected_out
11791180 # 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+ )
11811184 assert self .mock_dsc_model .model_file_description != expected_out
11821185 expected_out = {
1183- ' version' : ' 1.0' ,
1184- ' type' : ' modelOSSReferenceDescription' ,
1185- ' models' : []
1186+ " version" : " 1.0" ,
1187+ " type" : " modelOSSReferenceDescription" ,
1188+ " models" : [],
11861189 }
11871190 assert self .mock_dsc_model .model_file_description == expected_out
11881191
11891192 def test_remove_artifact (self ):
11901193 # 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+ )
11921197
11931198 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+ )
11961203 assert self .mock_dsc_model .model_file_description == MODEL_BY_REF_JSON
1197-
1204+
11981205 # 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+ )
12001209 assert self .mock_dsc_model .model_file_description != MODEL_BY_REF_JSON
1201-
1210+
12021211 exptected_json = deepcopy (MODEL_BY_REF_JSON )
12031212 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