Files
cleveragents-core/robot/plan_subplan_tool.robot

64 lines
3.1 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for builtin/plan-subplan actor tool
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER_SCRIPT} robot/helper_plan_subplan_tool.py
*** Test Cases ***
Serial Subplan Spawn
[Documentation] Emit a SUBPLAN_SPAWN decision for a serial subplan
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} serial cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} serial-spawn-ok
Parallel Subplan Spawn
[Documentation] Emit a SUBPLAN_PARALLEL_SPAWN decision for a parallel subplan
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} parallel cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} parallel-spawn-ok
Validation Error Without Scope
[Documentation] Tool returns error when no resource_scopes or project_ref provided
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} validation cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} validation-error-ok
Default Values Applied
[Documentation] merge_strategy, max_parallel, and dependencies use sensible defaults
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} defaults cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} defaults-ok
Decision Service Injection
[Documentation] Injected DecisionService receives the emitted Decision object
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} service cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} service-injection-ok
Tool Registration In Registry
[Documentation] register_subplan_tool adds builtin/plan-subplan to ToolRegistry
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} registration cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} registration-ok
ToolRunner Execution
[Documentation] ToolRunner executes builtin/plan-subplan and returns success
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} runner cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} runner-execution-ok
Rationale Text Contains Goal
[Documentation] Rationale text includes goal and execution mode
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} rationale cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} rationale-ok
SubplanPayload Model Direct Validation
[Documentation] SubplanPayload can be constructed directly for testing
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} payload cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} payload-model-ok