Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update responses to 0.25.3 #578

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates responses from 0.10.5 to 0.25.3.

Changelog

0.25.3

------

* Fixed `recorder` not saving and loading response headers with yaml files. See 715

0.25.2

------

* Mulligan on 0.25.1 to run release pipeline correctly.
* Added `matchers.body_matcher` for matching string request bodies. See 717

0.25.1

------

* Fixed tests failures during RPM package builds. See 706
* Fix mocked HEAD responses that have `Content-Length` set. See 712
* Fixed error messages when matches fail: inputs are not sorted or reformatted. See 704

0.25.0

------

* Added support for Python 3.12
* Fixed `matchers.header_matcher` not failing when a matched header is missing from the request. See 702

0.24.1

------

* Reverted overloads removal
* Added typing to `Call` attributes.
* Fix socket issues (see 693)

0.24.0

------

* Added `BaseResponse.calls` to access calls data of a separate mocked request. See 664
* Added `real_adapter_send` parameter to `RequestsMock` that will allow users to set
through which function they would like to send real requests
* Added support for re.Pattern based header matching.
* Added support for gzipped response bodies to `json_params_matcher`.
* Fix `Content-Type` headers issue when the header was duplicated. See 644
* Moved types-pyyaml dependency to `tests_requires`
* Removed Python3.7 support

0.23.3

------

* Allow urllib3>=1.25.10

0.23.2

------

> This release is the last to support Python 3.7

* Updated dependency to urllib3>=2 and requests>=2.30.0. See 635
* Fixed issue when custom adapters were sending only positional args. See 642
* Expose `unbound_on_send` method in `RequestsMock` class. This method returns new function
that is called by `RequestsMock` instead of original `send` method defined by any adapter.

0.23.1

------

* Remove `tomli` import. See 630

0.23.0

------

* Add Python 3.11 support
* Fix type annotations of `CallList`. See 593
* `request` object is attached to any custom exception provided as `Response` `body` argument. See 588
* Fixed mocked responses leaking between tests when `assert_all_requests_are_fired` and a request was not fired.
* [BETA] Default recorder format was changed to YAML.  Added `responses.RequestsMock._parse_response_file` and
`responses._recorder.Recorder.dump_to_file` methods that allow users to override default parser to eg toml, json

0.22.0

------

* Update `requests` dependency to the version of 2.22.0 or higher. See 584.
* [BETA] Added possibility to record responses to TOML files via `_recorder.record(file_path="out.toml")` decorator.
* [BETA] Added possibility to replay responses (populate registry) from TOML files
via `responses._add_from_file(file_path="out.toml")` method.
* Fix type for the `mock`'s patcher object. See 556
* Fix type annotation for `CallList`
* Add `passthrough` argument to `BaseResponse` object. See 557
* Fix `registries` leak. See 563
* `OriginalResponseShim` is removed. See 585
* Add support for the `loose` version of `json_params_matcher` via named argument `strict_match`. See 551
* Add lists support as JSON objects in `json_params_matcher`. See 559
* Added project links to pypi listing.
* `delete`, `get`, `head`, `options`, `patch`, `post`, `put` shortcuts are now implemented using `functools.partialmethod`.
* Fix `MaxRetryError` exception. Replace exception by `RetryError` according to `requests` implementation. See 572.
* Adjust error message when `Retry` is exhausted. See 580.

0.21.0

------

* Add `threading.Lock()` to allow `responses` working with `threading` module.
* Add `urllib3` `Retry` mechanism. See 135
* Removed internal `_cookies_from_headers` function
* Now `add`, `upsert`, `replace` methods return registered response.
`remove` method returns list of removed responses.
* Added null value support in `urlencoded_params_matcher` via `allow_blank` keyword argument
* Added strict version of decorator. Now you can apply `responses.activate(assert_all_requests_are_fired=True)`
to your function to validate that all requests were executed in the wrapped function. See 183

