1- import imghdr
21from tempfile import NamedTemporaryFile
32import uuid
4- import time
53from datetime import datetime
64
75import pytest
2220].sort ()
2321
2422
23+ @pytest .fixture
24+ def mdo (client ):
25+ mdo = client .get_data_row_metadata_ontology ()
26+ mdo ._raw_ontology = mdo ._get_ontology ()
27+ mdo ._build_ontology ()
28+ yield mdo
29+
30+
2531def make_metadata_fields ():
2632 embeddings = [0.0 ] * 128
2733 msg = "A message"
@@ -57,12 +63,6 @@ def make_metadata_fields_dict():
5763 return fields
5864
5965
60- def filter_precomputed_embeddings (metadata_fields ):
61- return list (
62- filter (lambda md : md ["name" ] != "precomputedImageEmbedding" ,
63- metadata_fields ))
64-
65-
6666def test_get_data_row (datarow , client ):
6767 assert client .get_data_row (datarow .uid )
6868
@@ -235,7 +235,7 @@ def test_create_data_row_with_invalid_input(dataset, image_url):
235235 dataset .create_data_row (dr , row_data = image_url )
236236
237237
238- def test_create_data_row_with_metadata (dataset , image_url ):
238+ def test_create_data_row_with_metadata (mdo , dataset , image_url ):
239239 client = dataset .client
240240 assert len (list (dataset .data_rows ())) == 0
241241
@@ -249,13 +249,17 @@ def test_create_data_row_with_metadata(dataset, image_url):
249249 assert requests .get (image_url ).content == \
250250 requests .get (data_row .row_data ).content
251251 assert data_row .media_attributes is not None
252- filtered_md_fields = filter_precomputed_embeddings (data_row .metadata_fields )
253- assert len (filtered_md_fields ) == 4
254- assert [m ["schemaId" ] for m in filtered_md_fields
252+ metadata_fields = data_row .metadata_fields
253+ metadata = data_row .metadata
254+ assert len (metadata_fields ) == 4
255+ assert len (metadata ) == 4
256+ assert [m ["schemaId" ] for m in metadata_fields
255257 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
258+ for m in metadata :
259+ assert mdo ._parse_upsert (m )
256260
257261
258- def test_create_data_row_with_metadata_dict (dataset , image_url ):
262+ def test_create_data_row_with_metadata_dict (mdo , dataset , image_url ):
259263 client = dataset .client
260264 assert len (list (dataset .data_rows ())) == 0
261265
@@ -269,10 +273,14 @@ def test_create_data_row_with_metadata_dict(dataset, image_url):
269273 assert requests .get (image_url ).content == \
270274 requests .get (data_row .row_data ).content
271275 assert data_row .media_attributes is not None
272- filtered_md_fields = filter_precomputed_embeddings (data_row .metadata_fields )
273- assert len (filtered_md_fields ) == 4
274- assert [m ["schemaId" ] for m in filtered_md_fields
276+ metadata_fields = data_row .metadata_fields
277+ metadata = data_row .metadata
278+ assert len (metadata_fields ) == 4
279+ assert len (metadata ) == 4
280+ assert [m ["schemaId" ] for m in metadata_fields
275281 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
282+ for m in metadata :
283+ assert mdo ._parse_upsert (m )
276284
277285
278286def test_create_data_row_with_invalid_metadata (dataset , image_url ):
@@ -284,7 +292,7 @@ def test_create_data_row_with_invalid_metadata(dataset, image_url):
284292 dataset .create_data_row (row_data = image_url , metadata_fields = fields )
285293
286294
287- def test_create_data_rows_with_metadata (dataset , image_url ):
295+ def test_create_data_rows_with_metadata (mdo , dataset , image_url ):
288296 client = dataset .client
289297 assert len (list (dataset .data_rows ())) == 0
290298
@@ -322,11 +330,14 @@ def test_create_data_rows_with_metadata(dataset, image_url):
322330 requests .get (row .row_data ).content
323331 assert row .media_attributes is not None
324332
325- # Remove 'precomputedImageEmbedding' metadata if automatically added
326- filtered_md_fields = filter_precomputed_embeddings (row .metadata_fields )
327- assert len (filtered_md_fields ) == 4
328- assert [m ["schemaId" ] for m in filtered_md_fields
333+ metadata_fields = row .metadata_fields
334+ metadata = row .metadata
335+ assert len (metadata_fields ) == 4
336+ assert len (metadata ) == 4
337+ assert [m ["schemaId" ] for m in metadata_fields
329338 ].sort () == EXPECTED_METADATA_SCHEMA_IDS
339+ for m in metadata :
340+ assert mdo ._parse_upsert (m )
330341
331342
332343def test_create_data_rows_with_invalid_metadata (dataset , image_url ):
0 commit comments