*** Settings *** Library Process Library OperatingSystem Library String Resource ${CURDIR}/v2_paths.resource Suite Setup Setup Test Environment Suite Teardown Cleanup Test Environment *** Variables *** ${CONFIG_FILE} ${CURDIR}/../examples/scientific_paper_writer.yaml ${CONTEXT_DIR} ${TEMPDIR}/paper_basic_contexts ${CONTEXT_NAME} ${EMPTY} ${TEST_ID} ${EMPTY} *** Test Cases *** Scientific Paper Writer Basic Integration Test [Documentation] Minimal integration test to verify scientific paper writer works with real APIs [Tags] integration code_blocks [Timeout] 2 minutes # Test 1: Basic intro response (uses OpenAI API) ${result}= Run Process ${PYTHON} -m cleveragents actor run ... -c ${CONFIG_FILE} ... --context ${CONTEXT_NAME} ... --context-dir ${CONTEXT_DIR} ... --unsafe ... --allow-rxpy-in-run-mode ... test-actor Hello ... stderr=DEVNULL ... timeout=120s on_timeout=kill Should Contain ${result.stdout} Paper Writer Log Intro test passed # Test 2: Command handler (no API needed) ${result}= Run Process ${PYTHON} -m cleveragents actor run ... -c ${CONFIG_FILE} ... --context ${CONTEXT_NAME} ... --context-dir ${CONTEXT_DIR} ... --unsafe ... --allow-rxpy-in-run-mode ... test-actor !help ... stderr=DEVNULL ... timeout=120s on_timeout=kill Should Contain ${result.stdout} Available Commands Log Command handler test passed # Test 3: Echo test to verify framework works ${result}= Run Process ${PYTHON} -m cleveragents actor run ... -c ${V2_CONFIG_DIR}/simple_echo_config.yaml ... --unsafe ... --allow-rxpy-in-run-mode ... test-actor Test message ... stderr=DEVNULL ... timeout=120s on_timeout=kill Should Contain ${result.stdout} Test message Log Echo test passed Log All integration tests passed successfully *** Keywords *** Setup Test Environment ${timestamp}= Get Time epoch Set Suite Variable ${TEST_ID} ${timestamp} Set Suite Variable ${CONTEXT_NAME} test_paper_simple_${TEST_ID} Set Suite Variable ${CONTEXT_DIR} ${TEMPDIR}/paper_basic_contexts Create Directory ${CONTEXT_DIR} Log Test environment setup complete with ID: ${TEST_ID} Cleanup Test Environment Run Keyword If '${CONTEXT_DIR}' != '${EMPTY}' Remove Directory ${CONTEXT_DIR} recursive=True Log Test environment cleaned up Should Contain Any [Arguments] ${text} @{patterns} FOR ${pattern} IN @{patterns} ${status}= Run Keyword And Return Status Should Contain ${text} ${pattern} IF ${status} RETURN END Fail Text does not contain any of: @{patterns}