-
Notifications
You must be signed in to change notification settings - Fork 272
feat: implement comprehensive ExtProc testing with cache bypass #292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit enhances the 01-envoy-extproc-test.py with ExtProc-specific functionality tests and implements cache bypass using unique UUIDs. Changes: - Added unique UUID generation for each test to bypass semantic cache - Implemented 4 comprehensive ExtProc tests covering key functionality - Updated test queries to ensure fresh model calls instead of cached responses - Enhanced error handling for connection issues in malformed request tests Test Coverage: 1. test_request_headers_propagation What: Tests that custom headers flow correctly through the ExtProc How: - Sends request with custom headers: X-Test-Trace-ID, X-Original-Model - Verifies ExtProc doesn't break header handling - Checks response contains proper Content-Type and model fields ExtProc Value: Ensures headers aren't corrupted during ExtProc processing 2. test_extproc_body_modification What: Tests that ExtProc can inspect/modify request and response bodies How: - Sends request with custom field: "test_field": "should_be_preserved" - Uses header X-Test-Body-Modification: true to signal ExtProc - Verifies response is valid and processing succeeded ExtProc Value: Confirms ExtProc can access and potentially transform request/response data 3. test_extproc_error_handling What: Tests ExtProc resilience against malformed/unusual requests How: - Sends problematic headers: very long headers (1000 chars), special characters - Uses headers like X-Test-Error-Recovery: true - Expects graceful handling (no crashes/hangs) - Accepts either success OR protective disconnection ExtProc Value: Ensures ExtProc acts as protective filter, doesn't crash on bad input 4. test_extproc_performance_impact What: Tests that ExtProc doesn't add excessive latency How: - Measures end-to-end response time with ExtProc processing - Uses performance-specific headers: X-Test-Performance: true - Validates response time < 30 seconds (reasonable threshold) - Checks request succeeds without timeout ExtProc Value: Confirms ExtProc doesn't bottleneck the request pipeline 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> Signed-off-by: Yossi Ovadia <[email protected]>
👥 vLLM Semantic Team NotificationThe following members have been identified for the changed files in this PR and have been automatically assigned: 📁
|
✅ Deploy Preview for vllm-semantic-router ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@yossiovadia can you add a test case to test semantic cache? |
on my list ( along with PII, Jail break etc ) about 10 in total. |
…-project#292) This commit enhances the 01-envoy-extproc-test.py with ExtProc-specific functionality tests and implements cache bypass using unique UUIDs. Changes: - Added unique UUID generation for each test to bypass semantic cache - Implemented 4 comprehensive ExtProc tests covering key functionality - Updated test queries to ensure fresh model calls instead of cached responses - Enhanced error handling for connection issues in malformed request tests Test Coverage: 1. test_request_headers_propagation What: Tests that custom headers flow correctly through the ExtProc How: - Sends request with custom headers: X-Test-Trace-ID, X-Original-Model - Verifies ExtProc doesn't break header handling - Checks response contains proper Content-Type and model fields ExtProc Value: Ensures headers aren't corrupted during ExtProc processing 2. test_extproc_body_modification What: Tests that ExtProc can inspect/modify request and response bodies How: - Sends request with custom field: "test_field": "should_be_preserved" - Uses header X-Test-Body-Modification: true to signal ExtProc - Verifies response is valid and processing succeeded ExtProc Value: Confirms ExtProc can access and potentially transform request/response data 3. test_extproc_error_handling What: Tests ExtProc resilience against malformed/unusual requests How: - Sends problematic headers: very long headers (1000 chars), special characters - Uses headers like X-Test-Error-Recovery: true - Expects graceful handling (no crashes/hangs) - Accepts either success OR protective disconnection ExtProc Value: Ensures ExtProc acts as protective filter, doesn't crash on bad input 4. test_extproc_performance_impact What: Tests that ExtProc doesn't add excessive latency How: - Measures end-to-end response time with ExtProc processing - Uses performance-specific headers: X-Test-Performance: true - Validates response time < 30 seconds (reasonable threshold) - Checks request succeeds without timeout ExtProc Value: Confirms ExtProc doesn't bottleneck the request pipeline 🤖 Generated with [Claude Code](https://claude.ai/code) Signed-off-by: Yossi Ovadia <[email protected]> Co-authored-by: Claude <[email protected]> Signed-off-by: liuhy <[email protected]>
…-project#292) This commit enhances the 01-envoy-extproc-test.py with ExtProc-specific functionality tests and implements cache bypass using unique UUIDs. Changes: - Added unique UUID generation for each test to bypass semantic cache - Implemented 4 comprehensive ExtProc tests covering key functionality - Updated test queries to ensure fresh model calls instead of cached responses - Enhanced error handling for connection issues in malformed request tests Test Coverage: 1. test_request_headers_propagation What: Tests that custom headers flow correctly through the ExtProc How: - Sends request with custom headers: X-Test-Trace-ID, X-Original-Model - Verifies ExtProc doesn't break header handling - Checks response contains proper Content-Type and model fields ExtProc Value: Ensures headers aren't corrupted during ExtProc processing 2. test_extproc_body_modification What: Tests that ExtProc can inspect/modify request and response bodies How: - Sends request with custom field: "test_field": "should_be_preserved" - Uses header X-Test-Body-Modification: true to signal ExtProc - Verifies response is valid and processing succeeded ExtProc Value: Confirms ExtProc can access and potentially transform request/response data 3. test_extproc_error_handling What: Tests ExtProc resilience against malformed/unusual requests How: - Sends problematic headers: very long headers (1000 chars), special characters - Uses headers like X-Test-Error-Recovery: true - Expects graceful handling (no crashes/hangs) - Accepts either success OR protective disconnection ExtProc Value: Ensures ExtProc acts as protective filter, doesn't crash on bad input 4. test_extproc_performance_impact What: Tests that ExtProc doesn't add excessive latency How: - Measures end-to-end response time with ExtProc processing - Uses performance-specific headers: X-Test-Performance: true - Validates response time < 30 seconds (reasonable threshold) - Checks request succeeds without timeout ExtProc Value: Confirms ExtProc doesn't bottleneck the request pipeline 🤖 Generated with [Claude Code](https://claude.ai/code) Signed-off-by: Yossi Ovadia <[email protected]> Co-authored-by: Claude <[email protected]> Signed-off-by: liuhy <[email protected]>

01-envoy-extproc-test.py with ExtProc-specific functionality tests and implements cache bypass using unique UUIDs.
Test Coverage:
What: Tests that custom headers flow correctly through the ExtProc How:
What: Tests that ExtProc can inspect/modify request and response bodies How:
What: Tests ExtProc resilience against malformed/unusual requests How:
What: Tests that ExtProc doesn't add excessive latency How:
Release Notes: No