Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions tests/integration/annotation_import/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from typing import Type
from labelbox.schema.labeling_frontend import LabelingFrontend
from labelbox.schema.annotation_import import MALPredictionImport, AnnotationImportState
from labelbox.schema.annotation_import import LabelImport, MALPredictionImport, AnnotationImportState


@pytest.fixture
Expand Down Expand Up @@ -327,18 +327,14 @@ def model_run(rand_gen, model):

@pytest.fixture
def model_run_with_model_run_data_rows(client, configured_project,
annotation_submit_fn,
model_run_predictions, model_run):
configured_project.enable_model_assisted_labeling()

upload_task = MALPredictionImport.create_from_objects(
client, configured_project.uid, f'mal-import-{uuid.uuid4()}',
upload_task = LabelImport.create_from_objects(
client, configured_project.uid, f"label-import-{uuid.uuid4()}",
model_run_predictions)
upload_task.wait_until_done()
label_ids = []
for data_row_id in {x['dataRow']['id'] for x in model_run_predictions}:
label_ids.append(
annotation_submit_fn(configured_project.uid, data_row_id))
label_ids = [label.uid for label in configured_project.labels()]
model_run.upsert_labels(label_ids)
time.sleep(3)
yield model_run
Expand Down
42 changes: 6 additions & 36 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from labelbox.schema.invite import Invite
from labelbox.schema.user import User
from labelbox import OntologyBuilder, Tool
from labelbox.schema.annotation_import import LabelImport

IMG_URL = "https://picsum.photos/200/300"

Expand Down Expand Up @@ -298,37 +299,7 @@ def configured_project(project, client, rand_gen, image_url):


@pytest.fixture
def annotation_submit_fn(client):

def submit(project_id, data_row_id):
feature_result = client.execute(
"""query featuresPyApi ($project_id : ID!, $datarow_id: ID!
) {project(where: { id: $project_id }) {
featuresForDataRow(where: {dataRow: { id: $datarow_id }}) {id}}}
""", {
"project_id": project_id,
"datarow_id": data_row_id
})
features = feature_result['project']['featuresForDataRow']
feature_ids = [feature['id'] for feature in features]
res = client.execute(
"""mutation createLabelPyApi ($project_id : ID!,$datarow_id: ID!,$feature_ids: [ID!]!,$time_seconds : Float!) {
createLabelFromFeatures(data: {dataRow: { id: $datarow_id },project: { id: $project_id },
featureIds: $feature_ids,secondsSpent: $time_seconds}) {id}}""",
{
"project_id": project_id,
"datarow_id": data_row_id,
"feature_ids": feature_ids,
"time_seconds": 10
})
return res['createLabelFromFeatures']['id']

return submit


@pytest.fixture
def configured_project_with_label(client, rand_gen, annotation_submit_fn,
image_url):
def configured_project_with_label(client, rand_gen, image_url):
project = client.create_project(name=rand_gen(str))
dataset = client.create_dataset(name=rand_gen(str), projects=project)
data_row = dataset.create_data_row(row_data=image_url)
Expand All @@ -355,11 +326,10 @@ def configured_project_with_label(client, rand_gen, annotation_submit_fn,
"width": 50
}
}]
upload_task = MALPredictionImport.create_from_objects(
client, project.uid, f'mal-import-{uuid.uuid4()}', predictions)
upload_task = LabelImport.create_from_objects(
client, project.uid, f'label-import-{uuid.uuid4()}', predictions)
upload_task.wait_until_done()
labels = annotation_submit_fn(project.uid, data_row.uid)
time.sleep(3)
yield [project, labels]
label = next(project.labels()).uid
yield [project, label]
dataset.delete()
project.delete()