Files
cleveragents-core/robot/int_wf05_db_migration.robot
hamza.khyari 3f66221938
CI / build (pull_request) Successful in 25s
CI / helm (pull_request) Successful in 29s
CI / lint (pull_request) Successful in 3m47s
CI / typecheck (pull_request) Successful in 4m20s
CI / quality (pull_request) Successful in 4m23s
CI / security (pull_request) Successful in 4m49s
CI / integration_tests (pull_request) Successful in 7m27s
CI / unit_tests (pull_request) Successful in 8m11s
CI / docker (pull_request) Successful in 1m31s
CI / coverage (pull_request) Successful in 12m17s
CI / e2e_tests (pull_request) Successful in 22m57s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 54m40s
test(integration): workflow example 5 — database schema migration with safety nets (review profile)
Robot Framework integration test suite for Specification Workflow Example 5:
Database Schema Migration with Safety Nets.  Exercises the review automation
profile with custom resource types, custom skills with database tools,
phased child plan execution, checkpointing, and rollback.

- 7 test cases covering: custom resource type registration, review profile
  behavior, custom skill with 3 database tools, action creation with
  review profile, checkpoint/rollback via managers, 5-phase sequential
  SubplanService.spawn with fail-fast, and plan lifecycle through
  strategize-to-execute
- Uses mocked LLM providers (CLEVERAGENTS_TESTING_USE_MOCK_AI=true)
- All Run Process calls have timeout=60s on_timeout=kill
- Fix environment-dependent test failures: mock shutil.disk_usage in
  disk space and diagnostics --check Behave steps so tests pass
  regardless of CI runner disk space; Robot diagnostics test tolerates
  disk-space errors

ISSUES CLOSED: #769
2026-03-31 11:03:20 +00:00

71 lines
4.4 KiB
Plaintext

*** Settings ***
Documentation Integration test: Workflow Example 5 — Database Schema Migration
... with Safety Nets. Exercises the ``review`` automation profile with
... custom resource types, custom skills with database tools, phased
... child plans, checkpointing, and rollback.
... Spec reference: docs/specification.md ~lines 38244-38693
... Issue: #769
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} robot/helper_int_wf05_db_migration.py
*** Test Cases ***
Register Custom Resource Type With Transaction Rollback Sandbox
[Documentation] Register local/postgres-db with transaction_rollback sandbox
... and verify DB roundtrip.
[Tags] wf05 resource registration
${result}= Run Process ${PYTHON} ${HELPER} register-custom-resource-type cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Registration failed: ${result.stderr}
Should Contain ${result.stdout} register-custom-resource-type-ok
Review Automation Profile Behavior
[Documentation] Verify the review profile has correct autonomy thresholds:
... phases auto-start, decisions require approval, apply manual.
[Tags] wf05 profile review
${result}= Run Process ${PYTHON} ${HELPER} review-profile-behavior cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Profile check failed: ${result.stderr}
Should Contain ${result.stdout} review-profile-behavior-ok
Create Custom Skill With Database Tools
[Documentation] Create local/database-ops skill with query_db,
... execute_migration, and backfill_column tools.
[Tags] wf05 skill database
${result}= Run Process ${PYTHON} ${HELPER} create-custom-skill cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Skill creation failed: ${result.stderr}
Should Contain ${result.stdout} create-custom-skill-ok
Action With Review Profile Creates Plan With Args
[Documentation] Create action with review profile, 4 typed arguments,
... 4 invariants, and verify plan creation with correct state.
[Tags] wf05 action plan review
${result}= Run Process ${PYTHON} ${HELPER} action-with-review-profile cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Action/plan failed: ${result.stderr}
Should Contain ${result.stdout} action-with-review-profile-ok
Checkpoint Creation And Rollback
[Documentation] Create checkpoints during simulated migration phases,
... rollback to pre-migration state, verify file restoration.
[Tags] wf05 checkpoint rollback safety
${result}= Run Process ${PYTHON} ${HELPER} checkpoint-and-rollback cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Checkpoint/rollback failed: ${result.stderr}
Should Contain ${result.stdout} checkpoint-and-rollback-ok
Phased Subplan Execution For Sequential Migration
[Documentation] Spawn 5 child plans via SubplanService for sequential
... migration phases with fail-fast and no retry.
[Tags] wf05 subplan phased sequential spawn
${result}= Run Process ${PYTHON} ${HELPER} phased-subplan-execution cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Subplan spawn failed: ${result.stderr}
Should Contain ${result.stdout} phased-subplan-execution-ok
Plan Lifecycle With Review Profile Through Strategize
[Documentation] Create plan with review profile, run strategize via
... PlanExecutor, verify transition to EXECUTE/QUEUED.
[Tags] wf05 lifecycle strategize review
${result}= Run Process ${PYTHON} ${HELPER} plan-lifecycle-review-profile cwd=${WORKSPACE} timeout=60s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0 Lifecycle test failed: ${result.stderr}
Should Contain ${result.stdout} plan-lifecycle-review-profile-ok