summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-08-03 15:56:38 +0200
committerMichał Górny <mgorny@gentoo.org>2024-08-03 16:33:22 +0200
commitdbd4d49cdc4d2c240671a008d7841a196a219d7a (patch)
tree4879e490b37cae72dd1ee5ca2e2f6f94b429b5e1 /dev-python/pytest-httpbin
parentsys-devel/llvm: Backport gcc-15 fixes to 18.x (diff)
downloadgentoo-dbd4d49cdc4d2c240671a008d7841a196a219d7a.tar.gz
gentoo-dbd4d49cdc4d2c240671a008d7841a196a219d7a.tar.bz2
gentoo-dbd4d49cdc4d2c240671a008d7841a196a219d7a.zip
dev-python/pytest-httpbin: Backport upstream cert update
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pytest-httpbin')
-rw-r--r--dev-python/pytest-httpbin/files/pytest-httpbin-2.0.0-certs.patch83
-rw-r--r--dev-python/pytest-httpbin/pytest-httpbin-2.0.0-r1.ebuild54
2 files changed, 137 insertions, 0 deletions
diff --git a/dev-python/pytest-httpbin/files/pytest-httpbin-2.0.0-certs.patch b/dev-python/pytest-httpbin/files/pytest-httpbin-2.0.0-certs.patch
new file mode 100644
index 000000000000..fbf8814ea63e
--- /dev/null
+++ b/dev-python/pytest-httpbin/files/pytest-httpbin-2.0.0-certs.patch
@@ -0,0 +1,83 @@
+From 7bf62b4e8848ce0990cb8d09b8b630dc4140f41b Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 30 Jul 2024 11:52:27 +0100
+Subject: [PATCH] generate certs with trustme 586f775
+
+diff --git a/pytest_httpbin/certs.py b/pytest_httpbin/certs.py
+index 75444d5..230f41b 100644
+--- a/pytest_httpbin/certs.py
++++ b/pytest_httpbin/certs.py
+@@ -15,7 +15,7 @@
+ def where():
+ """Return the preferred certificate bundle."""
+ # vendored bundle inside Requests
+- return os.path.join(os.path.dirname(__file__), "certs", "cacert.pem")
++ return os.path.join(os.path.dirname(__file__), "certs", "client.pem")
+
+
+ if __name__ == "__main__":
+diff --git a/pytest_httpbin/certs/client.pem b/pytest_httpbin/certs/client.pem
+new file mode 100644
+index 0000000..7946137
+--- /dev/null
++++ b/pytest_httpbin/certs/client.pem
+@@ -0,0 +1,12 @@
++-----BEGIN CERTIFICATE-----
++MIIB0TCCAXegAwIBAgIUScnyyX1CI+ywC6GdKol8IIwuGnkwCgYIKoZIzj0EAwIw
++RDEbMBkGA1UECgwSdHJ1c3RtZSB2MS4xLjArZGV2MSUwIwYDVQQLDBxUZXN0aW5n
++IENBICNBdXNVcWJaNG81d3pjb0tCMCAXDTAwMDEwMTAwMDAwMFoYDzMwMDAwMTAx
++MDAwMDAwWjBEMRswGQYDVQQKDBJ0cnVzdG1lIHYxLjEuMCtkZXYxJTAjBgNVBAsM
++HFRlc3RpbmcgQ0EgI0F1c1VxYlo0bzV3emNvS0IwWTATBgcqhkjOPQIBBggqhkjO
++PQMBBwNCAARhrRi78wmZY28t3/y8MTDDCsi7Lzir4WaQm96gf4/9kSolBTFVDUvB
++MkSC7Yged+2bWEzTRERZQLf88uiorUnAo0UwQzAdBgNVHQ4EFgQUHymIBJV4gCrA
++qv+6Q9pSJFtd7PYwEgYDVR0TAQH/BAgwBgEB/wIBCTAOBgNVHQ8BAf8EBAMCAYYw
++CgYIKoZIzj0EAwIDSAAwRQIgLf0sybmdbJoTIgZWrU1k11oecQbdkzh+3jFtNEFn
++zYUCIQCRXjIBDZXtyaywk3DgIggByCQxrrB5vjlnyYTd9vNUSw==
++-----END CERTIFICATE-----
+diff --git a/pytest_httpbin/certs/server.key b/pytest_httpbin/certs/server.key
+new file mode 100644
+index 0000000..fd9fd82
+--- /dev/null
++++ b/pytest_httpbin/certs/server.key
+@@ -0,0 +1,5 @@
++-----BEGIN EC PRIVATE KEY-----
++MHcCAQEEIPNMu1H1DN9x0VLZNzO3BFp5boEGyc80XFaR1ML18uFRoAoGCCqGSM49
++AwEHoUQDQgAEiNIfYxmsmjemcRRpcd4qP+x1yONFBZZli7CEKxg9j3x5j1OJPeyC
++BQ83kogrxJYLbRjdHUx4VOCEXjffmYhnMA==
++-----END EC PRIVATE KEY-----
+diff --git a/pytest_httpbin/certs/server.pem b/pytest_httpbin/certs/server.pem
+new file mode 100644
+index 0000000..7c70f64
+--- /dev/null
++++ b/pytest_httpbin/certs/server.pem
+@@ -0,0 +1,15 @@
++-----BEGIN CERTIFICATE-----
++MIICTDCCAfOgAwIBAgIUZ9rBQX/YRZFcqXCIzOSAd1D0IUcwCgYIKoZIzj0EAwIw
++RDEbMBkGA1UECgwSdHJ1c3RtZSB2MS4xLjArZGV2MSUwIwYDVQQLDBxUZXN0aW5n
++IENBICNBdXNVcWJaNG81d3pjb0tCMCAXDTAwMDEwMTAwMDAwMFoYDzMwMDAwMTAx
++MDAwMDAwWjBGMRswGQYDVQQKDBJ0cnVzdG1lIHYxLjEuMCtkZXYxJzAlBgNVBAsM
++HlRlc3RpbmcgY2VydCAjLVdQNWpjLTllQ0U0S0JxMjBZMBMGByqGSM49AgEGCCqG
++SM49AwEHA0IABIjSH2MZrJo3pnEUaXHeKj/sdcjjRQWWZYuwhCsYPY98eY9TiT3s
++ggUPN5KIK8SWC20Y3R1MeFTghF4335mIZzCjgb4wgbswHQYDVR0OBBYEFCO99Ega
++h7pEyFEJVwe09DZzNHDtMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUHymIBJV4
++gCrAqv+6Q9pSJFtd7PYwLwYDVR0RAQH/BCUwI4IJbG9jYWxob3N0hwR/AAABhxAA
++AAAAAAAAAAAAAAAAAAABMA4GA1UdDwEB/wQEAwIFoDAqBgNVHSUBAf8EIDAeBggr
++BgEFBQcDAgYIKwYBBQUHAwEGCCsGAQUFBwMDMAoGCCqGSM49BAMCA0cAMEQCIHB0
++imdD2aQuq4DipTvnFJjmT+w8i3D/Pz8X6bPdkJW/AiATl+m4TW4BE5v1ID3ftDhz
++ja8s574nAjDAqcSL7otVpQ==
++-----END CERTIFICATE-----
+diff --git a/pytest_httpbin/serve.py b/pytest_httpbin/serve.py
+index c15c227..8310140 100644
+--- a/pytest_httpbin/serve.py
++++ b/pytest_httpbin/serve.py
+@@ -60,8 +60,8 @@ def finish_request(self, request, client_address):
+ try:
+ context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
+ context.load_cert_chain(
+- os.path.join(CERT_DIR, "cert.pem"),
+- os.path.join(CERT_DIR, "key.pem"),
++ os.path.join(CERT_DIR, "server.pem"),
++ os.path.join(CERT_DIR, "server.key"),
+ )
+ with context.wrap_socket(
+ request, server_side=True, suppress_ragged_eofs=False
diff --git a/dev-python/pytest-httpbin/pytest-httpbin-2.0.0-r1.ebuild b/dev-python/pytest-httpbin/pytest-httpbin-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..edb7415b41b3
--- /dev/null
+++ b/dev-python/pytest-httpbin/pytest-httpbin-2.0.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily test your HTTP library against a local copy of httpbin"
+HOMEPAGE="
+ https://github.com/kevin1024/pytest-httpbin/
+ https://pypi.org/project/pytest-httpbin/
+"
+SRC_URI="
+ https://github.com/kevin1024/pytest-httpbin/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ dev-python/httpbin[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ tests/test_server.py::test_redirect_location_is_https_for_secure_server
+ # minor exception message mismatch on pypy3
+ # https://github.com/kevin1024/pytest-httpbin/issues/77
+ tests/test_server.py::test_dont_crash_on_handshake_timeout
+)
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/kevin1024/vcrpy/issues/848
+ # https://github.com/kevin1024/pytest-httpbin/pull/90
+ "${FILESDIR}/${P}-certs.patch"
+)
+
+src_prepare() {
+ # remove old certs
+ rm -r pytest_httpbin/certs || die
+
+ distutils-r1_src_prepare
+}