feat: consolidate legacy workflows into gyxx-flow

This commit is contained in:
2026-07-28 14:51:15 +08:00
commit c23b62a8c8
374 changed files with 132990 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
from __future__ import annotations
from pathlib import Path
from gyxx_flow.adapters.native import DeferredModuleCommandStep
from gyxx_flow.catalog import WorkflowCatalog
from gyxx_flow.modules.product_commerce import (
PRODUCT_MANUAL_WORKFLOW_IDS,
PRODUCT_RESOURCE,
PRODUCT_SCHEDULED_WORKFLOW_IDS,
PRODUCT_TIMEOUT_SECONDS,
PRODUCT_WORKFLOW_IDS,
ProductCommerceModule,
)
PROJECT_ROOT = Path(__file__).resolve().parents[1]
def test_product_module_registers_all_available_entries() -> None:
module = ProductCommerceModule.from_catalog(
WorkflowCatalog.load(PROJECT_ROOT / "config")
)
assert tuple(item.workflow_id for item in module.workflow_definitions()) == PRODUCT_WORKFLOW_IDS
assert len(PRODUCT_SCHEDULED_WORKFLOW_IDS) == 7
assert len(PRODUCT_MANUAL_WORKFLOW_IDS) == 3
def test_product_workflows_use_project_owned_module_commands() -> None:
module = ProductCommerceModule.from_catalog(
WorkflowCatalog.load(PROJECT_ROOT / "config")
)
for definition in module.workflow_definitions():
step = definition.steps[0]
assert step.step_id == "module_execute"
assert isinstance(step.action, DeferredModuleCommandStep)
assert step.timeout_seconds == PRODUCT_TIMEOUT_SECONDS == 6 * 60 * 60
assert step.max_attempts == 1
assert step.resources == (PRODUCT_RESOURCE,) == ("module:product_commerce",)
assert step.production_sink is True