Files
cleveragents-core/robot/context_management_test.robot
CoreRasurae c5990904fb test(robot): Disable tests that depend on code blocks
Code blocks exec()/eval()/compile() where removed as part of m4-security-eval
2026-02-21 16:32:11 +00:00

103 lines
3.7 KiB
Plaintext

*** Settings ***
Documentation Simple context management test for CleverAgents CLI
... SEC1: Uses simple_echo_config.yaml which requires code blocks.
Library Process
Library OperatingSystem
Library String
Library DateTime
Resource ${CURDIR}/v2_paths.resource
Force Tags code_blocks
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${PYTHON} python
${SIMPLE_CONFIG} ${V2_CONFIG_DIR}/simple_echo_config.yaml
${CONTEXT_DIR} ${TEMPDIR}/test_contexts
${UNIQUE_ID} ${EMPTY}
${TEMP} ${EMPTY}
*** Test Cases ***
Test Context Command Help
[Documentation] Verify context command help is available
${result} = Run Process ${PYTHON} -m cleveragents context --help
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} Context management
Should Contain ${result.stdout} clear
Should Contain ${result.stdout} Context management
Test Run With Context Creates Directory
[Documentation] Verify --context flag creates context directory
${context_name} = Set Variable ctx_${UNIQUE_ID}
# Use simple test config that exits cleanly
${result} = Run Process ${PYTHON} -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${context_name}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p "test message"
Should Be Equal As Integers ${result.rc} 0
Directory Should Exist ${CONTEXT_DIR}/${context_name}
Test Context Delete
[Documentation] Test context delete command
${context_name} = Set Variable del_${UNIQUE_ID}
# Create context
Run Process ${PYTHON} -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${context_name}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p "test"
Directory Should Exist ${CONTEXT_DIR}/${context_name}
# Delete it
${result} = Run Process ${PYTHON} -m cleveragents context delete
... ${context_name}
... --context-dir ${CONTEXT_DIR}
... --yes
Should Be Equal As Integers ${result.rc} 0
Directory Should Not Exist ${CONTEXT_DIR}/${context_name}
Test Context Clear
[Documentation] Test context clear command
${context_name} = Set Variable clear_${UNIQUE_ID}
# Create context
Run Process ${PYTHON} -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${context_name}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p "test"
# Clear it
${result} = Run Process ${PYTHON} -m cleveragents context clear
... ${context_name}
... --context-dir ${CONTEXT_DIR}
... --yes
Should Be Equal As Integers ${result.rc} 0
Directory Should Exist ${CONTEXT_DIR}/${context_name}
*** Keywords ***
Setup Test Environment
${timestamp} = Get Current Date result_format=%Y%m%d_%H%M%S
${random} = Evaluate random.randint(1000, 9999) modules=random
Set Suite Variable ${UNIQUE_ID} ${timestamp}_${random}
Set Suite Variable ${TEMP} ${TEMPDIR}/ca_test_${UNIQUE_ID}
Set Suite Variable ${CONTEXT_DIR} ${TEMP}/contexts
Create Directory ${TEMP}
Create Directory ${CONTEXT_DIR}
Cleanup Test Environment
Run Keyword And Ignore Error Remove Directory ${TEMP} recursive=True