Skip to content

feat: add integration tests for full extproc exchanges via tester processor - #23

Merged
wrossmorrow merged 1 commit into
mainfrom
feat/extproc-integration-tests
Oct 28, 2026
Merged

wrossmorrow merged 1 commit into
mainfrom
feat/extproc-integration-tests

Conversation

@wrossmorrow-pi-bot

Copy link
Copy Markdown
Contributor

What

Adds the Java SDK's integration tests for full ext_proc exchanges, driven through the
TestingRequestProcessor via the gRPC ExternalProcessor service (the Java analog of the
Go SDK's test/tester.go harness).

Changes

  • TestingRequestProcessorIntegrationTest drives a full exchange over a single bidirectional
    gRPC stream through the four envoy phases (request headers → request body → response headers →
    response body) using LoadGen helpers, and asserts on the collected responses.
  • LoadGen gains a runExchange(stub, requestBodyJson) overload so the tester can drive exchanges
    with arbitrary action payloads (phase 2 now uses ByteString.copyFromUtf8 for the body).

Tests

  • noop exchange completes without error
  • request header actions are applied
  • response header actions are applied
  • request body replacement is applied
  • cancel request is applied (immediate response, status 409, body)
./gradlew clean build   # includes the new integration tests

Notes

  • Cancel is exercised at the request-body phase and the exchange stops there (the cancel ends the
    stream); phase responses for request-body actions carry the request body mutations
    (ResponseCase.REQUEST_BODY).
  • Full compose-stack verification (docker compose up --build) still pending on the maintainer's
    machine (Docker unavailable in the dev sandbox).

@wrossmorrow
wrossmorrow merged commit 9fa1f31 into main Oct 28, 2026
4 checks passed
@wrossmorrow
wrossmorrow deleted the feat/extproc-integration-tests branch October 28, 2026 18:58
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.

1 participant