Files
cleveragents-core/tests/integration/scientific_paper_basic.robot
T

81 lines
2.7 KiB
Plaintext

*** Settings ***
Library Process
Library OperatingSystem
Library String
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${CONFIG_FILE} ${CURDIR}/../../examples/scientific_paper_writer.yaml
${CONTEXT_DIR} ${EMPTY}
${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
[Timeout] 2 minutes
# Test 1: Basic intro response (uses OpenAI API)
${result}= Run Process python -m cleveragents run
... -c ${CONFIG_FILE}
... --context ${CONTEXT_NAME}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p Hello
... stderr=DEVNULL
... timeout=20s
Should Contain ${result.stdout} Paper Writer
Log Intro test passed
# Test 2: Command handler (no API needed)
${result}= Run Process python -m cleveragents run
... -c ${CONFIG_FILE}
... --context ${CONTEXT_NAME}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... -p !help
... stderr=DEVNULL
... timeout=10s
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 run
... -c ${CURDIR}/../../tests/fixtures/simple_echo_config.yaml
... --unsafe
... --allow-rxpy-in-run-mode
... -p Test message
... stderr=DEVNULL
... timeout=10s
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 And Ignore Error 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}