You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
The following option is now available:
can_send_already_matched_responses (boolean), defaulting to False.
Assertion failure message in case of unmatched responses is now linking documentation on how to deactivate the check.
Assertion failure message in case of unmatched requests is now linking documentation on how to deactivate the check.
httpx.TimeoutException message issued in case of unmatched request is now linking documentation on how to reuse responses (in case some responses are already matched).
Fixed
Documentation now clearly state the risks associated with changing the default options.
Assertion failure message in case of unmatched requests at teardown is now describing requests in a more user-friendly way.
Assertion failure message in case of unmatched requests at teardown is now prefixing requests with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
Assertion failure message in case of unmatched responses at teardown is now prefixing responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now prefixing available responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now listing unmatched responses (in registration order) before already matched one (still in registration order).
The incentive behind this change is to help identify a potential mismatch faster as the first unmatched response is the most likely to be the one expected to match.
Response description in failure messages (httpx.TimeoutException message issued in case of unmatched request or assertion failure message in case of unmatched responses at teardown) is now displaying if the response was already matched or not and less misleading in it's phrasing about what it can match (a single request by default).
Changed
Last registered matching response will not be reused by default anymore in case all matching responses have already been sent.
This behavior can be changed thanks to the new pytest.mark.httpx_mock(can_send_already_matched_responses=True) option.
The incentive behind this change is to spot regression if a request was issued more than the expected number of times.
HTTPXMock class was only exposed for type hinting purpose. This is now explained in the class docstring.
As a result this is the last time a change to __init__ signature will be documented and considered a breaking change.
Future changes will not be documented and will be considered as internal refactoring not worth a version bump.
__init__ now expects one parameter, the newly introduced (since [0.31.0]) options.
HTTPXMockOptions class was never intended to be exposed and is now marked as private.