Skip to content

Conversation

@yossiovadia
Copy link
Collaborator

01-envoy-extproc-test.py with ExtProc-specific functionality tests and implements cache bypass using unique UUIDs.

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
  1. 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
  1. 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
  1. 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

Release Notes: No

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]>
@github-actions
Copy link

👥 vLLM Semantic Team Notification

The following members have been identified for the changed files in this PR and have been automatically assigned:

📁 e2e-tests

Owners: @yossiovadia
Files changed:

  • e2e-tests/01-envoy-extproc-test.py

vLLM

🎉 Thanks for your contributions!

This comment was automatically generated based on the OWNER files in the repository.

@netlify
Copy link

netlify bot commented Sep 29, 2025

Deploy Preview for vllm-semantic-router ready!

Name Link
🔨 Latest commit 258b8ed
🔍 Latest deploy log https://app.netlify.com/projects/vllm-semantic-router/deploys/68daf3442b85990008a9c230
😎 Deploy Preview https://deploy-preview-292--vllm-semantic-router.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@rootfs rootfs merged commit 2d4d5ae into vllm-project:main Sep 29, 2025
9 checks passed
@rootfs
Copy link
Collaborator

rootfs commented Sep 29, 2025

@yossiovadia can you add a test case to test semantic cache?

@yossiovadia
Copy link
Collaborator Author

@yossiovadia can you add a test case to test semantic cache?

on my list ( along with PII, Jail break etc ) about 10 in total.

@yossiovadia yossiovadia deleted the 01-envoy-extproc-test branch September 30, 2025 15:33
Aias00 pushed a commit to Aias00/semantic-router that referenced this pull request Oct 4, 2025
…-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]>
Aias00 pushed a commit to Aias00/semantic-router that referenced this pull request Oct 4, 2025
…-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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants