Restore workflow facade recovery tests

This commit is contained in:
2026-08-03 07:40:53 +02:00
parent 7936aadd93
commit 00fb6b56a9
+25
View File
@@ -24,6 +24,12 @@ from govoplan_core.core.dataflows import (
CAPABILITY_DATAFLOW_RUN_LIFECYCLE,
DataflowRunDescriptor,
)
from govoplan_core.core.recovery import RecoveryCheckpoint, RecoveryOperation
from govoplan_core.core.runtime_coordination import (
DistributedLease,
RuntimeIdentity,
bind_process_runtime_identity,
)
from govoplan_core.db.base import Base
from govoplan_workflow.backend.db.models import (
WorkflowDefinition,
@@ -87,6 +93,17 @@ def principal() -> ApiPrincipal:
)
def runtime_identity() -> RuntimeIdentity:
return RuntimeIdentity(
installation_id="workflow-compatibility-tests",
node_id="workflow-worker",
incarnation="workflow-worker-incarnation",
role="worker",
software_version="test",
composition_hash="c" * 64,
)
def runtime_graph() -> WorkflowGraph:
return WorkflowGraph(
nodes=[
@@ -385,6 +402,9 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
Base.metadata.create_all(
self.engine,
tables=[
DistributedLease.__table__,
RecoveryOperation.__table__,
RecoveryCheckpoint.__table__,
WorkflowDefinition.__table__,
WorkflowDefinitionRevision.__table__,
WorkflowInstance.__table__,
@@ -397,6 +417,7 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
)
self.Session = sessionmaker(bind=self.engine)
self.session: Session = self.Session()
bind_process_runtime_identity(runtime_identity())
self.dataflow = FakeDataflowLifecycle()
self.registry = Registry(self.dataflow)
self.definition = create_definition(
@@ -421,6 +442,7 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
self.session.commit()
def tearDown(self) -> None:
bind_process_runtime_identity(None)
self.session.close()
Base.metadata.drop_all(
self.engine,
@@ -433,6 +455,9 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
WorkflowTrigger.__table__,
WorkflowDefinitionRevision.__table__,
WorkflowDefinition.__table__,
RecoveryCheckpoint.__table__,
RecoveryOperation.__table__,
DistributedLease.__table__,
],
)
self.engine.dispose()