|
@@ -14,7 +14,7 @@ from taipy import ScenarioId, SequenceId, TaskId
|
|
from taipy.config.common.frequency import Frequency
|
|
from taipy.config.common.frequency import Frequency
|
|
from taipy.config.config import Config
|
|
from taipy.config.config import Config
|
|
from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
|
|
from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
|
|
-from taipy.core.reason.reason import Reasons
|
|
|
|
|
|
+from taipy.core.reason import DataNodeEditInProgress, DataNodeIsNotWritten, ReasonCollection
|
|
from taipy.core.scenario._scenario_manager_factory import _ScenarioManagerFactory
|
|
from taipy.core.scenario._scenario_manager_factory import _ScenarioManagerFactory
|
|
from taipy.core.sequence._sequence_manager_factory import _SequenceManagerFactory
|
|
from taipy.core.sequence._sequence_manager_factory import _SequenceManagerFactory
|
|
from taipy.core.task._task_manager_factory import _TaskManagerFactory
|
|
from taipy.core.task._task_manager_factory import _TaskManagerFactory
|
|
@@ -33,7 +33,7 @@ def test_scenario_without_input_is_ready_to_run():
|
|
scenario = scenario_manager._create(scenario_config)
|
|
scenario = scenario_manager._create(scenario_config)
|
|
|
|
|
|
assert scenario_manager._is_submittable(scenario)
|
|
assert scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
|
|
|
|
|
|
|
|
@@ -46,7 +46,7 @@ def test_scenario_submittable_with_inputs_is_ready_to_run():
|
|
scenario = scenario_manager._create(scenario_config)
|
|
scenario = scenario_manager._create(scenario_config)
|
|
|
|
|
|
assert scenario_manager._is_submittable(scenario)
|
|
assert scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
|
|
|
|
|
|
|
|
@@ -61,7 +61,7 @@ def test_scenario_submittable_even_with_output_not_ready_to_run():
|
|
dn_3 = scenario.dn_3
|
|
dn_3 = scenario.dn_3
|
|
|
|
|
|
assert not dn_3.is_ready_for_reading
|
|
assert not dn_3.is_ready_for_reading
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
|
|
|
|
|
|
|
|
@@ -78,7 +78,7 @@ def test_scenario_not_submittable_not_in_property_because_it_is_lazy():
|
|
assert dn_1.is_ready_for_reading
|
|
assert dn_1.is_ready_for_reading
|
|
assert not dn_2.is_ready_for_reading
|
|
assert not dn_2.is_ready_for_reading
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
|
|
|
|
# Since it is a lazy property, the scenario and the datanodes is not yet in the dictionary
|
|
# Since it is a lazy property, the scenario and the datanodes is not yet in the dictionary
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
@@ -97,14 +97,14 @@ def test_scenario_not_submittable_if_one_input_edit_in_progress():
|
|
|
|
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
|
|
|
|
assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons
|
|
assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons
|
|
assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
|
|
assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
- f"DataNode {dn_1.id} is being edited"
|
|
|
|
|
|
+ DataNodeEditInProgress(dn_1.id)
|
|
}
|
|
}
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons == f"DataNode {dn_1.id} is being edited."
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons == f"DataNode {dn_1.id} is being edited."
|
|
|
|
|
|
@@ -125,7 +125,7 @@ def test_scenario_not_submittable_for_multiple_reasons():
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not dn_2.is_ready_for_reading
|
|
assert not dn_2.is_ready_for_reading
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
|
|
|
|
assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons
|
|
assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons
|
|
@@ -134,12 +134,12 @@ def test_scenario_not_submittable_for_multiple_reasons():
|
|
assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
|
|
assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
- f"DataNode {dn_1.id} is being edited"
|
|
|
|
|
|
+ DataNodeEditInProgress(dn_1.id)
|
|
}
|
|
}
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
|
|
assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_2.id] == {
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_2.id] == {
|
|
- f"DataNode {dn_2.id} is being edited",
|
|
|
|
- f"DataNode {dn_2.id} is not written",
|
|
|
|
|
|
+ DataNodeEditInProgress(dn_2.id),
|
|
|
|
+ DataNodeIsNotWritten(dn_2.id),
|
|
}
|
|
}
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons
|
|
assert f"DataNode {dn_2.id} is being edited" in reason_str
|
|
assert f"DataNode {dn_2.id} is being edited" in reason_str
|
|
@@ -156,14 +156,14 @@ def test_writing_input_remove_reasons():
|
|
|
|
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not dn_1.is_ready_for_reading
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
assert not scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
# Since it is a lazy property, the scenario is not yet in the dictionary
|
|
# Since it is a lazy property, the scenario is not yet in the dictionary
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
|
|
|
|
dn_1.lock_edit()
|
|
dn_1.lock_edit()
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id]._reasons[dn_1.id] == {
|
|
- f"DataNode {dn_1.id} is being edited",
|
|
|
|
- f"DataNode {dn_1.id} is not written",
|
|
|
|
|
|
+ DataNodeEditInProgress(dn_1.id),
|
|
|
|
+ DataNodeIsNotWritten(dn_1.id),
|
|
}
|
|
}
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[scenario.id].reasons
|
|
assert f"DataNode {dn_1.id} is being edited" in reason_str
|
|
assert f"DataNode {dn_1.id} is being edited" in reason_str
|
|
@@ -171,7 +171,7 @@ def test_writing_input_remove_reasons():
|
|
|
|
|
|
dn_1.write(10)
|
|
dn_1.write(10)
|
|
assert scenario_manager._is_submittable(scenario)
|
|
assert scenario_manager._is_submittable(scenario)
|
|
- assert isinstance(scenario_manager._is_submittable(scenario), Reasons)
|
|
|
|
|
|
+ assert isinstance(scenario_manager._is_submittable(scenario), ReasonCollection)
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
|
|
assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
|
|
|
|
|
|
@@ -188,8 +188,8 @@ def __assert_not_submittable_becomes_submittable_when_dn_edited(entity, manager,
|
|
|
|
|
|
dn.lock_edit()
|
|
dn.lock_edit()
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[entity.id]._reasons[dn.id] == {
|
|
assert _ReadyToRunProperty._submittable_id_datanodes[entity.id]._reasons[dn.id] == {
|
|
- f"DataNode {dn.id} is being edited",
|
|
|
|
- f"DataNode {dn.id} is not written",
|
|
|
|
|
|
+ DataNodeEditInProgress(dn.id),
|
|
|
|
+ DataNodeIsNotWritten(dn.id),
|
|
}
|
|
}
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[entity.id].reasons
|
|
reason_str = _ReadyToRunProperty._submittable_id_datanodes[entity.id].reasons
|
|
assert f"DataNode {dn.id} is being edited" in reason_str
|
|
assert f"DataNode {dn.id} is being edited" in reason_str
|
|
@@ -197,7 +197,7 @@ def __assert_not_submittable_becomes_submittable_when_dn_edited(entity, manager,
|
|
|
|
|
|
dn.write("ANY VALUE")
|
|
dn.write("ANY VALUE")
|
|
assert manager._is_submittable(entity)
|
|
assert manager._is_submittable(entity)
|
|
- assert isinstance(manager._is_submittable(entity), Reasons)
|
|
|
|
|
|
+ assert isinstance(manager._is_submittable(entity), ReasonCollection)
|
|
assert entity.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert entity.id not in _ReadyToRunProperty._submittable_id_datanodes
|
|
assert dn.id not in _ReadyToRunProperty._datanode_id_submittables
|
|
assert dn.id not in _ReadyToRunProperty._datanode_id_submittables
|
|
|
|
|