-
Notifications
You must be signed in to change notification settings - Fork 464
feat(mcptest): Change Server.Start
to accept a context.Context
.
#339
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
base: main
Are you sure you want to change the base?
Conversation
Previously, `mcptest` used `context.TODO()` as the context with this server code was executed (with a comment to upgrade to `testing.T.Context()` eventually. This effectively prevents tests from preparing a context to be used with server code. This is imporant, because `WithHTTPContextFunc` and friends appear to be the intended way to extract things like authentication information from the raw HTTP request and pass it to the server code. Without this change, such code is effectively untestable, at least with this package. The `NewServer` convenience method has been left unchanged (i.e. it does not accept a context) to avoid breaking users taking the happy path. Chaning the signature of `Start()` is however a breaking change.
WalkthroughThe Changes
Possibly related PRs
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (1.64.8)Error: you are using a configuration file for golangci-lint v2 with golangci-lint v1: please use golangci-lint v2 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🔇 Additional comments (2)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
@octo I think this change is good but there might be some change around the same files recently which could have caused the CI to fail. I have merged the master branch to this branch. Can you check and fix these issues and we can get this merged. |
@pottekkat Thanks for taking a look! I have updated the test cases that had been committed to |
Description
Previously,
mcptest
usedcontext.TODO()
as the context with this server code was executed (with a comment to upgrade totesting.T.Context()
eventually.This effectively prevents tests from preparing a context to be used with server code. This is imporant, because
WithHTTPContextFunc
and friends appear to be the intended way to extract things like authentication information from the raw HTTP request and pass it to the server code. Without this change, such code is effectively untestable, at least with this package.The
NewServer
convenience method has been left unchanged (i.e. it does not accept a context) to avoid breaking users taking the happy path. Changing the signature ofStart()
is however a breaking change.Type of Change
Checklist
My code follows the code style of this project
I have performed a self-review of my own code
I have added tests that prove my fix is effective or that my feature works
Covered by existing tests.
I have updated the documentation accordingly
Additional Information
Let me know if you'd prefer to either
NewServer
to accept a context, orStartContext
.Summary by CodeRabbit