6ffba3e2ba
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m38s
CI / integration_tests (pull_request) Successful in 6m42s
CI / build (pull_request) Successful in 16s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m8s
- Avoid deleting the workspace when OPENAI_API_KEY is unset by guarding cleanup and initializing CONTEXT_DIR - Prevents downstream Robot suites from losing .nox venv and resource files after the basic scientific paper suite is skipped
89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
*** Settings ***
|
|
Library Process
|
|
Library OperatingSystem
|
|
Library String
|
|
Resource ${CURDIR}/v2_paths.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${PYTHON} python
|
|
${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
|
|
[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
|
|
... -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 actor 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 actor run
|
|
... -c ${V2_CONFIG_DIR}/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
|
|
Require OpenAI Key
|
|
${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}
|
|
|
|
Require OpenAI Key
|
|
${api_key}= Get Environment Variable OPENAI_API_KEY default=
|
|
Run Keyword If '${api_key}' == '' Skip OPENAI_API_KEY not set; skipping LLM integration tests
|