summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch50
-rw-r--r--dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild49
2 files changed, 99 insertions, 0 deletions
diff --git a/dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch b/dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch
new file mode 100644
index 000000000000..d43b0b41e65a
--- /dev/null
+++ b/dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch
@@ -0,0 +1,50 @@
+From 7238c1148c756e6a27c3dbc1ccbff7a3e9a60d82 Mon Sep 17 00:00:00 2001
+From: Jamie Lennox <jamielennox@gmail.com>
+Date: Fri, 28 May 2021 09:33:25 +0700
+Subject: [PATCH] Fix failing pytest
+
+When you start a method with test_ pytest loads it and tries to parse
+the parameters as fixtures. In this case it's not a real test, just a
+matcher function used later on in the test file.
+
+We can inline it into the function as it's only used in one place.
+
+Fixes: #175
+---
+ tests/test_custom_matchers.py | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/tests/test_custom_matchers.py b/tests/test_custom_matchers.py
+index d49f72a..546a63e 100644
+--- a/tests/test_custom_matchers.py
++++ b/tests/test_custom_matchers.py
+@@ -31,13 +31,6 @@ def match_all(request):
+ return requests_mock.create_response(request, content=six.b('data'))
+
+
+-def test_a(request):
+- if 'a' in request.url:
+- return match_all(request)
+-
+- return None
+-
+-
+ class CustomMatchersTests(base.TestCase):
+
+ def assertMatchAll(self, resp):
+@@ -65,7 +58,14 @@ def test_failing_matcher(self, mocker):
+
+ @requests_mock.Mocker()
+ def test_some_pass(self, mocker):
+- mocker.add_matcher(test_a)
++
++ def matcher_a(request):
++ if 'a' in request.url:
++ return match_all(request)
++
++ return None
++
++ mocker.add_matcher(matcher_a)
+
+ resp = requests.get('http://any/thing')
+ self.assertMatchAll(resp)
diff --git a/dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild b/dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild
new file mode 100644
index 000000000000..f6ab5d2b33d0
--- /dev/null
+++ b/dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{8..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Mock out responses from the requests package"
+HOMEPAGE="https://github.com/jamielennox/requests-mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/requests-2.3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-obj-has-no-attr-url.patch"
+)
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Disable reno which only works inside a git repository
+ sed -i "s/'reno.sphinxext',//" doc/source/conf.py || die
+ # Remove the release notes section which requires reno
+ rm doc/source/release-notes.rst || die
+ sed -i '/^=============$/,/release-notes/d' doc/source/index.rst || die
+ # Disable a test which requires purl (not in the tree)
+ sed -i -e "/^import purl$/d" -e "s/test_with_purl/_&/" \
+ tests/test_adapter.py || die
+ distutils-r1_python_prepare_all
+}