|
4 | 4 | import uuid |
5 | 5 |
|
6 | 6 | from labelbox import DataRow, Dataset |
| 7 | +from labelbox.exceptions import MalformedQueryException |
7 | 8 | from labelbox.schema.data_row_metadata import DataRowMetadataField, DataRowMetadata, DataRowMetadataKind, DeleteDataRowMetadata, \ |
8 | 9 | DataRowMetadataOntology, _parse_metadata_schema |
9 | 10 |
|
|
17 | 18 | TEXT_SCHEMA_ID = "cko8s9r5v0001h2dk9elqdidh" |
18 | 19 | CAPTURE_DT_SCHEMA_ID = "cko8sdzv70006h2dk8jg64zvb" |
19 | 20 | PRE_COMPUTED_EMBEDDINGS_ID = 'ckrzang79000008l6hb5s6za1' |
20 | | -CUSTOM_TEXT_SCHEMA_NAME = 'custom_text' |
| 21 | +CUSTOM_TEXT_SCHEMA_NAME = 'datarow_metadata_custom_text' |
21 | 22 |
|
22 | 23 | FAKE_NUMBER_FIELD = { |
23 | 24 | "id": FAKE_SCHEMA_ID, |
|
30 | 31 | @pytest.fixture |
31 | 32 | def mdo(client): |
32 | 33 | mdo = client.get_data_row_metadata_ontology() |
33 | | - for schema in mdo.custom_fields: |
34 | | - mdo.delete_schema(schema.name) |
35 | | - mdo.create_schema(CUSTOM_TEXT_SCHEMA_NAME, DataRowMetadataKind.string) |
| 34 | + try: |
| 35 | + mdo.create_schema(CUSTOM_TEXT_SCHEMA_NAME, DataRowMetadataKind.string) |
| 36 | + except MalformedQueryException: |
| 37 | + # Do nothing if already exists |
| 38 | + pass |
36 | 39 | mdo._raw_ontology = mdo._get_ontology() |
37 | 40 | mdo._raw_ontology.append(FAKE_NUMBER_FIELD) |
38 | 41 | mdo._build_ontology() |
39 | 42 | yield mdo |
| 43 | + mdo.delete_schema(CUSTOM_TEXT_SCHEMA_NAME) |
40 | 44 |
|
41 | 45 |
|
42 | 46 | @pytest.fixture |
@@ -101,7 +105,8 @@ def test_export_empty_metadata(client, configured_project_with_label, |
101 | 105 | def test_get_datarow_metadata_ontology(mdo): |
102 | 106 | assert len(mdo.fields) |
103 | 107 | assert len(mdo.reserved_fields) |
104 | | - assert len(mdo.custom_fields) == 2 |
| 108 | + # three are created by mdo fixture but there may be more |
| 109 | + assert len(mdo.custom_fields) >= 3 |
105 | 110 |
|
106 | 111 | split = mdo.reserved_by_name["split"]["train"] |
107 | 112 |
|
|
0 commit comments