test(e2e): add M1 source-code plan lifecycle suite
CI / lint (pull_request) Successful in 24s
CI / security (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 30s
CI / benchmark-publish (pull_request) Has been skipped
CI / typecheck (pull_request) Successful in 1m8s
CI / build (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 5m6s
CI / unit_tests (pull_request) Successful in 22m40s
CI / docker (pull_request) Successful in 15s
CI / benchmark-regression (pull_request) Successful in 23m12s
CI / coverage (pull_request) Successful in 31m33s

This commit is contained in:
2026-02-24 23:31:04 +00:00
parent 7ec06d5db8
commit 0397a00eb6
11 changed files with 1485 additions and 7 deletions
+73
View File
@@ -0,0 +1,73 @@
*** Settings ***
Documentation M1 source-code plan lifecycle E2E smoke tests via CLI
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_m1_sourcecode_smoke.py
*** Test Cases ***
M1 Action Create From Config
[Documentation] Create an action from M1 fixture YAML config
${result}= Run Process ${PYTHON} ${HELPER} action-create cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-action-create-ok
M1 Plan Use Creates Strategize Plan
[Documentation] Use an action to create a plan in strategize phase
${result}= Run Process ${PYTHON} ${HELPER} plan-use cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-use-ok
M1 Plan Use With Project Link
[Documentation] Use action with a project argument to validate project linking
${result}= Run Process ${PYTHON} ${HELPER} plan-use-project cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-use-project-ok
M1 Plan Execute Transitions Phase
[Documentation] Execute a plan and verify phase transitions
${result}= Run Process ${PYTHON} ${HELPER} plan-execute cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-execute-ok
M1 Plan Diff Shows Changeset
[Documentation] Run plan diff to show changeset
${result}= Run Process ${PYTHON} ${HELPER} plan-diff cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-diff-ok
M1 Plan Apply Reaches Terminal
[Documentation] Apply a plan and verify terminal state
${result}= Run Process ${PYTHON} ${HELPER} plan-apply cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-apply-ok
M1 Full Lifecycle Action To Apply
[Documentation] End-to-end: action create -> plan use -> execute -> apply
${result}= Run Process ${PYTHON} ${HELPER} full-lifecycle cwd=${WORKSPACE} timeout=60s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-full-lifecycle-ok
M1 Plan Use With Plain Format
[Documentation] Verify plan use --format plain stabilises assertions
${result}= Run Process ${PYTHON} ${HELPER} plan-use-plain cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} m1-plan-use-plain-ok