Open
Conversation
Author
|
(will fix tests) |
|
Hello, I would also like to have something similar to help with checks on the request parameters, responses-style. The first part of this PR adresses the use-case, but I would like to still be able to differenciate between matchers. The behaviour I would like to have is as follows: loop = asyncio.get_event_loop()
session = aiohttp.ClientSession()
matcher1 = m.post('http://example.com', status=500)
matcher2 = m.post('http://example.com', status=200)
loop.run_until_complete(
session.post('http://example.com', json={"a": 1})
)
loop.run_until_complete(
session.post('http://example.com', json={"a": 2})
)
assert matcher1.requests[0].kwargs["json"] == {"a": 1}
assert len(matcher1.requests) == 1
assert matcher2.requests[1].kwargs["json"] == {"a": 2}
assert len(matcher2.requests) == 1I believe this would be achievable by adding a |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Sometimes it is useful to get the requests that were made in order to check for certain arguments such as header and payload. Currently,
aioresponseslets us do this by indexing intoaioresponses.requestswith a(method, url). However, I find this a bit clunky to use, especially when the mocked url is a regex.This PR includes a new way of getting the requests by using the
RequestMatchobject that is created when defining the mock. This is done by making the mocking methods return the createdRequestMatchand by adding a new.matched_requests()that takes this match objects and uses it to search for matching requests onaioresponses.requests.Example:
This is my first PR to this project, please let me know if there is any way it can be improved.