Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:languages:python:backports
python-pytest-httpx
python-pytest-httpx.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python-pytest-httpx.changes of Package python-pytest-httpx
------------------------------------------------------------------- Mon Nov 25 09:16:55 UTC 2024 - Dirk Müller <dmueller@suse.com> - update to 0.34.0: * `is_optional` parameter is now available on responses and callbacks registration. Allowing to add optional responses while keeping other responses as mandatory. Refer to documentation for more details. * `is_reusable` parameter is now available on responses and callbacks registration. Allowing to add multi-match responses while keeping other responses as single-match. Refer to documentation for more details. * `httpx_mock.get_request` will now also propose to refine filters if more than one request is found instead of only proposing to switch to `httpx_mock.get_requests`. * Explicit support for python `3.13`. * `should_mock` option (callable returning a boolean) is now available, defaulting to always returning `True`. Refer to documentation for more details. * Matching on the full multipart body can now be performed using `match_files` and `match_data` parameters. Refer to documentation for more details. * Matching on extensions (including timeout) can now be performed using `match_extensions` parameter. Refer to documentation for more details. * 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). * 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.h ttpx_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. * `httpx_mock` marker can now be defined at different levels for a single test. * It is now possible to match on content provided as async iterable by the client. * Tests will now fail at teardown by default if some requests were issued but were not matched. * This behavior can be changed thanks to the new `pytest.mark.h ttpx_mock(assert_all_requests_were_expected=False)` option. * The incentive behind this change is to spot unexpected requests in case code is swallowing `httpx.TimeoutException`. * The `httpx_mock` fixture is now configured using a marker (many thanks to `Frazer McLean`). * ```python * # Apply marker to whole module * pytestmark = pytest.mark.httpx_mock(assert_all_responses_were _requested=False) * # Or to specific tests * @pytest.mark.httpx_mock(non_mocked_hosts=[...]) * def test_foo(httpx_mock): * ... * ``` * The following options are available: * `assert_all_responses_were_requested` (boolean), defaulting to `True`. * `assert_all_requests_were_expected` (boolean), defaulting to `True`. * `non_mocked_hosts` (iterable), defaulting to an empty list, meaning all hosts are mocked. * `httpx_mock.reset` do not expect any parameter anymore and will only reset the mock state (no assertions will be performed). * `pytest` `7` is not supported anymore (`pytest` `8` has been out for 9 months already). * `assert_all_responses_were_requested` fixture is not available anymore, use `pytest.mark.httpx_mock(assert_all_res ponses_were_requested=False)` instead. * `non_mocked_hosts` fixture is not available anymore, use `pytest.mark.httpx_mock(non_mocked_hosts=[])` instead. ------------------------------------------------------------------- Thu Feb 1 21:21:49 UTC 2024 - Dirk Müller <dmueller@suse.com> - update to 0.29.0: * Add support for `pytest`==8.\* ------------------------------------------------------------------- Tue Jan 9 21:38:43 UTC 2024 - Dirk Müller <dmueller@suse.com> - update to 0.28.0: * Requires `httpx`==0.26.\* ------------------------------------------------------------------- Sun Nov 19 10:48:03 UTC 2023 - Dirk Müller <dmueller@suse.com> - update to 0.27.0: * Explicit support for python `3.12`. * Custom HTTP transport are now handled (parent call to `handle_async_request` or `handle_request`). * Only HTTP transport are now mocked, this should not have any impact, however if it does, please feel free to open an issue describing your use case. ------------------------------------------------------------------- Tue Nov 7 19:44:01 UTC 2023 - Dirk Müller <dmueller@suse.com> - update to 0.26.0: * Added `proxy_url` parameter which allows matching on proxy URL. * Requires `httpx`==0.25.\* * Added `match_json` parameter which allows matching on JSON decoded body (matching against python representation instead of bytes). * Even if it was never documented as a feature, the `match_headers` parameter was not considering header names case when matching. * Matching on headers does not ignore name case anymore, the name must now be cased as sent (as some servers might expect a specific case). * Add `:Any` type hint to `**matchers` function arguments to satisfy strict type checking mode in `pyright`. * Python `3.7` and `3.8` are no longer supported. * `httpx_mock.add_response` is now returning a new `httpx.Response` instance upon each matching request. Preventing unnecessary recursion in streams. ------------------------------------------------------------------- Sat Jul 1 09:13:35 UTC 2023 - ecsos <ecsos@opensuse.org> - Add %{?sle15_python_module_pythons} ------------------------------------------------------------------- Thu May 4 22:53:10 UTC 2023 - Dirk Müller <dmueller@suse.com> - update to 0.22.0: * Requires `httpx`==0.24.\* * Update version specifiers for `pytest` dependency to support `packaging` `23`. * Add explicit support for `python` `3.11`. ------------------------------------------------------------------- Mon Jan 16 16:21:19 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com> - Update to 0.21.2 * URL containing non ASCII characters in query can now be matched. * Requests are now cleared when calling httpx_mock.reset. - 0.21.1 * httpx_mock.add_callback now handles async callbacks. - Unpin httpx and pytest in python metadata ------------------------------------------------------------------- Mon Jul 25 10:37:48 UTC 2022 - Ben Greiner <code@bnavigator.de> - Update to 0.21.0 * Requires httpx>=0.23.* * Python 3.6 is no longer supported. - Unpin httpx in python metadata ------------------------------------------------------------------- Thu Mar 3 00:16:34 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com> - Upgrade to 0.20.0: * Add support for [`pytest`](https://docs.pytest.org)==7.\* ([`pytest`](https://docs.pytest.org)==6.\* is still supported for now). (many thanks to [`Craig Blaszczyk`](https://github.com/jakul)) * Requires [`httpx`](https://www.python-httpx.org)==0.22.\* * Python 3.6 is no longer supported. * Callback are now executed as expected when there is a matching already sent response. * `httpx_mock.add_response` `data`, `files` and `boundary` parameters have been removed. It was deprecated since `0.17.0`. Refer to this version changelog entry for more details on how to update your code. * An exception can now be raised without creating a callback by using `httpx_mock.add_exception` method. * `httpx_mock.add_response` `data` parameter is only used for multipart content. It was deprecated since `0.14.0`. Refer to this version changelog entry for more details on how to update your code. * `pytest_httpx.to_response` function has been removed. It was deprecated since `0.14.0`. Refer to this version changelog entry for more details on how to update your code. * Callbacks are now expected to have a single parameter, the request. The previously second parameter `extensions`, can still be accessed via `request.extensions`. * Callbacks are now expected to return a `httpx.Response` instance instead of the previous `httpcore.Response` tuple. As a consequence, `pytest_httpx.to_response` now returns a `httpx.Response` instance. * `httpx_mock.add_response` now allows to explicitly provide bytes using `content` parameter. * `httpx_mock.add_response` now allows to explicitly provide string using `text` parameter. * `httpx_mock.add_response` now allows to explicitly provide HTML string content using `html` parameter. * `httpx_mock.add_response` now allows to explicitly provide streamed content using `stream` parameter and the new `pytest_httpx.IteratorStream` class. * `pytest_httpx.to_response` is now deprecated in favor of `httpx.Response`. This function will be removed in a future release. * `httpx_mock.add_response` `data` parameter should now only be used for multipart content. Instead, use the appropriate parameter amongst `content`, `text`, `html` or `stream`. * Type information is now provided following [PEP 561](https://www.python.org/dev/peps/pep-0561/) (many thanks to [`Caleb Ho`](https://github.com/calebho)). ------------------------------------------------------------------- Thu Jun 3 08:53:42 UTC 2021 - Antonio Larrosa <alarrosa@suse.com> - Initial release of python-pytest-httpx 0.12.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor