Sync from SUSE:SLFO:Main python-responses revision 165cf758876b81939eba2b2b0e4b8e48

This commit is contained in:
Adrian Schröter 2024-05-03 22:50:17 +02:00
commit 9cf2db18fb
4 changed files with 506 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

401
python-responses.changes Normal file
View File

@ -0,0 +1,401 @@
-------------------------------------------------------------------
Sat Sep 30 19:38:00 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 0.23.3
* Allow urllib3>=1.25.10
- Release 0.23.2
* 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.
- Drop unbundle-urllib3.patch
-------------------------------------------------------------------
Tue May 23 12:47:08 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Drop patch 636-urllib3-2-compat.patch:
* moto needs to stay with urllib3 < 2 due to boto.
-------------------------------------------------------------------
Tue May 9 22:20:25 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Update 636-urllib3-2-compat.patch (from
gh#getsentry/responses!636).
-------------------------------------------------------------------
Mon May 8 21:00:43 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Fix missing runtime requirements
- Remove runtime requirement of typing stubs
-------------------------------------------------------------------
Fri May 5 18:05:59 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Update to 0.23.1:
- Remove `tomli` import. See #630
- 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
- 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.
- Remove py_old_re_Pattern.patch, because we dont care about
compatibility with pre-SLE15-SP4 any more.
- Add compat-urllib3-2.patch and unbundle-urllib3.patch to make
the package compatible with urllib3 >= 2.0 (still not enough
gh#getsentry/responses#635).
-------------------------------------------------------------------
Fri Apr 21 12:33:09 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:44:33 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Mon Nov 14 10:42:09 UTC 2022 - pgajdos@suse.com
- python-six is not required
-------------------------------------------------------------------
Sat Aug 6 12:18:21 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Add py_old_re_Pattern.patch to make package buildable even on
SLE-15-SP3.
-------------------------------------------------------------------
Mon Jun 20 09:12:27 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 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
-------------------------------------------------------------------
Fri Apr 8 08:25:54 UTC 2022 - pgajdos@suse.com
- version update to 0.20.0
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.
-------------------------------------------------------------------
Tue Mar 15 09:05:31 UTC 2022 - Dirk Müller <dmueller@suse.com>
- add skips for unsupported python versions
-------------------------------------------------------------------
Tue Feb 22 09:13:36 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 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
-------------------------------------------------------------------
Wed Feb 16 23:14:16 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 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
-------------------------------------------------------------------
Mon Nov 29 11:54:48 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 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.
-------------------------------------------------------------------
Sat Oct 30 20:38:16 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 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
-------------------------------------------------------------------
Tue Oct 26 20:49:46 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 0.14.0:
* Added `responses.matchers`.
* Moved `responses.json_params_matcher` to `responses.matchers.json_param_matcher`
* Moved `responses.urlencoded_params_matcher` to
`responses.matchers.urlencoded_param_matcher`
* Added `responses.query_params_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.
* Improve typing support
* Use URLs with normalized hostnames when comparing URLs.
-------------------------------------------------------------------
Tue May 18 22:14:04 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 0.13.3:
* Switch from Travis to GHA for deployment.
* Fixed incorrect type stubs for `add_callback`
* Fixed packages not containing type stubs.
* `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.
-------------------------------------------------------------------
Mon Mar 8 22:40:48 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 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.
- Remove support for Python 3.4.
- Added the `match` parameter to `add()`.
- Added `responses.urlencoded_params_matcher()` and `responses.json_params_matcher()`.
- Add a requirements pin to urllib3. This helps prevent broken install states where
cookie usage fails.
- 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.
-------------------------------------------------------------------
Mon Jun 8 10:18:01 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.10.14
* Improved handling of unicode bodies
* Streamlined querysting matching code
-------------------------------------------------------------------
Wed May 27 12:22:21 UTC 2020 - Andreas Hasenkopf <ahasenkopf@suse.com>
- Set encodings to UTF-8 to avoid UnicodeDecodeError
-------------------------------------------------------------------
Thu Mar 19 08:22:52 UTC 2020 - pgajdos@suse.com
- version update to 0.10.12
- Fixed incorrect content-type in `add_callback()` when headers are provided as a list of tuples.
- Fixed invalid README formatted.
- Fixed string formatting in error message.
- 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.
- Fixed regression with `add_callback()` and content-type header.
- Fixed implicit dependency on urllib3>1.23.0
- Fixed cookie parsing and enabled multiple cookies to be set by using a list of
tuple values.
- 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.
-------------------------------------------------------------------
Thu Oct 17 20:08:20 UTC 2019 - Dirk Mueller <dmueller@suse.com>
- switch to pytest4 actually not pytest3
-------------------------------------------------------------------
Thu Jul 18 09:24:05 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Hardcode pytest4 for testing as pytest5 fails for now
-------------------------------------------------------------------
Tue May 14 14:13:30 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.10.6
- drop tidy-py_modules.patch
- use %pytest macro
* ConnectionError's raised by responses now indicate which request
path/method failed to match a mock.
-------------------------------------------------------------------
Sun Feb 10 05:10:22 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Activate tests
- Remove test_responses.py from package:
* tidy-py_modules.patch
- Remove unnecessary build dependencies
- Remove inappropriate Suggests
- Add missing changelog entry for v0.10.5
-------------------------------------------------------------------
Tue Feb 5 13:02:18 UTC 2019 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.10.5
+ Fix callback exception mocking.
+ Improve test coverage
+ Improve build configuration.
- from version 0.10.4
+ Fixed generated wrapper when using `@responses.activate` in Python 3.6+
when decorated functions use parameter and/or return annotations.
- from version 0.10.3
+ Fixed deprecation warnings in python 3.7 for inspect module usage.
- from version 0.10.2
+ Fixed build setup to use undeprecated `pytest` bin stub.
+ Updated `tox` configuration.
+ Added example of using responses with `pytest.fixture`.
+ Removed dependency on `biscuits` in py3. Instead `http.cookies` is being used.
- from version 0.10.1
+ Packaging fix to distribute wheel (#219).
- from version 0.10.0
+ Fix passing through extra settings (#207).
+ Fix collections.abc warning on Python 3.7 (#215).
+ Use 'biscuits' library instead of 'cookies' on Python 3.4+ (#218).
-------------------------------------------------------------------
Tue Dec 4 12:53:50 UTC 2018 - Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
-------------------------------------------------------------------
Mon Jul 9 15:49:05 UTC 2018 - sean.marlow@suse.com
- Update to 0.9.0
+ Support for Python 3.7
+ Support streaming responses for BaseResponse
+ Support custom patch targets for mock
+ Fix unicode support for passthru urls
+ Fix support for unicode in domain names and tlds
-------------------------------------------------------------------
Fri Mar 9 08:03:43 UTC 2018 - mimi.vx@gmail.com
- Fix python2 requires
-------------------------------------------------------------------
Fri Jan 12 00:37:13 UTC 2018 - mimi.vx@gmail.com
- update to 0.8.1
* Added the ability to passthru real requests via ``add_passthru()``
and ``passthru_prefixes`` configurations.
* Responses will now be rotated until the final match is hit, and
then persist using that response (GH-171).
* Fixed call counting with exceptions (GH-163).
* Fixed behavior with arbitrary status codes (GH-164).
* Fixed handling of multiple responses with the same match (GH-165).
* Fixed default path behavior with ``match_querystring`` (GH-166).
* Restored ``adding_headers`` compatibility (GH-160).
* Allow empty list/dict as json object (GH-100).
* Added `response_callback` (GH-151).
* Added ``Response`` interfaces (GH-155).
* Fixed unicode characters in querystring (GH-153).
* Added support for streaming IO buffers (GH-154).
* Added support for empty (unset) Content-Type (GH-139).
* Added reason to mocked responses (GH-132).
* ``yapf`` autoformatting now enforced on codebase.
-------------------------------------------------------------------
Mon Apr 10 08:27:34 UTC 2017 - alarrosa@suse.com
- Update for singlespec
-------------------------------------------------------------------
Thu Jan 19 14:30:17 UTC 2017 - alarrosa@suse.com
- Initial release

79
python-responses.spec Normal file
View File

@ -0,0 +1,79 @@
#
# spec file for package python-responses
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-responses
Version: 0.23.3
Release: 0
Summary: A utility library for mocking out the `requests` Python library
License: Apache-2.0
URL: https://github.com/getsentry/responses
Source: https://files.pythonhosted.org/packages/source/r/responses/responses-%{version}.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module cookies}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-httpserver}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= 2.30 with %python-requests < 3}
BuildRequires: %{python_module tomli-w}
BuildRequires: %{python_module urllib3 >= 1.25.1 with %python-urllib3 < 3}
# /SECTION
Requires: python-PyYAML
Requires: (python-requests >= 2.30.0 with python-requests < 3)
Requires: (python-urllib3 >= 1.25.1 with python-urllib3 < 3)
BuildArch: noarch
%python_subpackages
%description
A utility library for mocking out the requests Python library.
Check https://github.com/getsentry/responses for more information
about the library.
%prep
%autosetup -p1 -n responses-%{version}
# Remove typing stub requirements
sed -i /types-/d setup.py
%build
export LANG="en_US.UTF8"
export PYTHONIOENCODING="utf_8"
%pyproject_wheel
%install
export LANG="en_US.UTF8"
export PYTHONIOENCODING="utf_8"
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%files %{python_files}
%doc CHANGES README.rst
%license LICENSE
%{python_sitelib}/responses
%{python_sitelib}/responses-%{version}*-info
%changelog

BIN
responses-0.23.3.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.