58 lines
2.8 KiB
Plaintext
58 lines
2.8 KiB
Plaintext
*** Settings ***
|
|
Documentation End-to-end tests for phase reversion state machine
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER_SCRIPT} robot/helper_phase_reversion.py
|
|
|
|
*** Test Cases ***
|
|
Manual Reversion From Execute To Strategize
|
|
[Documentation] Revert a plan from Execute to Strategize manually
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} manual_revert cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} reversion-manual-ok
|
|
|
|
Auto Reversion From Constrained Apply
|
|
[Documentation] Automatically revert when Apply is constrained and profile permits
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} auto_revert_apply cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} reversion-auto-apply-ok
|
|
|
|
Loop Guard Blocks Excessive Reversions
|
|
[Documentation] Verify the max 3 reversions guard
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} loop_guard cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} loop-guard-ok
|
|
|
|
Profile Gated Auto Reversion
|
|
[Documentation] Manual profile blocks auto-reversion
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} profile_gate cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} profile-gate-ok
|
|
|
|
Terminal Plan Cannot Be Reverted
|
|
[Documentation] Applied plan cannot be reverted
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} terminal_block cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} terminal-block-ok
|
|
|
|
Reversion Preserves Context
|
|
[Documentation] Arguments and project links survive reversion
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} context_preserved cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} context-preserved-ok
|
|
|
|
Decision Recording On Reversion
|
|
[Documentation] Each reversion is logged as a decision
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} decision_recording cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} decision-recording-ok
|
|
|
|
Can Revert To Validation
|
|
[Documentation] Validate allowed reversion paths
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} can_revert_to cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} can-revert-to-ok
|