0.20.0

------

* Deprecate `responses.assert_all_requests_are_fired`, `responses.passthru_prefixes`, `responses.target`
since they are not actual properties of the class instance.
Use `responses.mock.assert_all_requests_are_fired`,
`responses.mock.passthru_prefixes`, `responses.mock.target` instead.
* Fixed the issue when `reset()` method was called in not stopped mock. See 511

0.19.0

------

* Added a registry that provides more strict ordering based on the invocation index.
See `responses.registries.OrderedRegistry`.
* Added shortcuts for each request method: delete, get, head, options, patch, post, put.
For example, to add response for POST request you can use `responses.post()` instead
of `responses.add(responses.POST)`.
* Prevent `responses.activate` decorator to leak, if wrapped function called from within another
wrapped function. Also, allow calling of above mentioned chain. See 481 for more details.
* Expose `get_registry()` method of `RequestsMock` object. Replaces internal `_get_registry()`.
* `query_param_matcher` can now accept dictionaries with `int` and `float` values.
* Add support for the `loose` version of `query_param_matcher` via named argument `strict_match`.
* Added support for `async/await` functions.
* `response_callback` is no longer executed on exceptions raised by failed `Response`s
* Change logic of `_get_url_and_path` to comply with RFC 3986. Now URL match occurs by matching
schema, authority and path, where path is terminated by the first question mark ("?") or
number sign ("") character, or by the end of the URI.
* An error is now raised when both `content_type` and `headers[content-type]` are provided as parameters.
* When a request isn't matched the passthru prefixes are now included in error messages.

0.18.0

------

* Dropped support of Python 2.7, 3.5, 3.6
* Fixed issue with type annotation for `responses.activate` decorator. See 468
* Removed internal `_is_string` and `_ensure_str` functions
* Removed internal `_quote` from `test_responses.py`
* Removed internal `_matches` attribute of `RequestsMock` object.
* Generated decorator wrapper now uses stdlib features instead of strings and exec
* Fix issue when Deprecation Warning was raised with default arguments
in `responses.add_callback` due to `match_querystring`. See 464

0.17.0

------

* This release is the last to support Python 2.7.
* Fixed issue when `response.iter_content` when `chunk_size=None` entered infinite loop
* Fixed issue when `passthru_prefixes` persisted across tests.
Now `add_passthru` is valid only within a context manager or for a single function and
cleared on exit
* Deprecate `match_querystring` argument in `Response` and `CallbackResponse`.
Use `responses.matchers.query_param_matcher` or `responses.matchers.query_string_matcher`
* Added support for non-UTF-8 bytes in `responses.matchers.multipart_matcher`
* Added `responses.registries`. Now user can create custom registries to
manipulate the order of responses in the match algorithm
`responses.activate(registry=CustomRegistry)`
* Fixed issue with response match when requests were performed between adding responses with
same URL. See Issue 212

0.16.0

------

* Fixed regression with `stream` parameter deprecation, requests.session() and cookie handling.
* Replaced adhoc URL parsing with `urllib.parse`.
* Added ``match`` parameter to ``add_callback`` method
* Added `responses.matchers.fragment_identifier_matcher`. This matcher allows you
to match request URL fragment identifier.
* Improved test coverage.
* Fixed failing test in python 2.7 when `python-future` is also installed.

0.15.0

------

* Added `responses.PassthroughResponse` and
`reponses.BaseResponse.passthrough`. These features make building passthrough
responses more compatible with dynamcially generated response objects.
* Removed the unused ``_is_redirect()`` function from responses internals.
* Added `responses.matchers.request_kwargs_matcher`. This matcher allows you
to match additional request arguments like `stream`.
* Added `responses.matchers.multipart_matcher`. This matcher allows you
to match request body and headers for ``multipart/form-data`` data
* Added `responses.matchers.query_string_matcher`. This matcher allows you
to match request query string, similar to `responses.matchers.query_param_matcher`.
* Added `responses.matchers.header_matcher()`. This matcher allows you to match
request headers. By default only headers supplied to `header_matcher()` are checked.
You can make header matching exhaustive by passing `strict_match=True` to `header_matcher()`.
* Changed all matchers output message in case of mismatch. Now message is aligned
between Python2 and Python3 versions
* Deprecate ``stream`` argument in ``Response`` and ``CallbackResponse``
* Added Python 3.10 support

