fix(actor): add missing BDD step for NodeConfig.subgraph verification
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 48s
CI / lint (pull_request) Successful in 1m2s
CI / build (pull_request) Successful in 1m10s
CI / typecheck (pull_request) Successful in 1m26s
CI / quality (pull_request) Successful in 1m19s
CI / unit_tests (pull_request) Failing after 1m30s
CI / security (pull_request) Successful in 1m40s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m19s
CI / e2e_tests (pull_request) Successful in 4m17s
CI / integration_tests (pull_request) Failing after 4m21s
CI / status-check (pull_request) Failing after 3s

The actor_subgraph_cycle_detection.feature references a step
'the compiled node sub should have subgraph set to' that had no
matching step definition. This prevents the test scenario from
running, which would otherwise verify that compiled NodeConfig.subgraph
is correctly populated when reading actor_ref from the top-level
NodeDefinition.actor_ref field (issue #1429).

Added: step_compiled_node_has_subgraph() asserts NodeConfig.subgraph
matches the expected actor_ref after compilation.

ISSUES CLOSED: #1429
This commit is contained in:
2026-05-08 05:36:17 +00:00
committed by CleverThis
parent 7cd7aa964a
commit 4794e8e3e3
@@ -199,3 +199,22 @@ def step_actor_subgraph_refs_map(context: Context, node: str, ref: str) -> None:
assert refs.get(node) == ref, (
f"Expected subgraph_refs[{node!r}] == {ref!r}, got {refs}"
)
@then('the compiled node "{node_id}" should have subgraph set to "{expected_ref}"')
def step_compiled_node_has_subgraph(
context: Context, node_id: str, expected_ref: str
) -> None:
"""Assert that the compiled node config has the correct subgraph value."""
assert context.compiled is not None
node = context.compiled.nodes.get(node_id)
assert node is not None, (
f"Compiled node {node_id!r} not found. Available nodes: "
f"{list(context.compiled.nodes.keys())}"
)
actual_subgraph = getattr(node, "subgraph", None)
assert actual_subgraph == expected_ref, (
f"Expected NodeConfig.subgraph[{node_id!r}] == {expected_ref!r}, "
f"got {actual_subgraph!r}. This indicates the compiler reads actor_ref "
f"from config.get() instead of node.actor_ref (issue #1429)."
)