e8aa5ac268
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 6m25s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m52s
CI / docker (pull_request) Successful in 9s
CI / coverage (pull_request) Successful in 5m5s
- Restore session.env["PATH"] in integration_tests nox session to ensure
Run Process uses venv Python instead of system Python
- Convert bare Resource references to ${CURDIR}/ absolute paths across
30 robot files to fix CI resolution failures
- Add timeout=30s to all Run Process calls in rxpy_route_validation.robot
to prevent hanging tests
- Tag 2 rxpy tests as slow (require running actors unavailable on CI)
- Fix LangGraph test to use correct config file (LANGGRAPH_CONFIG)
- All 204 tests pass (4 excluded: 2 slow + 2 discovery)
103 lines
5.6 KiB
Plaintext
103 lines
5.6 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration tests for v3 plan lifecycle: domain models, service layer,
|
|
... automation levels, subplan support, and phase transitions.
|
|
... Covers commit 548a09f stages A5, A6, E1, and their cross-module integration.
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER_SCRIPT} robot/helper_plan_lifecycle_v3.py
|
|
|
|
*** Test Cases ***
|
|
Plan Full Lifecycle Through All Phases
|
|
[Documentation] Verify Action->Strategize->Execute->Apply->Applied end-to-end via PlanLifecycleService
|
|
[Tags] lifecycle plan action critical
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} lifecycle-full-cycle cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} lifecycle-full-cycle-ok
|
|
|
|
Action CRUD Operations Via Service
|
|
[Documentation] Verify action create, list, get, archive operations
|
|
[Tags] lifecycle action crud
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} action-crud cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} action-crud-ok
|
|
|
|
Plan Cancellation At Strategize Phase
|
|
[Documentation] Verify plans can be cancelled with reason during strategize
|
|
[Tags] lifecycle plan cancel
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} plan-cancellation cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-cancellation-ok
|
|
|
|
Plan Failure And Error State Handling
|
|
[Documentation] Verify plan failure sets error state and message correctly
|
|
[Tags] lifecycle plan error
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} plan-failure-recovery cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-failure-recovery-ok
|
|
|
|
Invalid Phase Transitions Raise Correct Errors
|
|
[Documentation] Verify that skipping phases or invalid transitions raise PlanNotReadyError
|
|
[Tags] lifecycle plan transitions error
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} invalid-transitions cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} invalid-transitions-ok
|
|
|
|
Phase Transition Validation Model
|
|
[Documentation] Verify can_transition function validates all phase transition paths
|
|
[Tags] lifecycle plan model
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} phase-transitions cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} phase-transitions-ok
|
|
|
|
NamespacedName Parsing And String Round Trip
|
|
[Documentation] Verify NamespacedName.parse handles local, server, and standalone formats
|
|
[Tags] lifecycle model parsing
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} namespaced-name cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} namespaced-name-ok
|
|
|
|
Action Argument Parsing And Validation
|
|
[Documentation] Verify ActionArgument parse from string and validate_arguments on Action
|
|
[Tags] lifecycle action validation
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} action-argument cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} action-argument-ok
|
|
|
|
Full Automation Auto Progresses Through Phases
|
|
[Documentation] Verify FULL_AUTOMATION level auto-advances from strategize to execute to apply
|
|
[Tags] lifecycle automation full
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} automation-full-auto cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} automation-full-auto-ok
|
|
|
|
Review Before Apply Pauses At Apply Boundary
|
|
[Documentation] Verify REVIEW_BEFORE_APPLY auto-executes but pauses before apply
|
|
[Tags] lifecycle automation review
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} automation-review-before-apply cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} automation-review-before-apply-ok
|
|
|
|
Automation Pause And Resume
|
|
[Documentation] Verify pause sets MANUAL and resume restores level
|
|
[Tags] lifecycle automation pause resume
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} automation-pause-resume cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} automation-pause-resume-ok
|
|
|
|
Subplan Config And Failure Handler
|
|
[Documentation] Verify SubplanConfig, SubplanStatus, and SubplanFailureHandler integration
|
|
[Tags] lifecycle subplan model
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} subplan-model cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} subplan-model-ok
|
|
|
|
Plan With Subplan Configuration
|
|
[Documentation] Verify Plan model accepts subplan config and statuses via service
|
|
[Tags] lifecycle subplan plan
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} plan-with-subplans cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-with-subplans-ok
|