File python-pytest-httpx.changes of Package python-pytest-httpx

-------------------------------------------------------------------
Mon Dec 16 04:00:04 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>

- Update to 0.35.0:
  * Requires httpx==0.28.*

-------------------------------------------------------------------
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
openSUSE Build Service is sponsored by