ソースを参照

rename functions, moved tests

Toan Quach 1 年間 前
コミット
5e5586ac2c

+ 5 - 5
taipy/core/_entity/_ready_to_run_property.py

@@ -49,7 +49,7 @@ class _ReadyToRunProperty:
         )
 
     @classmethod
-    def __add_unsubmittable_reason(
+    def __add(
         cls, submittable_id: Union["ScenarioId", "SequenceId", "TaskId"], datanode_id: "DataNodeId", reason: str
     ) -> None:
         cls._datanode_id_submittables[datanode_id].add(submittable_id)
@@ -78,7 +78,7 @@ class _ReadyToRunProperty:
             cls._datanode_id_submittables.pop(datanode_id)
 
     @classmethod
-    def _add_parent_entities_to_submittable_cache(cls, dn: "DataNode", reason: str) -> None:
+    def _add(cls, dn: "DataNode", reason: str) -> None:
         from ..scenario.scenario import Scenario
         from ..sequence.sequence import Sequence
         from ..task.task import Task
@@ -86,8 +86,8 @@ class _ReadyToRunProperty:
         parent_entities = dn.get_parents()
 
         for scenario_parent in parent_entities.get(Scenario._MANAGER_NAME, []):
-            _ReadyToRunProperty.__add_unsubmittable_reason(scenario_parent.id, dn.id, reason)
+            _ReadyToRunProperty.__add(scenario_parent.id, dn.id, reason)
         for sequence_parent in parent_entities.get(Sequence._MANAGER_NAME, []):
-            _ReadyToRunProperty.__add_unsubmittable_reason(sequence_parent.id, dn.id, reason)
+            _ReadyToRunProperty.__add(sequence_parent.id, dn.id, reason)
         for task_parent in parent_entities.get(Task._MANAGER_NAME, []):
-            _ReadyToRunProperty.__add_unsubmittable_reason(task_parent.id, dn.id, reason)
+            _ReadyToRunProperty.__add(task_parent.id, dn.id, reason)

+ 2 - 2
taipy/core/data/data_node.py

@@ -43,11 +43,11 @@ def _update_ready_for_reading(fct):
     def _recompute_is_ready_for_reading(dn: "DataNode", *args, **kwargs):
         fct(dn, *args, **kwargs)
         if dn._edit_in_progress:
-            _ReadyToRunProperty._add_parent_entities_to_submittable_cache(dn, f"DataNode {dn.id} is being edited")
+            _ReadyToRunProperty._add(dn, f"DataNode {dn.id} is being edited")
         else:
             _ReadyToRunProperty._remove(dn.id, f"DataNode {dn.id} is being edited")
         if not dn._last_edit_date:
-            _ReadyToRunProperty._add_parent_entities_to_submittable_cache(dn, f"DataNode {dn.id} is not written")
+            _ReadyToRunProperty._add(dn, f"DataNode {dn.id} is not written")
         else:
             _ReadyToRunProperty._remove(dn.id, f"DataNode {dn.id} is not written")
 

+ 317 - 0
tests/core/_entity/test_ready_to_run_property.py

@@ -0,0 +1,317 @@
+# Copyright 2021-2024 Avaiga Private Limited
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+
+
+from datetime import datetime
+
+from taipy.config.common.frequency import Frequency
+from taipy.config.common.scope import Scope
+from taipy.config.config import Config
+from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
+from taipy.core.data._data_manager_factory import _DataManagerFactory
+from taipy.core.data.pickle import PickleDataNode
+from taipy.core.scenario._scenario_manager_factory import _ScenarioManagerFactory
+from taipy.core.scenario.scenario import Scenario
+from taipy.core.sequence._sequence_manager_factory import _SequenceManagerFactory
+from taipy.core.task._task_manager_factory import _TaskManagerFactory
+from taipy.core.task.task import Task
+
+
+def test_scenario_is_ready_to_run_property():
+    scenario_manager = _ScenarioManagerFactory._build_manager()
+    assert len(scenario_manager._get_all()) == 0
+
+    dn_config_1 = Config.configure_in_memory_data_node("dn_1", 10)
+    dn_config_2 = Config.configure_in_memory_data_node("dn_2", 10)
+    task_config = Config.configure_task("task", print, [dn_config_1, dn_config_2])
+    scenario_config = Config.configure_scenario("sc", {task_config}, set(), Frequency.DAILY)
+    scenario = scenario_manager._create(scenario_config)
+    dn_1 = scenario.dn_1
+    dn_2 = scenario.dn_2
+
+    assert len(scenario_manager._get_all()) == 1
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert scenario_manager._is_submittable(scenario)
+    assert scenario_manager._is_submittable(scenario.id)
+    assert not scenario_manager._is_submittable("Scenario_temp")
+
+    dn_1.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
+        f"DataNode {dn_1.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not scenario_manager._is_submittable(scenario.id)
+
+    dn_1.edit_in_progress = False
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario_manager._is_submittable(scenario)
+    assert scenario_manager._is_submittable(scenario.id)
+
+    dn_1.last_edit_date = None
+    dn_2.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not scenario_manager._is_submittable(scenario.id)
+
+    dn_1.last_edit_date = datetime.now()
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not scenario_manager._is_submittable(scenario.id)
+
+    dn_2.edit_in_progress = False
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert scenario_manager._is_submittable(scenario)
+    assert scenario_manager._is_submittable(scenario.id)
+
+
+def test_sequence_is_ready_to_run_property():
+    data_manager = _DataManagerFactory._build_manager()
+    scenario_manager = _ScenarioManagerFactory._build_manager()
+    task_manager = _TaskManagerFactory._build_manager()
+    sequence_manager = _SequenceManagerFactory._build_manager()
+
+    task_id = "TASK_task_id"
+    scenario_id = "SCENARIO_scenario_id"
+    dn_1 = PickleDataNode("dn_1", Scope.SCENARIO, parent_ids={task_id, scenario_id}, properties={"default_data": 10})
+    dn_2 = PickleDataNode("dn_2", Scope.SCENARIO, parent_ids={task_id, scenario_id}, properties={"default_data": 10})
+    task = Task("task", {}, print, [dn_1, dn_2], id=task_id, parent_ids={scenario_id})
+    scenario = Scenario("scenario", {task}, {}, set(), scenario_id=scenario_id)
+    data_manager._set(dn_1)
+    data_manager._set(dn_2)
+    task_manager._set(task)
+    scenario_manager._set(scenario)
+
+    dn_1 = scenario.dn_1
+    dn_2 = scenario.dn_2
+
+    scenario.add_sequences({"sequence": [task]})
+    sequence = scenario.sequences["sequence"]
+    assert len(sequence_manager._get_all()) == 1
+    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence_manager._is_submittable(sequence)
+    assert sequence_manager._is_submittable(sequence.id)
+    assert scenario_manager._is_submittable(scenario)
+    assert not sequence_manager._is_submittable("Sequence_temp")
+    assert not sequence_manager._is_submittable("SEQUENCE_temp_SCENARIO_scenario")
+
+    dn_1.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
+        f"DataNode {dn_1.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_1.id] == {
+        f"DataNode {dn_1.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not sequence_manager._is_submittable(sequence)
+    assert not sequence_manager._is_submittable(sequence.id)
+
+    dn_1.edit_in_progress = False
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert sequence_manager._is_submittable(sequence)
+    assert sequence_manager._is_submittable(sequence.id)
+    assert scenario_manager._is_submittable(scenario)
+
+    dn_1.last_edit_date = None
+    dn_2.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
+    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not sequence_manager._is_submittable(sequence)
+    assert not sequence_manager._is_submittable(sequence.id)
+
+    dn_1.last_edit_date = datetime.now()
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert not scenario_manager._is_submittable(scenario)
+    assert not sequence_manager._is_submittable(sequence)
+    assert not sequence_manager._is_submittable(sequence.id)
+
+    dn_2.edit_in_progress = False
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
+    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario_manager._is_submittable(scenario)
+    assert sequence_manager._is_submittable(sequence)
+    assert sequence_manager._is_submittable(sequence.id)
+
+
+def test_task_is_ready_to_run_property():
+    task_manager = _TaskManagerFactory._build_manager()
+    scenario_manager = _ScenarioManagerFactory._build_manager()
+
+    assert len(task_manager._get_all()) == 0
+
+    dn_config_1 = Config.configure_pickle_data_node("dn_1", default_data=10)
+    dn_config_2 = Config.configure_pickle_data_node("dn_2", default_data=15)
+    task_config = Config.configure_task("task", print, [dn_config_1, dn_config_2])
+    scenario_config = Config.configure_scenario("scenario", [task_config])
+
+    scenario = scenario_manager._create(scenario_config)
+    task = scenario.tasks["task"]
+    dn_1 = scenario.dn_1
+    dn_2 = scenario.dn_2
+
+    assert len(task_manager._get_all()) == 1
+    assert len(scenario_manager._get_all()) == 1
+
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert task_manager._is_submittable(task)
+    assert task_manager._is_submittable(task.id)
+    assert scenario_manager._is_submittable(scenario)
+    assert scenario_manager._is_submittable(scenario.id)
+    assert not task_manager._is_submittable("Task_temp")
+
+    dn_1.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
+        f"DataNode {dn_1.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_1.id] == {f"DataNode {dn_1.id} is being edited"}
+    assert not scenario_manager._is_submittable(scenario)
+    assert not task_manager._is_submittable(task)
+    assert not task_manager._is_submittable(task.id)
+
+    dn_1.edit_in_progress = False
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario_manager._is_submittable(scenario)
+    assert task_manager._is_submittable(task)
+    assert task_manager._is_submittable(task.id)
+
+    dn_1.last_edit_date = None
+    dn_2.edit_in_progress = True
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
+    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_2.id] == {f"DataNode {dn_2.id} is being edited"}
+    assert not scenario_manager._is_submittable(scenario)
+    assert not task_manager._is_submittable(task)
+    assert not task_manager._is_submittable(task.id)
+
+    dn_1.last_edit_date = datetime.now()
+    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
+    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
+        f"DataNode {dn_2.id} is being edited"
+    }
+    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_2.id] == {f"DataNode {dn_2.id} is being edited"}
+    assert not scenario_manager._is_submittable(scenario)
+    assert not task_manager._is_submittable(task)
+    assert not task_manager._is_submittable(task.id)
+
+    dn_2.edit_in_progress = False
+    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
+    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
+    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[task.id]
+    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
+    assert scenario_manager._is_submittable(scenario)
+    assert task_manager._is_submittable(task)
+    assert task_manager._is_submittable(task.id)

