1+ import imghdr
12from tempfile import NamedTemporaryFile
23import uuid
34import time
@@ -177,12 +178,63 @@ def test_data_row_single_creation(dataset, rand_gen, image_url):
177178 assert requests .get (data_row_2 .row_data ).content == data
178179
179180
181+ def test_create_data_row_with_dict (dataset , image_url ):
182+ client = dataset .client
183+ assert len (list (dataset .data_rows ())) == 0
184+ dr = {"row_data" : image_url }
185+ data_row = dataset .create_data_row (dr )
186+ assert len (list (dataset .data_rows ())) == 1
187+ assert data_row .dataset () == dataset
188+ assert data_row .created_by () == client .get_user ()
189+ assert data_row .organization () == client .get_organization ()
190+ assert requests .get (image_url ).content == \
191+ requests .get (data_row .row_data ).content
192+ assert data_row .media_attributes is not None
193+
194+
195+ def test_create_data_row_with_dict_containing_field (dataset , image_url ):
196+ client = dataset .client
197+ assert len (list (dataset .data_rows ())) == 0
198+ dr = {DataRow .row_data : image_url }
199+ data_row = dataset .create_data_row (dr )
200+ assert len (list (dataset .data_rows ())) == 1
201+ assert data_row .dataset () == dataset
202+ assert data_row .created_by () == client .get_user ()
203+ assert data_row .organization () == client .get_organization ()
204+ assert requests .get (image_url ).content == \
205+ requests .get (data_row .row_data ).content
206+ assert data_row .media_attributes is not None
207+
208+
209+ def test_create_data_row_with_dict_unpacked (dataset , image_url ):
210+ client = dataset .client
211+ assert len (list (dataset .data_rows ())) == 0
212+ dr = {"row_data" : image_url }
213+ data_row = dataset .create_data_row (** dr )
214+ assert len (list (dataset .data_rows ())) == 1
215+ assert data_row .dataset () == dataset
216+ assert data_row .created_by () == client .get_user ()
217+ assert data_row .organization () == client .get_organization ()
218+ assert requests .get (image_url ).content == \
219+ requests .get (data_row .row_data ).content
220+ assert data_row .media_attributes is not None
221+
222+
223+ def test_create_data_row_with_invalid_input (dataset , image_url ):
224+ with pytest .raises (labelbox .exceptions .InvalidQueryError ) as exc :
225+ dataset .create_data_row ("asdf" )
226+
227+ dr = {"row_data" : image_url }
228+ with pytest .raises (labelbox .exceptions .InvalidQueryError ) as exc :
229+ dataset .create_data_row (dr , row_data = image_url )
230+
231+
180232def test_create_data_row_with_metadata (dataset , image_url ):
181233 client = dataset .client
182234 assert len (list (dataset .data_rows ())) == 0
183235
184236 data_row = dataset .create_data_row (row_data = image_url ,
185- custom_metadata = make_metadata_fields ())
237+ metadata_fields = make_metadata_fields ())
186238
187239 assert len (list (dataset .data_rows ())) == 1
188240 assert data_row .dataset () == dataset
@@ -191,8 +243,8 @@ def test_create_data_row_with_metadata(dataset, image_url):
191243 assert requests .get (image_url ).content == \
192244 requests .get (data_row .row_data ).content
193245 assert data_row .media_attributes is not None
194- assert len (data_row .custom_metadata ) == 5
195- assert [m ["schemaId" ] for m in data_row .custom_metadata
246+ assert len (data_row .metadata_fields ) == 4
247+ assert [m ["schemaId" ] for m in data_row .metadata_fields
196248 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
197249
198250
@@ -201,7 +253,7 @@ def test_create_data_row_with_metadata_dict(dataset, image_url):
201253 assert len (list (dataset .data_rows ())) == 0
202254
203255 data_row = dataset .create_data_row (
204- row_data = image_url , custom_metadata = make_metadata_fields_dict ())
256+ row_data = image_url , metadata_fields = make_metadata_fields_dict ())
205257
206258 assert len (list (dataset .data_rows ())) == 1
207259 assert data_row .dataset () == dataset
@@ -210,8 +262,8 @@ def test_create_data_row_with_metadata_dict(dataset, image_url):
210262 assert requests .get (image_url ).content == \
211263 requests .get (data_row .row_data ).content
212264 assert data_row .media_attributes is not None
213- assert len (data_row .custom_metadata ) == 5
214- assert [m ["schemaId" ] for m in data_row .custom_metadata
265+ assert len (data_row .metadata_fields ) == 4
266+ assert [m ["schemaId" ] for m in data_row .metadata_fields
215267 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
216268
217269
@@ -221,7 +273,7 @@ def test_create_data_row_with_invalid_metadata(dataset, image_url):
221273 DataRowMetadataField (schema_id = EMBEDDING_SCHEMA_ID , value = [0.0 ] * 128 ))
222274
223275 with pytest .raises (labelbox .exceptions .MalformedQueryException ) as excinfo :
224- dataset .create_data_row (row_data = image_url , custom_metadata = fields )
276+ dataset .create_data_row (row_data = image_url , metadata_fields = fields )
225277
226278
227279def test_create_data_rows_with_metadata (dataset , image_url ):
@@ -232,22 +284,22 @@ def test_create_data_rows_with_metadata(dataset, image_url):
232284 {
233285 DataRow .row_data : image_url ,
234286 DataRow .external_id : "row1" ,
235- DataRow .custom_metadata : make_metadata_fields ()
287+ DataRow .metadata_fields : make_metadata_fields ()
236288 },
237289 {
238290 DataRow .row_data : image_url ,
239291 DataRow .external_id : "row2" ,
240- "custom_metadata " : make_metadata_fields ()
292+ "metadata_fields " : make_metadata_fields ()
241293 },
242294 {
243295 DataRow .row_data : image_url ,
244296 DataRow .external_id : "row3" ,
245- DataRow .custom_metadata : make_metadata_fields_dict ()
297+ DataRow .metadata_fields : make_metadata_fields_dict ()
246298 },
247299 {
248300 DataRow .row_data : image_url ,
249301 DataRow .external_id : "row4" ,
250- "custom_metadata " : make_metadata_fields_dict ()
302+ "metadata_fields " : make_metadata_fields_dict ()
251303 },
252304 ])
253305 task .wait_till_done ()
@@ -261,8 +313,8 @@ def test_create_data_rows_with_metadata(dataset, image_url):
261313 assert requests .get (image_url ).content == \
262314 requests .get (row .row_data ).content
263315 assert row .media_attributes is not None
264- assert len (row .custom_metadata ) == 5
265- assert [m ["schemaId" ] for m in row .custom_metadata
316+ assert len (row .metadata_fields ) == 4
317+ assert [m ["schemaId" ] for m in row .metadata_fields
266318 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
267319
268320
@@ -273,7 +325,7 @@ def test_create_data_rows_with_invalid_metadata(dataset, image_url):
273325
274326 task = dataset .create_data_rows ([{
275327 DataRow .row_data : image_url ,
276- DataRow .custom_metadata : fields
328+ DataRow .metadata_fields : fields
277329 }])
278330 task .wait_till_done ()
279331 assert task .status == "FAILED"
@@ -288,7 +340,7 @@ def test_create_data_rows_with_metadata_missing_value(dataset, image_url):
288340 {
289341 DataRow .row_data : image_url ,
290342 DataRow .external_id : "row1" ,
291- DataRow .custom_metadata : fields
343+ DataRow .metadata_fields : fields
292344 },
293345 ])
294346
@@ -302,7 +354,7 @@ def test_create_data_rows_with_metadata_missing_schema_id(dataset, image_url):
302354 {
303355 DataRow .row_data : image_url ,
304356 DataRow .external_id : "row1" ,
305- DataRow .custom_metadata : fields
357+ DataRow .metadata_fields : fields
306358 },
307359 ])
308360
@@ -316,7 +368,7 @@ def test_create_data_rows_with_metadata_wrong_type(dataset, image_url):
316368 {
317369 DataRow .row_data : image_url ,
318370 DataRow .external_id : "row1" ,
319- DataRow .custom_metadata : fields
371+ DataRow .metadata_fields : fields
320372 },
321373 ])
322374
0 commit comments