Files
cleveragents-core/robot/scientific_paper_writer_test.robot

95 lines
3.4 KiB
Plaintext

*** Settings ***
Documentation Integration test for Scientific Paper Writer context management
Library Process
Library OperatingSystem
Library String
Library DateTime
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Settings ***
Resource v2_paths.resource
*** Variables ***
${SIMPLE_CONFIG} ${V2_CONFIG_DIR}/simple_echo_config.yaml
${CONTEXT_DIR} ${TEMPDIR}/sciwri_contexts
${UNIQUE_ID} ${EMPTY}
${TEMP} ${EMPTY}
*** Test Cases ***
Test Context Export Import Commands
[Documentation] Test exporting and importing context
${source_ctx} = Set Variable export_${UNIQUE_ID}
${import_ctx} = Set Variable import_${UNIQUE_ID}
${export_file} = Set Variable ${TEMP}/export.json
# Create source context with simple config
Run Process python -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${source_ctx}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p Hello world
... timeout=10s
# Export it
${result} = Run Process python -m cleveragents context export
... ${source_ctx} ${export_file}
... --context-dir ${CONTEXT_DIR}
Should Be Equal As Integers ${result.rc} 0
File Should Exist ${export_file}
# Import to new context
${result} = Run Process python -m cleveragents context import
... ${import_ctx} ${export_file}
... --context-dir ${CONTEXT_DIR}
Should Be Equal As Integers ${result.rc} 0
Directory Should Exist ${CONTEXT_DIR}/${import_ctx}
Test Context List Command
[Documentation] Test listing contexts
${ctx1} = Set Variable list1_${UNIQUE_ID}
${ctx2} = Set Variable list2_${UNIQUE_ID}
# Create two contexts with simple echo config
Run Process python -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${ctx1}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p First
... timeout=10s
Run Process python -m cleveragents actor run
... -c ${SIMPLE_CONFIG}
... --context ${ctx2}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p Second
... timeout=10s
# List them
${result} = Run Process python -m cleveragents context list
... --context-dir ${CONTEXT_DIR}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} ${ctx1}
Should Contain ${result.stdout} ${ctx2}
*** 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}/sciwri_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