0.14.0

------

* Added `responses.matchers`.
* Moved `responses.json_params_matcher` to `responses.matchers.json_params_matcher`
* Moved `responses.urlencoded_params_matcher` to
`responses.matchers.urlencoded_params_matcher`
* Added `responses.matchers.query_param_matcher`. This matcher allows you
to match query strings with a dictionary.
* Added `auto_calculate_content_length` option to `responses.add()`. When
enabled, this option will generate a `Content-Length` header
based on the number of bytes in the response body.

0.13.4

------

* Improve typing support
* Use URLs with normalized hostnames when comparing URLs.

0.13.3

------

* Switch from Travis to GHA for deployment.

0.13.2

------

* Fixed incorrect type stubs for `add_callback`

0.13.1

------

* Fixed packages not containing type stubs.

0.13.0

------

* `responses.upsert()` was added. This method will `add()` a response if one
has not already been registered for a URL, or `replace()` an existing
response.
* `responses.registered()` was added. The method allows you to get a list of
the currently registered responses. This formalizes the previously private
`responses.mock._matches` method.
* A more useful `__repr__` has been added to `Response`.
* Error messages have been improved.

0.12.1

------

* `responses.urlencoded_params_matcher` and `responses.json_params_matcher` now
accept None to match empty requests.
* Fixed imports to work with new `urllib3` versions.
* `request.params` now allows parameters to have multiple values for the same key.
* Improved ConnectionError messages.

0.12.0

------

- Remove support for Python 3.4.

0.11.0

------

- Added the `match` parameter to `add()`.
- Added `responses.urlencoded_params_matcher()` and `responses.json_params_matcher()`.

0.10.16

-------

- Add a requirements pin to urllib3. This helps prevent broken install states where
cookie usage fails.

0.10.15

-------

- Added `assert_call_count` to improve ergonomics around ensuring a mock was called.
- Fix incorrect handling of paths with query strings.
- Add Python 3.9 support to CI matrix.

0.10.14

-------

- Retag of 0.10.13

0.10.13

-------

- Improved README examples.
- Improved handling of unicode bodies. The inferred content-type for unicode
bodies is now `text/plain; charset=utf-8`.
- Streamlined querysting matching code.

0.10.12

-------

- Fixed incorrect content-type in `add_callback()` when headers are provided as a list of tuples.

0.10.11

-------

- Fixed invalid README formatted.
- Fixed string formatting in error message.

0.10.10

------

- Added Python 3.8 support
- Remove Python 3.4 from test suite matrix.
- The `response.request` object now has a `params` attribute that contains the query string parameters from the request that was captured.
- `add_passthru` now supports `re` pattern objects to match URLs.
- ConnectionErrors raised by responses now include more details on the request that was attempted and the mocks registered.

0.10.9

------

- Fixed regression with `add_callback()` and content-type header.
- Fixed implicit dependency on urllib3>1.23.0

0.10.8

------

- Fixed cookie parsing and enabled multiple cookies to be set by using a list of
tuple values.

0.10.7

------

- Added pypi badges to README.
- Fixed formatting issues in README.
- Quoted cookie values are returned correctly now.
- Improved compatibility for pytest 5
- Module level method names are no longer generated dynamically improving IDE navigation.

0.10.6

------

- Improved documentation.
- Improved installation requirements for py3
- ConnectionError's raised by responses now indicate which request
path/method failed to match a mock.
- `test_responses.py` is no longer part of the installation targets.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant