Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pytest-httpx for openSUSE:Factory checked in at 2024-11-28 22:42:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pytest-httpx (Old) and /work/SRC/openSUSE:Factory/.python-pytest-httpx.new.28523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-httpx" Thu Nov 28 22:42:34 2024 rev:11 rq:1226222 version:0.34.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pytest-httpx/python-pytest-httpx.changes 2024-02-02 15:47:54.914069394 +0100 +++ /work/SRC/openSUSE:Factory/.python-pytest-httpx.new.28523/python-pytest-httpx.changes 2024-11-28 22:42:34.813536408 +0100 @@ -1,0 +2,125 @@ +Mon Nov 25 09:16:55 UTC 2024 - Dirk Müller <dmuel...@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. + +------------------------------------------------------------------- Old: ---- pytest_httpx-0.29.0-gh.tar.gz New: ---- pytest_httpx-0.34.0-gh.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pytest-httpx.spec ++++++ --- /var/tmp/diff_new_pack.XVw1EH/_old 2024-11-28 22:42:36.697615000 +0100 +++ /var/tmp/diff_new_pack.XVw1EH/_new 2024-11-28 22:42:36.709615501 +0100 @@ -18,23 +18,25 @@ %{?sle15_python_module_pythons} Name: python-pytest-httpx -Version: 0.29.0 +Version: 0.34.0 Release: 0 Summary: Send responses to httpx License: MIT URL: https://colin-b.github.io/pytest_httpx/ Source: https://github.com/Colin-b/pytest_httpx/archive/refs/tags/v%{version}.tar.gz#/pytest_httpx-%{version}-gh.tar.gz BuildRequires: %{python_module base >= 3.9} +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: python-rpm-macros # SECTION test requirements -BuildRequires: %{python_module httpx >= 0.26.0} -BuildRequires: %{python_module pytest >= 7.0} -BuildRequires: %{python_module pytest-asyncio >= 0.20.0} +BuildRequires: %{python_module httpx >= 0.27.0 with %python-httpx < 0.28} +BuildRequires: %{python_module pytest >= 8.0} +BuildRequires: %{python_module pytest-asyncio >= 0.24.0} # /SECTION BuildRequires: fdupes -Requires: python-httpx >= 0.26.0 -Requires: python-pytest >= 7.0 +Requires: python-pytest >= 8.0 +Requires: (python-httpx >= 0.27.0 with python-httpx < 0.28) BuildArch: noarch %python_subpackages @@ -43,14 +45,12 @@ %prep %setup -q -n pytest_httpx-%{version} -# unpin exact version -sed -i '/install_requires/ s/httpx==0.24.\*/httpx/' setup.py %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check @@ -58,5 +58,5 @@ %files %{python_files} %{python_sitelib}/pytest_httpx -%{python_sitelib}/pytest_httpx-%{version}*-info +%{python_sitelib}/pytest_httpx-%{version}.dist-info ++++++ pytest_httpx-0.29.0-gh.tar.gz -> pytest_httpx-0.34.0-gh.tar.gz ++++++ ++++ 5062 lines of diff (skipped)