Ensure TestClient HTTP methods return a context manager #1318
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.
What do these changes do?
A user should be able to run a test as per the client documentation;
However, because the test client doesn't return a context manager the above does not work (unless of course I'm doing something wrong).
This PR ensures the HTTP methods on TestClient return a context manager so that it mimics the same interface as a non-test client
Are there changes in behaviour for the user?
Yes, the TestClient will behave the same as the non-test client that their code will be using :)
Let's say or instance your code looked as follows;
Note the use of the context manager:
async with session.get('...') as resp:
And your test was;
On master, this would fail, because TestClient does not return a context manager.
Related issue number
None.
Checklist
CONTRIBUTORS.txt
CHANGES.rst