Files
cleveragents-core/robot/security_eval_removal.robot
brent.edwards e8aa5ac268
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 6m25s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m52s
CI / docker (pull_request) Successful in 9s
CI / coverage (pull_request) Successful in 5m5s
fix(ci): restore venv PATH, use absolute resource paths, and add timeouts in robot tests
- Restore session.env["PATH"] in integration_tests nox session to ensure
  Run Process uses venv Python instead of system Python
- Convert bare Resource references to ${CURDIR}/ absolute paths across
  30 robot files to fix CI resolution failures
- Add timeout=30s to all Run Process calls in rxpy_route_validation.robot
  to prevent hanging tests
- Tag 2 rxpy tests as slow (require running actors unavailable on CI)
- Fix LangGraph test to use correct config file (LANGGRAPH_CONFIG)
- All 204 tests pass (4 excluded: 2 slow + 2 discovery)
2026-02-13 02:42:57 +00:00

54 lines
2.8 KiB
Plaintext

*** Settings ***
Documentation Integration tests for SEC1 security hardening: eval()/exec() removal
... from stream_router.py, named operation and transform registries.
... Covers commit 548a09f stage SEC1.1-SEC1.3.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER_SCRIPT} robot/helper_security_eval.py
*** Test Cases ***
Named Operations Execute Correctly
[Documentation] Verify built-in named operations (uppercase, strip, lowercase) work
[Tags] security stream operations
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} named-operations cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} named-operations-ok
Code Blocks Are Rejected With StreamRoutingError
[Documentation] Verify code blocks with arbitrary Python are rejected (no eval/exec)
[Tags] security stream injection
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} code-blocks-rejected cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} code-blocks-rejected-ok
Custom Operation Registration And Execution
[Documentation] Verify custom operations can be registered and executed safely
[Tags] security stream registration
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} custom-operation cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} custom-operation-ok
Unregistered Transform Expression Rejected
[Documentation] Verify unregistered lambda/fn transform expressions are rejected
[Tags] security stream transform
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} unregistered-transform cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} unregistered-transform-rejected-ok
Registered Transform Works After Registration
[Documentation] Verify named transforms can be registered and execute correctly
[Tags] security stream transform registration
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} registered-transform cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} registered-transform-ok
Identity Is Default Operation
[Documentation] Verify identity operation is default when none specified
[Tags] security stream identity
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} identity-default cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} identity-default-ok