summaryrefslogtreecommitdiff
path: root/dev-python/responses
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
commit7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch)
tree4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /dev-python/responses
parentb284a3168fa91a038925d2ecf5e4791011ea5e7d (diff)
gentoo resync : 15.12.2019
Diffstat (limited to 'dev-python/responses')
-rw-r--r--dev-python/responses/Manifest8
-rw-r--r--dev-python/responses/files/responses-0.10.7-fix-cookies.patch150
-rw-r--r--dev-python/responses/files/responses-0.10.7-tests.patch12
-rw-r--r--dev-python/responses/responses-0.10.7.ebuild38
-rw-r--r--dev-python/responses/responses-0.6.0.ebuild1
-rw-r--r--dev-python/responses/responses-0.9.0.ebuild1
6 files changed, 208 insertions, 2 deletions
diff --git a/dev-python/responses/Manifest b/dev-python/responses/Manifest
index 109f22ebb9fc..3fa2a1968a59 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1,5 +1,9 @@
+AUX responses-0.10.7-fix-cookies.patch 5131 BLAKE2B 48bf65ffb6c5cc1b2e1141aea27f0286df0959e61593a2798d76aae4fbb195fe1ce9801585553572a35db50ea1120e4841d6bd51e68461bd9e06b86af2fd2389 SHA512 1ad577f6dc4b8b708a35fc96675246397858f33f4a04be49606da0f25c9ec990f4e1ddc6fb9307f70e6a5e926aa92e5d66431c420ef5b76e73c51055e3ec0b7d
+AUX responses-0.10.7-tests.patch 383 BLAKE2B 3bca7b4ad5380fd13e29be1409d070d8ea1095a9b42636f5d7e428fc640eb9e0d5b3d0aeac8f2e128a3a1d32f30e1f376895708d294bfa6126687e79ce2ff97a SHA512 8230855b920eb75136e4158c0768ad249ba44933baa9f7b2dbef1e2fefea859bc67f65fd1601a11efe3d5a928b8f195ce6939aa0b659ea89ed09bf20cf106325
+DIST responses-0.10.7.tar.gz 22666 BLAKE2B 9f6d8ee0cc36ebb94bf6ac4284b474d30754af339f623a8a899061392321ba48a1f2d21593fb5bf2e6fac7c65ca6c252b6b7a1072e5548f91db489633aa3b686 SHA512 dcdbac1555090309b17eec1c02887eea5080321ff359afc42e6b558954caec2ab757e6009ae539e6e4d002cd06f2289d909a28ae583e6fa062a5df89c301e1ff
DIST responses-0.6.0.tar.gz 14073 BLAKE2B 27d4a4a380a9154ded1030278213c0cd87308a488199c277050fa2a0a1dad87a61086094bc35279ff9c4201d06c59613bd1b0dbd18b4d83b8321341f6f1c4bb0 SHA512 32d41be5850f0040a4f2ad82a057d6ef73f0f83f7d3c250fa223d5614470b0b8b58790667af76ecc6b0b7e8e2a0a069c46c7913e983730c968c603e2716dec0b
DIST responses-0.9.0.tar.gz 19766 BLAKE2B bd98c24d6458f33f7b8ad68edb3d0fc595a7d7b31889ff8270e1add13d537d80d67c3628ea6630674e8d49837f9d3933f680b366b4a7fab10048640a50129c48 SHA512 e5312587845cc9a3a938fa5d052ac1f04950d2eea5d83192c54affe079ee6593f3e249a24a8b43b1985c9fdc9131bfb477b93ca8a75d0386ed33cd56cc37d5ff
-EBUILD responses-0.6.0.ebuild 763 BLAKE2B fc091c52d8ce7017ff6754ad8efad7906f9c9341e004dd416ee8ccf48df9c21a4fb00936746ea6ebb2ec7487e156627e2a8411d26e12ef1a2139ffbabba12de0 SHA512 8ef46a4e30052b4b93b37e2435732ddb499c597f702ba06af6a50695feb30b3b99fa56cfa82b9d75eb13733696f2d3bac9d37b6b86d6eea71e08113a9cf46da8
-EBUILD responses-0.9.0.ebuild 828 BLAKE2B 39af019ecaf21ef8080f035491c09b7862e37fda461c53ea5500173140d69ba1b277acd63f634557e073ed291713c25a3e3c06579be0ae22c005c8ecee2373c1 SHA512 62fb3debe24e745852f02246554e98c2a1a156e2cdb90c72b99e0d65b84139397e0e9a348e23a378031ad1d1926cd3aa3f70f38ce202570d252b140d6647ebc9
+EBUILD responses-0.10.7.ebuild 875 BLAKE2B 4e879a10f4d579a644d6094eed8d809016a8f009ea174dbbe88e27c8269dcdcf073a09a5b992abf126da69533aa9207a1a8ed7b986c2e6c62bf22314c016bdcb SHA512 020ec07bdfe2eda6d43428a8bf92d3e25778f26ed3d3ef4d9403747c43ca326e6c73dfcc8806441d5689cee8d62bf0269fa5a4840127fbb9456200c7d635db97
+EBUILD responses-0.6.0.ebuild 790 BLAKE2B ef8ffa2f3fc521549b1b834069113ba54ca90399580cd6ebd2770773d5b3ddf22414fe7a54b925054dcb7783dab4edcf1edaacfa7b67c40c040e7e7035d73871 SHA512 6c74e8b45523dc28f0509e52d246bede9cd413b14feb118b632baf0468cf75678495b7ef950c92aa0c35bb6a8fa2b8db308ed41307023fddac7edbf879548995
+EBUILD responses-0.9.0.ebuild 855 BLAKE2B f55bb6b92d90d402d91eef004fc38ba9a671b21897a3d8d2f90d2a0cf3ce1f6ce7631514dd703fa55734026fa807745a7f777ecb1fce308724ce2c45769069d5 SHA512 f0729df83b80f982970dd20c64bf3bafb69527ac0edf7fa141a251d51087b8b3b99568585abd1d7d08dbd9d966fc388ea73e8ab39f2cd5be0be4660f010ba514
MISC metadata.xml 438 BLAKE2B 9a2c389d84feb9087edaad524953e8a439dc914f293a1f5dc9a15f36101965ece4e28ab5f57b193dd30a2134b17e96feb218c898fd1164dd0c94234b54689a1f SHA512 efdf808423b4e47a6888b09d08b563f36a13867d355476ec10e7f247e6841bf682cb35c4432a011458d496dae79acb1ad4a38e03d3895a53e666edc3c9d4fca1
diff --git a/dev-python/responses/files/responses-0.10.7-fix-cookies.patch b/dev-python/responses/files/responses-0.10.7-fix-cookies.patch
new file mode 100644
index 000000000000..a744e652ea7f
--- /dev/null
+++ b/dev-python/responses/files/responses-0.10.7-fix-cookies.patch
@@ -0,0 +1,150 @@
+diff --git a/responses.py b/responses.py
+index 9c57301..83fef83 100644
+--- a/responses.py
++++ b/responses.py
+@@ -23,6 +23,10 @@
+ from requests.packages.urllib3.response import HTTPResponse
+ except ImportError:
+ from urllib3.response import HTTPResponse
++try:
++ from requests.packages.urllib3.connection import HTTPHeaderDict
++except ImportError:
++ from urllib3.connection import HTTPHeaderDict
+
+ if six.PY2:
+ from urlparse import urlparse, parse_qsl, urlsplit, urlunsplit
+@@ -309,11 +313,11 @@ def _url_matches(self, url, other, match_querystring=False):
+ return False
+
+ def get_headers(self):
+- headers = {}
++ headers = HTTPHeaderDict() # Duplicate headers are legal
+ if self.content_type is not None:
+ headers["Content-Type"] = self.content_type
+ if self.headers:
+- headers.update(self.headers)
++ headers.extend(self.headers)
+ return headers
+
+ def get_response(self, request):
+@@ -372,11 +376,20 @@ def get_response(self, request):
+ status = self.status
+ body = _handle_body(self.body)
+
++ # The requests library's cookie handling depends on the response object
++ # having an original response object with the headers as the `msg`, so
++ # we give it what it needs.
++ orig_response = HTTPResponse(
++ body=body, # required to avoid "ValueError: Unable to determine whether fp is closed."
++ msg=headers,
++ preload_content=False,
++ )
+ return HTTPResponse(
+ status=status,
+ reason=six.moves.http_client.responses.get(status),
+ body=body,
+ headers=headers,
++ original_response=orig_response,
+ preload_content=False,
+ )
+
+@@ -402,13 +415,22 @@ def get_response(self, request):
+ raise body
+
+ body = _handle_body(body)
+- headers.update(r_headers)
+-
++ headers.extend(r_headers)
++
++ # The requests library's cookie handling depends on the response object
++ # having an original response object with the headers as the `msg`, so
++ # we give it what it needs.
++ orig_response = HTTPResponse(
++ body=body, # required to avoid "ValueError: Unable to determine whether fp is closed."
++ msg=headers,
++ preload_content=False,
++ )
+ return HTTPResponse(
+ status=status,
+ reason=six.moves.http_client.responses.get(status),
+ body=body,
+ headers=headers,
++ original_response=orig_response,
+ preload_content=False,
+ )
+
+@@ -619,11 +641,6 @@ def _on_request(self, adapter, request, **kwargs):
+ if not match.stream:
+ response.content # NOQA
+
+- try:
+- response.cookies = _cookies_from_headers(response.headers)
+- except (KeyError, TypeError):
+- pass
+-
+ response = resp_callback(response) if resp_callback else response
+ match.call_count += 1
+ self._calls.add(request, response)
+diff --git a/test_responses.py b/test_responses.py
+index c2a4f01..65904de 100644
+--- a/test_responses.py
++++ b/test_responses.py
+@@ -657,8 +657,56 @@ def run():
+ assert resp.status_code == status
+ assert "session_id" in resp.cookies
+ assert resp.cookies["session_id"] == "12345"
+- assert resp.cookies["a"] == "b"
+- assert resp.cookies["c"] == "d"
++ assert set(resp.cookies.keys()) == set(["session_id"])
++
++ run()
++ assert_reset()
++
++
++def test_response_secure_cookies():
++ body = b"test callback"
++ status = 200
++ headers = {"set-cookie": "session_id=12345; a=b; c=d; secure"}
++ url = "http://example.com/"
++
++ def request_callback(request):
++ return (status, headers, body)
++
++ @responses.activate
++ def run():
++ responses.add_callback(responses.GET, url, request_callback)
++ resp = requests.get(url)
++ assert resp.text == "test callback"
++ assert resp.status_code == status
++ assert "session_id" in resp.cookies
++ assert resp.cookies["session_id"] == "12345"
++ assert set(resp.cookies.keys()) == set(["session_id"])
++
++ run()
++ assert_reset()
++
++
++def test_response_cookies_multiple():
++ body = b"test callback"
++ status = 200
++ headers = [
++ ("set-cookie", "1P_JAR=2019-12-31-23; path=/; domain=.example.com; HttpOnly"),
++ ("set-cookie", "NID=some=value; path=/; domain=.example.com; secure"),
++ ]
++ url = "http://example.com/"
++
++ def request_callback(request):
++ return (status, headers, body)
++
++ @responses.activate
++ def run():
++ responses.add_callback(responses.GET, url, request_callback)
++ resp = requests.get(url)
++ assert resp.text == "test callback"
++ assert resp.status_code == status
++ assert set(resp.cookies.keys()) == set(["1P_JAR", "NID"])
++ assert resp.cookies["1P_JAR"] == "2019-12-31-23"
++ assert resp.cookies["NID"] == "some=value"
+
+ run()
+ assert_reset()
diff --git a/dev-python/responses/files/responses-0.10.7-tests.patch b/dev-python/responses/files/responses-0.10.7-tests.patch
new file mode 100644
index 000000000000..764b22ab3af3
--- /dev/null
+++ b/dev-python/responses/files/responses-0.10.7-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/test_responses.py b/test_responses.py
+index c2a4f01..2b85172 100644
+--- a/test_responses.py
++++ b/test_responses.py
+@@ -928,6 +928,7 @@ def _quote(s):
+ return responses.quote(responses._ensure_str(s))
+
+
++@pytest.mark.skipif(six.PY2, reason="Broken on python2")
+ def test_cookies_from_headers():
+ text = "こんにちは/世界"
+ quoted_text = _quote(text)
diff --git a/dev-python/responses/responses-0.10.7.ebuild b/dev-python/responses/responses-0.10.7.ebuild
new file mode 100644
index 000000000000..090bff78212c
--- /dev/null
+++ b/dev-python/responses/responses-0.10.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7,8}} pypy{,3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Utility for mocking out the Python Requests library"
+HOMEPAGE="https://github.com/getsentry/responses"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/requests-2.0[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/responses-0.10.7-fix-cookies.patch"
+ "${FILESDIR}/responses-0.10.7-tests.patch"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/responses/responses-0.6.0.ebuild b/dev-python/responses/responses-0.6.0.ebuild
index 5913b5c73db8..053e092e215d 100644
--- a/dev-python/responses/responses-0.6.0.ebuild
+++ b/dev-python/responses/responses-0.6.0.ebuild
@@ -14,6 +14,7 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND=">=dev-python/requests-2.0[${PYTHON_USEDEP}]
dev-python/cookies[${PYTHON_USEDEP}]
diff --git a/dev-python/responses/responses-0.9.0.ebuild b/dev-python/responses/responses-0.9.0.ebuild
index 89f4ab099d7d..abf3afebb1c7 100644
--- a/dev-python/responses/responses-0.9.0.ebuild
+++ b/dev-python/responses/responses-0.9.0.ebuild
@@ -14,6 +14,7 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/requests-2.0[${PYTHON_USEDEP}]