From 2b208ee504e786f177716550c625ea3044db4218 Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Sun, 7 Jun 2026 08:39:19 +0200 Subject: [PATCH] fix(test): update methodTrustee path in signature validator parametrize Co-authored-by: Cursor --- .../interfaceFeatureGraphicalEditor.py | 58 +++++++++---------- .../test_action_signature_validator.py | 2 +- 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/modules/features/graphicalEditor/interfaceFeatureGraphicalEditor.py b/modules/features/graphicalEditor/interfaceFeatureGraphicalEditor.py index aacc9e45..092389c6 100644 --- a/modules/features/graphicalEditor/interfaceFeatureGraphicalEditor.py +++ b/modules/features/graphicalEditor/interfaceFeatureGraphicalEditor.py @@ -46,8 +46,6 @@ from modules.datamodels.datamodelWorkflowAutomation import ( AutoRun, AutoStepLog, AutoTask, - Automation2Workflow, - Automation2WorkflowRun, ) from modules.features.graphicalEditor.entryPoints import invocations_synced_with_graph from modules.connectors.connectorDbPostgre import DatabaseConnector @@ -96,11 +94,11 @@ def getAllWorkflowsForScheduling() -> List[Dict[str, Any]]: dbPort=dbPort, userId=None, ) - if not connector._ensureTableExists(Automation2Workflow): - logger.warning("GraphicalEditor schedule: table Automation2Workflow does not exist yet") + if not connector._ensureTableExists(AutoWorkflow): + logger.warning("GraphicalEditor schedule: table AutoWorkflow does not exist yet") return [] records = connector.getRecordset( - Automation2Workflow, + AutoWorkflow, recordFilter=None, ) raw_count = len(records) if records else 0 @@ -191,7 +189,7 @@ class GraphicalEditorObjects: def getWorkflows(self, active: Optional[bool] = None) -> List[Dict[str, Any]]: """Get all workflows for this mandate (cross-instance).""" - if not self.db._ensureTableExists(Automation2Workflow): + if not self.db._ensureTableExists(AutoWorkflow): return [] rf: Dict[str, Any] = { "mandateId": self.mandateId, @@ -199,7 +197,7 @@ class GraphicalEditorObjects: if active is not None: rf["active"] = active records = self.db.getRecordset( - Automation2Workflow, + AutoWorkflow, recordFilter=rf, ) rows = [dict(r) for r in records] if records else [] @@ -209,10 +207,10 @@ class GraphicalEditorObjects: def getWorkflow(self, workflowId: str) -> Optional[Dict[str, Any]]: """Get a single workflow by ID (mandate-scoped, cross-instance).""" - if not self.db._ensureTableExists(Automation2Workflow): + if not self.db._ensureTableExists(AutoWorkflow): return None records = self.db.getRecordset( - Automation2Workflow, + AutoWorkflow, recordFilter={ "id": workflowId, "mandateId": self.mandateId, @@ -235,7 +233,7 @@ class GraphicalEditorObjects: if "active" not in data or data.get("active") is None: data["active"] = True data["invocations"] = invocations_synced_with_graph(data.get("graph") or {}, data.get("invocations")) - created = self.db.recordCreate(Automation2Workflow, data) + created = self.db.recordCreate(AutoWorkflow, data) out = dict(created) out["invocations"] = invocations_synced_with_graph(out.get("graph") or {}, out.get("invocations")) try: @@ -258,7 +256,7 @@ class GraphicalEditorObjects: g = {} inv = data["invocations"] if "invocations" in data else existing.get("invocations") data["invocations"] = invocations_synced_with_graph(g, inv) - updated = self.db.recordModify(Automation2Workflow, workflowId, data) + updated = self.db.recordModify(AutoWorkflow, workflowId, data) out = dict(updated) out["invocations"] = invocations_synced_with_graph(out.get("graph") or {}, out.get("invocations")) try: @@ -273,7 +271,7 @@ class GraphicalEditorObjects: existing = self.getWorkflow(workflowId) if not existing: return False - self.db.recordDelete(Automation2Workflow, workflowId) + self.db.recordDelete(AutoWorkflow, workflowId) try: from modules.shared.callbackRegistry import callbackRegistry callbackRegistry.trigger(_CALLBACK_WORKFLOW_CHANGED) @@ -305,15 +303,15 @@ class GraphicalEditorObjects: "mandateId": ctx.get("mandateId") or self.mandateId, "ownerId": ctx.get("userId") or (self.currentUser.id if self.currentUser else None), } - created = self.db.recordCreate(Automation2WorkflowRun, data) + created = self.db.recordCreate(AutoRun, data) return dict(created) def getRun(self, runId: str) -> Optional[Dict[str, Any]]: """Get a run by ID.""" - if not self.db._ensureTableExists(Automation2WorkflowRun): + if not self.db._ensureTableExists(AutoRun): return None records = self.db.getRecordset( - Automation2WorkflowRun, + AutoRun, recordFilter={"id": runId}, ) if not records: @@ -345,29 +343,29 @@ class GraphicalEditorObjects: updates["context"] = context if not updates: return run - updated = self.db.recordModify(Automation2WorkflowRun, runId, updates) + updated = self.db.recordModify(AutoRun, runId, updates) return dict(updated) def getRunsByWorkflow(self, workflowId: str) -> List[Dict[str, Any]]: """Get all runs for a workflow.""" - if not self.db._ensureTableExists(Automation2WorkflowRun): + if not self.db._ensureTableExists(AutoRun): return [] records = self.db.getRecordset( - Automation2WorkflowRun, + AutoRun, recordFilter={"workflowId": workflowId}, ) return [dict(r) for r in records] if records else [] def getRecentCompletedRuns(self, limit: int = 20) -> List[Dict[str, Any]]: """Get recent runs (all statuses) for workflows in this instance.""" - if not self.db._ensureTableExists(Automation2WorkflowRun): + if not self.db._ensureTableExists(AutoRun): return [] workflows = self.getWorkflows() wf_ids = [w["id"] for w in workflows if w.get("id")] if not wf_ids: return [] records = self.db.getRecordset( - Automation2WorkflowRun, + AutoRun, recordFilter={}, ) if not records: @@ -385,10 +383,10 @@ class GraphicalEditorObjects: def getRunsWaitingForEmail(self) -> List[Dict[str, Any]]: """Get all paused runs waiting for a new email (for background poller).""" - if not self.db._ensureTableExists(Automation2WorkflowRun): + if not self.db._ensureTableExists(AutoRun): return [] records = self.db.getRecordset( - Automation2WorkflowRun, + AutoRun, recordFilter={"status": "paused"}, ) if not records: @@ -426,15 +424,15 @@ class GraphicalEditorObjects: "status": "pending", "result": None, } - created = self.db.recordCreate(Automation2HumanTask, data) + created = self.db.recordCreate(AutoTask, data) return dict(created) def getTask(self, taskId: str) -> Optional[Dict[str, Any]]: """Get a task by ID.""" - if not self.db._ensureTableExists(Automation2HumanTask): + if not self.db._ensureTableExists(AutoTask): return None records = self.db.getRecordset( - Automation2HumanTask, + AutoTask, recordFilter={"id": taskId}, ) if not records: @@ -453,7 +451,7 @@ class GraphicalEditorObjects: updates["result"] = result if not updates: return task - updated = self.db.recordModify(Automation2HumanTask, taskId, updates) + updated = self.db.recordModify(AutoTask, taskId, updates) return dict(updated) def getTasks( @@ -464,7 +462,7 @@ class GraphicalEditorObjects: assigneeId: str = None, ) -> List[Dict[str, Any]]: """Get tasks with optional filters.""" - if not self.db._ensureTableExists(Automation2HumanTask): + if not self.db._ensureTableExists(AutoTask): return [] base_rf: Dict[str, Any] = {} if workflowId: @@ -476,8 +474,8 @@ class GraphicalEditorObjects: if assigneeId: rf_assigned = {**base_rf, "assigneeId": assigneeId} rf_unassigned = {**base_rf, "assigneeId": None} - records1 = self.db.getRecordset(Automation2HumanTask, recordFilter=rf_assigned) - records2 = self.db.getRecordset(Automation2HumanTask, recordFilter=rf_unassigned) + records1 = self.db.getRecordset(AutoTask, recordFilter=rf_assigned) + records2 = self.db.getRecordset(AutoTask, recordFilter=rf_unassigned) seen = set() items = [] for r in (records1 or []) + (records2 or []): @@ -488,7 +486,7 @@ class GraphicalEditorObjects: items.append(rec) else: records = self.db.getRecordset( - Automation2HumanTask, + AutoTask, recordFilter=base_rf if base_rf else None, ) items = [dict(r) for r in records] if records else [] diff --git a/tests/unit/methods/test_action_signature_validator.py b/tests/unit/methods/test_action_signature_validator.py index 7afd4597..fa4aa71f 100644 --- a/tests/unit/methods/test_action_signature_validator.py +++ b/tests/unit/methods/test_action_signature_validator.py @@ -255,7 +255,7 @@ def _instantiateMethod(methodCls): @pytest.mark.parametrize("modulePath,className", [ - ("modules.workflows.methods.methodTrustee.methodTrustee", "MethodTrustee"), + ("modules.features.trustee.workflows.methodTrustee.methodTrustee", "MethodTrustee"), ("modules.workflows.methods.methodRedmine.methodRedmine", "MethodRedmine"), ("modules.workflows.methods.methodSharepoint.methodSharepoint", "MethodSharepoint"), ("modules.workflows.methods.methodOutlook.methodOutlook", "MethodOutlook"),