Skip to content

Commit bb88179

Browse files
author
Kevin Kim
committed
Merge branch 'jtso/globalkeys' of https://github.com/Labelbox/labelbox-python into jtso/globalkeys
2 parents 0d3f0ef + ba19db0 commit bb88179

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

tests/integration/test_data_rows.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ def test_data_row_bulk_creation(dataset, rand_gen, image_url):
117117
data_rows = list(dataset.data_rows())
118118
assert len(data_rows) == 2
119119
assert {data_row.row_data for data_row in data_rows} == {image_url}
120+
assert {data_row.global_key for data_row in data_rows} == {None}
120121

121122
# Test creation using file name
122123
with NamedTemporaryFile() as fp:
@@ -174,6 +175,7 @@ def test_data_row_single_creation(dataset, rand_gen, image_url):
174175
assert requests.get(image_url).content == \
175176
requests.get(data_row.row_data).content
176177
assert data_row.media_attributes is not None
178+
assert data_row.global_key is None
177179

178180
with NamedTemporaryFile() as fp:
179181
data = rand_gen(str).encode()
@@ -582,3 +584,64 @@ def test_create_data_rows_local_file(dataset, sample_image):
582584
data_row = list(dataset.data_rows())[0]
583585
assert data_row.external_id == "tests/integration/media/sample_image.jpg"
584586
assert len(data_row.metadata_fields) == 4
587+
588+
589+
def test_data_row_with_global_key(dataset, sample_image):
590+
global_key = str(uuid.uuid4())
591+
row = dataset.create_data_row({
592+
DataRow.row_data: sample_image,
593+
DataRow.global_key: global_key
594+
})
595+
596+
assert row.global_key == global_key
597+
598+
599+
def test_data_row_bulk_creation_with_unique_global_keys(dataset, sample_image):
600+
global_key_1 = str(uuid.uuid4())
601+
global_key_2 = str(uuid.uuid4())
602+
global_key_3 = str(uuid.uuid4())
603+
604+
task = dataset.create_data_rows([
605+
{
606+
DataRow.row_data: sample_image,
607+
DataRow.global_key: global_key_1
608+
},
609+
{
610+
DataRow.row_data: sample_image,
611+
DataRow.global_key: global_key_2
612+
},
613+
{
614+
DataRow.row_data: sample_image,
615+
DataRow.global_key: global_key_3
616+
},
617+
])
618+
619+
task.wait_till_done()
620+
assert {row.global_key for row in dataset.data_rows()
621+
} == {global_key_1, global_key_2, global_key_3}
622+
623+
624+
def test_data_row_bulk_creation_with_same_global_keys(dataset, sample_image):
625+
global_key_1 = str(uuid.uuid4())
626+
627+
task = dataset.create_data_rows([{
628+
DataRow.row_data: sample_image,
629+
DataRow.global_key: global_key_1
630+
}, {
631+
DataRow.row_data: sample_image,
632+
DataRow.global_key: global_key_1
633+
}])
634+
635+
task.wait_till_done()
636+
assert task.status == "FAILED"
637+
assert len(list(dataset.data_rows())) == 0
638+
639+
task = dataset.create_data_rows([{
640+
DataRow.row_data: sample_image,
641+
DataRow.global_key: global_key_1
642+
}])
643+
644+
task.wait_till_done()
645+
assert task.status == "COMPLETE"
646+
assert len(list(dataset.data_rows())) == 1
647+
assert list(dataset.data_rows())[0].global_key == global_key_1

0 commit comments

Comments
 (0)