Add scope_client
parameter to TestClient
#2430
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
A breaking change was made when the
TestClient
'sscope["client"]
was set to None. In cases where an application uses the scope["client"] in places like custom middleware, logging, etc, upgrading to 0.35 becomes a very hard task. Testing middleware/logging/business logic that relies on the client being populated becomes hard if not impossible. Middleware that worked before breaks, and now we need to add checks in application code to disable certain things based on whether or not the test suite is running.This PR adds the ability for users to specify what the
scope["client"]
should be when using the test client. This way, when using fixtures in a framework like pytest (which is the recommended setup), a one line change is all that is required.Checklist