public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/openapi-core/files/, dev-python/openapi-core/
@ 2024-02-15 15:04 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2024-02-15 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     0a46774d2466d398fda32868b98a58854850a288
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 15 15:00:46 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 15 15:04:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a46774d

dev-python/openapi-core: Bump to 0.19.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/openapi-core/Manifest                   |  1 +
 .../files/openapi-core-0.19.0-pytest-8.patch       | 92 ++++++++++++++++++++++
 dev-python/openapi-core/openapi-core-0.19.0.ebuild | 76 ++++++++++++++++++
 3 files changed, 169 insertions(+)

diff --git a/dev-python/openapi-core/Manifest b/dev-python/openapi-core/Manifest
index 650cc1660608..4430496d97ee 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1 +1,2 @@
 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

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..b28b323b6c47
--- /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"
+
+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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-02-15 15:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-15 15:04 [gentoo-commits] repo/gentoo:master commit in: dev-python/openapi-core/files/, dev-python/openapi-core/ Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox