82 lines
3.9 KiB
Plaintext
82 lines
3.9 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for tool call router
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER_SCRIPT} robot/helper_tool_router.py
|
|
|
|
*** Test Cases ***
|
|
Detect OpenAI Format
|
|
[Documentation] Detect OpenAI tool call format from payload
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} detect_openai cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} detect-openai-ok
|
|
|
|
Detect Anthropic Format
|
|
[Documentation] Detect Anthropic tool call format from payload
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} detect_anthropic cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} detect-anthropic-ok
|
|
|
|
Detect LangChain Format
|
|
[Documentation] Detect LangChain tool call format from payload
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} detect_langchain cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} detect-langchain-ok
|
|
|
|
Normalize OpenAI Payload
|
|
[Documentation] Normalize OpenAI format tool call to internal request
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} normalize_openai cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} normalize-openai-ok
|
|
|
|
Stable ID Generation
|
|
[Documentation] Generate deterministic tool call IDs
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} stable_id cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} stable-id-ok
|
|
|
|
Route OpenAI Tool Call
|
|
[Documentation] Route an OpenAI format tool call through the router
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} route_openai cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} route-openai-ok
|
|
|
|
Route Anthropic Tool Call
|
|
[Documentation] Route an Anthropic format tool call through the router
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} route_anthropic cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} route-anthropic-ok
|
|
|
|
Route Error Normalisation
|
|
[Documentation] Tool errors are normalized into NormalizedToolCallResult
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} route_error cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} route-error-ok
|
|
|
|
Error Classification
|
|
[Documentation] Error messages are classified into categories
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} error_classify cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} error-classify-ok
|
|
|
|
Schema Normalization
|
|
[Documentation] Tool schemas are normalized for different providers
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} schema_normalize cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} schema-normalize-ok
|
|
|
|
Batch Route Tool Calls
|
|
[Documentation] Route multiple tool calls as a batch
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} batch_route cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} batch-route-ok
|
|
|
|
Streaming Tool Call
|
|
[Documentation] Route a tool call with streaming updates
|
|
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} streaming cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} streaming-ok
|