Skip to content

Commit 9ba5c48

Browse files
author
Val Brodsky
committed
Test / squash set_project_model_setup_complete
1 parent ed157cc commit 9ba5c48

File tree

4 files changed

+51
-9
lines changed

4 files changed

+51
-9
lines changed

libs/labelbox/src/labelbox/schema/project.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,18 +1317,19 @@ def set_project_model_setup_complete(self) -> bool:
13171317
13181318
Returns:
13191319
bool, indicates if the model setup is complete.
1320+
1321+
NOTE: This method should only be used for live model evaluation projects.
13201322
"""
1321-
query = """query ModelSetupCompletePyApi($projectId: ID!) {
1322-
project(where: {id: $projectId}, data: {modelSetupComplete: true}) {
1323+
query = """mutation SetProjectModelSetupCompletePyApi($projectId: ID!) {
1324+
setProjectModelSetupComplete(where: {id: $projectId}, data: {modelSetupComplete: true}) {
13231325
modelSetupComplete
13241326
}
13251327
}"""
13261328

13271329
result = self.client.execute(query, {"projectId": self.uid})
1328-
1329-
self.update(
1330-
model_setup_complete=result["project"]["modelSetupComplete"])
1331-
return result["project"]["modelSetupComplete"]
1330+
self.model_setup_complete = result["setProjectModelSetupComplete"][
1331+
"modelSetupComplete"]
1332+
return result["setProjectModelSetupComplete"]["modelSetupComplete"]
13321333

13331334
def set_labeling_parameter_overrides(
13341335
self, data: List[LabelingParameterOverrideInput]) -> bool:

libs/labelbox/tests/integration/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ def chat_evaluation_ontology(client, rand_gen):
407407

408408

409409
@pytest.fixture
410-
def chat_evaluation_project_create_dataset(client, rand_gen):
410+
def live_chat_evaluation_project_with_new_dataset(client, rand_gen):
411411
project_name = f"test-model-evaluation-project-{rand_gen(str)}"
412412
dataset_name = f"test-model-evaluation-dataset-{rand_gen(str)}"
413413
project = client.create_model_evaluation_project(name=project_name,

libs/labelbox/tests/integration/test_chat_evaluation_ontology_project.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
def test_create_chat_evaluation_ontology_project(
88
client, chat_evaluation_ontology,
9-
chat_evaluation_project_create_dataset, conversation_data_row,
9+
live_chat_evaluation_project_with_new_dataset, conversation_data_row,
1010
rand_gen):
1111
ontology = chat_evaluation_ontology
1212

@@ -23,7 +23,7 @@ def test_create_chat_evaluation_ontology_project(
2323
assert classification.schema_id
2424
assert classification.feature_schema_id
2525

26-
project = chat_evaluation_project_create_dataset
26+
project = live_chat_evaluation_project_with_new_dataset
2727
assert project.model_setup_complete is None
2828

2929
project.setup_editor(ontology)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import pytest
2+
3+
from labelbox.exceptions import LabelboxError, OperationNotAllowedException
4+
5+
6+
def test_live_chat_evaluation_project(
7+
live_chat_evaluation_project_with_new_dataset, model_config):
8+
9+
project = live_chat_evaluation_project_with_new_dataset
10+
11+
project.set_project_model_setup_complete()
12+
assert bool(project.model_setup_complete) is True
13+
14+
with pytest.raises(
15+
expected_exception=LabelboxError,
16+
match=
17+
"Cannot create model config for project because model setup is complete"
18+
):
19+
project.add_model_config(model_config.uid)
20+
21+
22+
def test_offline_chat_evaluation_project(offline_chat_evaluation_project,
23+
model_config):
24+
25+
project = offline_chat_evaluation_project
26+
27+
with pytest.raises(
28+
expected_exception=OperationNotAllowedException,
29+
match=
30+
"Only live model chat evaluation projects can complete model setup"
31+
):
32+
project.set_project_model_setup_complete()
33+
34+
35+
def test_any_other_project(project, model_config):
36+
with pytest.raises(
37+
expected_exception=OperationNotAllowedException,
38+
match=
39+
"Only live model chat evaluation projects can complete model setup"
40+
):
41+
project.set_project_model_setup_complete()

0 commit comments

Comments
 (0)