Conversation
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Evaline Ju <69598118+evaline-ju@users.noreply.github.com>
Signed-off-by: Evaline Ju <69598118+evaline-ju@users.noreply.github.com>
Signed-off-by: Evaline Ju <69598118+evaline-ju@users.noreply.github.com>
Signed-off-by: Evaline Ju <69598118+evaline-ju@users.noreply.github.com>
Signed-off-by: Evaline Ju <69598118+evaline-ju@users.noreply.github.com>
e6f25f4 to
4952750
Compare
|
Thanks, @evaline-ju. This is pretty neat. Integration tests could be pretty useful. Couple of questions for my understanding:
|
|
@julianstephen thanks for taking a look!
The envoy module mocking was present in the unit tests and aren't used for the integration tests added here in this PR. I assume this is in reference to the comment update for "Server unit tests" in the CI workflow update. The integration tests here spin up a real gRPC server with the actual The flow in integration tests is: test → real gRPC stub → ExtProcServicer (server.py) → PluginManager → PassthroughPlugin
The passthrough plugin is deliberately a test-only fixture plugin to allow the simple allow/block cases (since this adapter isn't doing much more right now). Mainly it avoids additional external services and having to mock those (like for the nemocheck plugin example). It could serve as a template for more detailed integration tests with other plugins — the pattern of the test plugin and real gRPC server is basically reusable. |
Summary
Initial integration tests that leverage an actual grpc server (note the added tests do not depend on/use an MCP gateway)
Related issue(s)
Fixes #42