summaryrefslogtreecommitdiff
path: root/dev-python/openapi-core
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-15 23:36:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-15 23:36:27 +0000
commit31c69c39a3648b52dd931a40b198714249e8a5ec (patch)
treec7bfb4db01cf185b6b8f7bde72d9cc5d14d8db22 /dev-python/openapi-core
parentdce60e5aa0a12ccc07c10a0a2c3f8f063393b32a (diff)
gentoo auto-resync : 15:02:2024 - 23:36:26
Diffstat (limited to 'dev-python/openapi-core')
-rw-r--r--dev-python/openapi-core/Manifest3
-rw-r--r--dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch92
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.0.ebuild76
3 files changed, 171 insertions, 0 deletions
diff --git a/dev-python/openapi-core/Manifest b/dev-python/openapi-core/Manifest
index c2b0ca78c3e9..4913610e950a 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1,3 +1,6 @@
+AUX openapi-core-0.19.0-pytest-8.patch 3669 BLAKE2B ee901d00716092d28bd4ceb501a8bb30330a72c49c5a6eb24def681a16eb1d689a785c176fe6bbff690a2927b8d4d55b086c3de180d719bfb78deda9a3dd7aea SHA512 2a266608dc446205f20d46ffc69339d1ceb3bb399cad3983518491e1cc7c77321f8c83692efa7f51abb69b15a583880cb2ab0dca828b2844ac500d3479edd2f6
DIST openapi_core-0.18.2.tar.gz 84444 BLAKE2B bb05ba86eff3c70c780f1919a29b93f2137983318834c51204d7ad1094fc645d2dbcef93d92d03096826688fdfe1811c551eee68995fd46739314c2e4bc77cfc SHA512 552109c095c840a46759a54e247a3ac2d8cc36707ba89815740eef4b7fb421bd489929543892341fd89a578bff4043c8c81302fddaa1efe125238e050f152c27
+DIST openapi_core-0.19.0.tar.gz 105815 BLAKE2B 25036e98dbf4d572e77eb5dcc00909df1cd2d7b7c37bb691c403df2a48273cc2dd4150c99c526eacc709785f4ec9c525de53e7f613f10b15177fc1ff90ce76fe SHA512 3a94170f8ab6a47188c693545be9d2cd965d2479c838a8644d6218f9f46b54fdb94e0550ea5626e5ba58920419b7c700d26b2e6dd6a55afeb73778f582a645e0
EBUILD openapi-core-0.18.2.ebuild 2036 BLAKE2B 627470243f19362c2ea72a8c8b7c9ba8a74a7bc57f0e850342717ed4ca922b36f445ee6c7e8ae5d5304059cb48a0eaf294b8f3b0e196771e35304b3d52446ea3 SHA512 ca93952e8867a4531df97a14da727ff4d1285361f418a32c0710c23718a39778343dd5f14ab0a4746cac06c12afa5df0dfd03de7ba503980c7b2a94adfc7b90c
+EBUILD openapi-core-0.19.0.ebuild 2226 BLAKE2B d28c3324faab06de7bd9e132e29777e502bfe50f8c1a13cb07d6790e9814f62b9ba09a71551b767ab8bf8831d080e394dec1d6c455b7341e36d94f2c69c10af0 SHA512 f0f01765aa1dc77c6d8d3506bfa67a1770f4ed968a301d3cc0eb0f85e28fdba12cf58477b57e72e8dfc250e7262c9ea75b2f4e7b289b06b23265603348de1fe3
MISC metadata.xml 385 BLAKE2B a19f5b70529b6f0575e1196f3ffe0a7f38595fe7b01b43119f0f89c41a9ab5d6992f424a10f345a7407d279736a6091918b9ba1ead0daa92c9d244e4b27e4a18 SHA512 a8a39c8958ad11de5eb6896a74b3bfcb27e95c74a984a362032e4703d86f2831b6559a96a8eef80a7ef89f4687da325b3748f36b1df649cd29c2acb1ea0c9969
diff --git a/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch b/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch
new file mode 100644
index 000000000000..78fb19897560
--- /dev/null
+++ b/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch
@@ -0,0 +1,92 @@
+From 36da765cfc27cd6bda5c2773e3b3664a6473cd3b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 15 Feb 2024 15:53:50 +0100
+Subject: [PATCH] Remove spurious `pytest.warns()` to fix pytest-8
+ compatibility
+
+Remove the spurious `pytest.warns()` contexts within `pytest.raises()`
+in `test_shortcuts`, in order to fix compatibility with pytest-8.0.0.
+Prior to this version, the exception raised caused these assertions
+to be ignored entirely. This is fixed in pytest-8.0.0, and the tests
+start failing because the warning is never raised prior
+to the exception.
+
+Fixes #789
+---
+ tests/unit/test_shortcuts.py | 21 +++++++--------------
+ 1 file changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/tests/unit/test_shortcuts.py b/tests/unit/test_shortcuts.py
+index 0dd1865..9a3f36c 100644
+--- a/tests/unit/test_shortcuts.py
++++ b/tests/unit/test_shortcuts.py
+@@ -423,8 +423,7 @@ class TestUnmarshalResponse:
+ mock_unmarshal.return_value = ResultMock(error_to_raise=ValueError)
+
+ with pytest.raises(ValueError):
+- with pytest.warns(DeprecationWarning):
+- unmarshal_response(request, response, spec=spec_v31)
++ unmarshal_response(request, response, spec=spec_v31)
+
+ mock_unmarshal.assert_called_once_with(request, response)
+
+@@ -597,15 +596,13 @@ class TestValidateRequest:
+ request = mock.Mock(spec=Request)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_invalid)
++ validate_request(request, spec=spec_invalid)
+
+ def test_spec_not_detected(self, spec_v20):
+ request = mock.Mock(spec=Request)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_v20)
++ validate_request(request, spec=spec_v20)
+
+ def test_request_type_invalid(self, spec_v31):
+ request = mock.sentinel.request
+@@ -733,8 +730,7 @@ class TestValidateRequest:
+ request = mock.Mock(spec=WebhookRequest)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_v30)
++ validate_request(request, spec=spec_v30)
+
+ @mock.patch(
+ "openapi_core.validation.request.validators.V31WebhookRequestValidator."
+@@ -889,16 +885,14 @@ class TestValidateResponse:
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_invalid)
++ validate_response(request, response, spec=spec_invalid)
+
+ def test_spec_not_supported(self, spec_v20):
+ request = mock.Mock(spec=Request)
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_v20)
++ validate_response(request, response, spec=spec_v20)
+
+ def test_request_type_invalid(self, spec_v31):
+ request = mock.sentinel.request
+@@ -965,8 +959,7 @@ class TestValidateResponse:
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_v30)
++ validate_response(request, response, spec=spec_v30)
+
+ @mock.patch(
+ "openapi_core.validation.response.validators.V31WebhookResponseValidator."
+--
+2.43.1
+
diff --git a/dev-python/openapi-core/openapi-core-0.19.0.ebuild b/dev-python/openapi-core/openapi-core-0.19.0.ebuild
new file mode 100644
index 000000000000..efa7161fd2d2
--- /dev/null
+++ b/dev-python/openapi-core/openapi-core-0.19.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Client-side and server-side support for the OpenAPI Specification v3"
+HOMEPAGE="
+ https://github.com/python-openapi/openapi-core/
+ https://pypi.org/project/openapi-core/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ dev-python/isodate[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-path-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.3.1[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/parse[${PYTHON_USEDEP}]
+ <dev-python/openapi-schema-validator-0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
+ <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.7.1[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.8.4[${PYTHON_USEDEP}]
+ >=dev-python/aioitertools-0.11.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-aiohttp-1.0.4[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.26.1[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # missing dependendencies
+ tests/integration/contrib/falcon
+ tests/integration/contrib/fastapi
+
+ # TODO: these tests fail to collect
+ tests/integration/validation/test_security_override.py
+ tests/integration/validation/test_read_only_write_only.py
+
+ # unhappy about modern django
+ tests/integration/contrib/django/test_django_project.py
+ tests/unit/contrib/django/test_django.py
+)
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/python-openapi/openapi-core/pull/790
+ "${FILESDIR}/${P}-pytest-8.patch"
+ )
+
+ sed -i -e '/--cov/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}