diff options
-rw-r--r-- | dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch | 50 | ||||
-rw-r--r-- | dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild | 49 |
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 +} |