+ 0 - 72
tests/core/scenario/test_scenario_manager.py

@@ -19,7 +19,6 @@ from taipy.config.common.frequency import Frequency
 from taipy.config.common.scope import Scope
 from taipy.config.config import Config
 from taipy.core import Job
-from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
 from taipy.core._orchestrator._orchestrator import _Orchestrator
 from taipy.core._version._version_manager import _VersionManager
 from taipy.core.common import _utils
@@ -946,77 +945,6 @@ def test_hard_delete_shared_entities():
     assert len(_JobManager._get_all()) == 6
 
 
-def test_is_submittable():
-    assert len(_ScenarioManager._get_all()) == 0
-
-    dn_config_1 = Config.configure_in_memory_data_node("dn_1", 10)
-    dn_config_2 = Config.configure_in_memory_data_node("dn_2", 10)
-    task_config = Config.configure_task("task", print, [dn_config_1, dn_config_2])
-    scenario_config = Config.configure_scenario("sc", {task_config}, set(), Frequency.DAILY)
-    scenario = _ScenarioManager._create(scenario_config)
-    dn_1 = scenario.dn_1
-    dn_2 = scenario.dn_2
-
-    assert len(_ScenarioManager._get_all()) == 1
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert _ScenarioManager._is_submittable(scenario)
-    assert _ScenarioManager._is_submittable(scenario.id)
-    assert not _ScenarioManager._is_submittable("Scenario_temp")
-
-    dn_1.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
-        f"DataNode {dn_1.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _ScenarioManager._is_submittable(scenario.id)
-
-    dn_1.edit_in_progress = False
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert _ScenarioManager._is_submittable(scenario)
-    assert _ScenarioManager._is_submittable(scenario.id)
-
-    dn_1.last_edit_date = None
-    dn_2.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _ScenarioManager._is_submittable(scenario.id)
-
-    dn_1.last_edit_date = datetime.now()
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _ScenarioManager._is_submittable(scenario.id)
-
-    dn_2.edit_in_progress = False
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert _ScenarioManager._is_submittable(scenario)
-    assert _ScenarioManager._is_submittable(scenario.id)
-
-
 def test_submit():
     data_node_1 = InMemoryDataNode("foo", Scope.SCENARIO, "s1")
     data_node_2 = InMemoryDataNode("bar", Scope.SCENARIO, "s2")

