Restore workflow facade recovery tests
This commit is contained in:
@@ -24,6 +24,12 @@ from govoplan_core.core.dataflows import (
|
|||||||
CAPABILITY_DATAFLOW_RUN_LIFECYCLE,
|
CAPABILITY_DATAFLOW_RUN_LIFECYCLE,
|
||||||
DataflowRunDescriptor,
|
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_core.db.base import Base
|
||||||
from govoplan_workflow.backend.db.models import (
|
from govoplan_workflow.backend.db.models import (
|
||||||
WorkflowDefinition,
|
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:
|
def runtime_graph() -> WorkflowGraph:
|
||||||
return WorkflowGraph(
|
return WorkflowGraph(
|
||||||
nodes=[
|
nodes=[
|
||||||
@@ -385,6 +402,9 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
|
|||||||
Base.metadata.create_all(
|
Base.metadata.create_all(
|
||||||
self.engine,
|
self.engine,
|
||||||
tables=[
|
tables=[
|
||||||
|
DistributedLease.__table__,
|
||||||
|
RecoveryOperation.__table__,
|
||||||
|
RecoveryCheckpoint.__table__,
|
||||||
WorkflowDefinition.__table__,
|
WorkflowDefinition.__table__,
|
||||||
WorkflowDefinitionRevision.__table__,
|
WorkflowDefinitionRevision.__table__,
|
||||||
WorkflowInstance.__table__,
|
WorkflowInstance.__table__,
|
||||||
@@ -397,6 +417,7 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
self.Session = sessionmaker(bind=self.engine)
|
self.Session = sessionmaker(bind=self.engine)
|
||||||
self.session: Session = self.Session()
|
self.session: Session = self.Session()
|
||||||
|
bind_process_runtime_identity(runtime_identity())
|
||||||
self.dataflow = FakeDataflowLifecycle()
|
self.dataflow = FakeDataflowLifecycle()
|
||||||
self.registry = Registry(self.dataflow)
|
self.registry = Registry(self.dataflow)
|
||||||
self.definition = create_definition(
|
self.definition = create_definition(
|
||||||
@@ -421,6 +442,7 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
|
|||||||
self.session.commit()
|
self.session.commit()
|
||||||
|
|
||||||
def tearDown(self) -> None:
|
def tearDown(self) -> None:
|
||||||
|
bind_process_runtime_identity(None)
|
||||||
self.session.close()
|
self.session.close()
|
||||||
Base.metadata.drop_all(
|
Base.metadata.drop_all(
|
||||||
self.engine,
|
self.engine,
|
||||||
@@ -433,6 +455,9 @@ class WorkflowInstanceServiceTests(unittest.TestCase):
|
|||||||
WorkflowTrigger.__table__,
|
WorkflowTrigger.__table__,
|
||||||
WorkflowDefinitionRevision.__table__,
|
WorkflowDefinitionRevision.__table__,
|
||||||
WorkflowDefinition.__table__,
|
WorkflowDefinition.__table__,
|
||||||
|
RecoveryCheckpoint.__table__,
|
||||||
|
RecoveryOperation.__table__,
|
||||||
|
DistributedLease.__table__,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
self.engine.dispose()
|
self.engine.dispose()
|
||||||
|
|||||||
Reference in New Issue
Block a user