+ 0 - 113
tests/core/sequence/test_sequence_manager.py

@@ -10,7 +10,6 @@
 # specific language governing permissions and limitations under the License.
 
 import json
-from datetime import datetime
 from pathlib import Path
 from typing import Callable, Iterable, Optional
 from unittest import mock
@@ -20,14 +19,12 @@ import pytest
 
 from taipy.config.common.scope import Scope
 from taipy.config.config import Config
-from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
 from taipy.core._orchestrator._orchestrator import _Orchestrator
 from taipy.core._version._version_manager import _VersionManager
 from taipy.core.common import _utils
 from taipy.core.common._utils import _Subscriber
 from taipy.core.data._data_manager import _DataManager
 from taipy.core.data.in_memory import InMemoryDataNode
-from taipy.core.data.pickle import PickleDataNode
 from taipy.core.exceptions.exceptions import (
     InvalidSequenceId,
     ModelNotFound,
@@ -191,116 +188,6 @@ def test_get_all_on_multiple_versions_environment():
     )
 
 
-def test_is_submittable():
-    task_id = "TASK_task_id"
-    scenario_id = "SCENARIO_scenario_id"
-    dn_1 = PickleDataNode("dn_1", Scope.SCENARIO, parent_ids={task_id, scenario_id}, properties={"default_data": 10})
-    dn_2 = PickleDataNode("dn_2", Scope.SCENARIO, parent_ids={task_id, scenario_id}, properties={"default_data": 10})
-    task = Task("task", {}, print, [dn_1, dn_2], id=task_id, parent_ids={scenario_id})
-    scenario = Scenario("scenario", {task}, {}, set(), scenario_id=scenario_id)
-    _DataManager._set(dn_1)
-    _DataManager._set(dn_2)
-    _TaskManager._set(task)
-    _ScenarioManager._set(scenario)
-
-    dn_1 = scenario.dn_1
-    dn_2 = scenario.dn_2
-
-    scenario.add_sequences({"sequence": [task]})
-    sequence = scenario.sequences["sequence"]
-    assert len(_SequenceManager._get_all()) == 1
-    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert _SequenceManager._is_submittable(sequence)
-    assert _SequenceManager._is_submittable(sequence.id)
-    assert _ScenarioManager._is_submittable(scenario)
-    assert not _SequenceManager._is_submittable("Sequence_temp")
-    assert not _SequenceManager._is_submittable("SEQUENCE_temp_SCENARIO_scenario")
-
-    dn_1.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
-        f"DataNode {dn_1.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_1.id] == {
-        f"DataNode {dn_1.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _SequenceManager._is_submittable(sequence)
-    assert not _SequenceManager._is_submittable(sequence.id)
-
-    dn_1.edit_in_progress = False
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert _SequenceManager._is_submittable(sequence)
-    assert _SequenceManager._is_submittable(sequence.id)
-    assert _ScenarioManager._is_submittable(scenario)
-
-    dn_1.last_edit_date = None
-    dn_2.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
-    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _SequenceManager._is_submittable(sequence)
-    assert not _SequenceManager._is_submittable(sequence.id)
-
-    dn_1.last_edit_date = datetime.now()
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert sequence.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert sequence.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[sequence.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert not _ScenarioManager._is_submittable(scenario)
-    assert not _SequenceManager._is_submittable(sequence)
-    assert not _SequenceManager._is_submittable(sequence.id)
-
-    dn_2.edit_in_progress = False
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert sequence.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[sequence.id]
-    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert _ScenarioManager._is_submittable(scenario)
-    assert _SequenceManager._is_submittable(sequence)
-    assert _SequenceManager._is_submittable(sequence.id)
-
-
 def test_submit():
     data_node_1 = InMemoryDataNode("foo", Scope.SCENARIO, "s1")
     data_node_2 = InMemoryDataNode("bar", Scope.SCENARIO, "s2")

+ 0 - 107
tests/core/task/test_task_manager.py

@@ -10,7 +10,6 @@
 # specific language governing permissions and limitations under the License.
 
 import uuid
-from datetime import datetime
 from unittest import mock
 
 import pytest
@@ -18,13 +17,11 @@ import pytest
 from taipy.config.common.scope import Scope
 from taipy.config.config import Config
 from taipy.core import taipy
-from taipy.core._entity._ready_to_run_property import _ReadyToRunProperty
 from taipy.core._orchestrator._orchestrator import _Orchestrator
 from taipy.core._version._version_manager import _VersionManager
 from taipy.core.data._data_manager import _DataManager
 from taipy.core.data.in_memory import InMemoryDataNode
 from taipy.core.exceptions.exceptions import ModelNotFound, NonExistingTask
-from taipy.core.scenario._scenario_manager_factory import _ScenarioManagerFactory
 from taipy.core.task._task_manager import _TaskManager
 from taipy.core.task._task_manager_factory import _TaskManagerFactory
 from taipy.core.task.task import Task
@@ -305,110 +302,6 @@ def test_hard_delete():
     assert len(_DataManager._get_all()) == 2
 
 
-def test_is_submittable():
-    task_manager = _TaskManagerFactory._build_manager()
-    scenario_manager = _ScenarioManagerFactory._build_manager()
-    assert len(_TaskManager._get_all()) == 0
-
-    dn_config_1 = Config.configure_pickle_data_node("dn_1", default_data=10)
-    dn_config_2 = Config.configure_pickle_data_node("dn_2", default_data=15)
-    task_config = Config.configure_task("task", print, [dn_config_1, dn_config_2])
-    scenario_config = Config.configure_scenario("scenario", [task_config])
-
-    scenario = scenario_manager._create(scenario_config)
-    task = scenario.tasks["task"]
-    dn_1 = scenario.dn_1
-    dn_2 = scenario.dn_2
-
-    assert len(task_manager._get_all()) == 1
-    assert len(scenario_manager._get_all()) == 1
-
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert task_manager._is_submittable(task)
-    assert task_manager._is_submittable(task.id)
-    assert scenario_manager._is_submittable(scenario)
-    assert scenario_manager._is_submittable(scenario.id)
-    assert not task_manager._is_submittable("Task_temp")
-
-    dn_1.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {
-        f"DataNode {dn_1.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_1.id] == {f"DataNode {dn_1.id} is being edited"}
-    assert not scenario_manager._is_submittable(scenario)
-    assert not task_manager._is_submittable(task)
-    assert not task_manager._is_submittable(task.id)
-
-    dn_1.edit_in_progress = False
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario_manager._is_submittable(scenario)
-    assert task_manager._is_submittable(task)
-    assert task_manager._is_submittable(task.id)
-
-    dn_1.last_edit_date = None
-    dn_2.edit_in_progress = True
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_1.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_1.id]
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
-    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_1.id] == {f"DataNode {dn_1.id} is not written"}
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_2.id] == {f"DataNode {dn_2.id} is being edited"}
-    assert not scenario_manager._is_submittable(scenario)
-    assert not task_manager._is_submittable(task)
-    assert not task_manager._is_submittable(task.id)
-
-    dn_1.last_edit_date = datetime.now()
-    assert scenario.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_1.id not in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_1.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert dn_2.id in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert task.id in _ReadyToRunProperty._datanode_id_submittables[dn_2.id]
-    assert _ReadyToRunProperty._submittable_id_datanodes[scenario.id][dn_2.id] == {
-        f"DataNode {dn_2.id} is being edited"
-    }
-    assert _ReadyToRunProperty._submittable_id_datanodes[task.id][dn_2.id] == {f"DataNode {dn_2.id} is being edited"}
-    assert not scenario_manager._is_submittable(scenario)
-    assert not task_manager._is_submittable(task)
-    assert not task_manager._is_submittable(task.id)
-
-    dn_2.edit_in_progress = False
-    assert scenario.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert task.id not in _ReadyToRunProperty._submittable_id_datanodes
-    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[scenario.id]
-    assert dn_2.id not in _ReadyToRunProperty._submittable_id_datanodes[task.id]
-    assert dn_2.id not in _ReadyToRunProperty._datanode_id_submittables
-    assert scenario_manager._is_submittable(scenario)
-    assert task_manager._is_submittable(task)
-    assert task_manager._is_submittable(task.id)
-
-
 def test_submit_task():
     data_node_1 = InMemoryDataNode("foo", Scope.SCENARIO, "s1")
     data_node_2 = InMemoryDataNode("bar", Scope.SCENARIO, "s2")