$ EPYTHON=python3.13 bash runtests.sh --deselect tests/integration/test_urllib2.py::test_multiple_requests --deselect tests/integration/test_urllib2.py::test_random_body tests/integration/test_urllib2.py
/usr/lib/python3.13/site-packages/httpbin/helpers.py:32: SyntaxWarning: invalid escape sequence '\_'
ASCII_ART = """
/usr/lib/python3.13/site-packages/httpbin/helpers.py:77: SyntaxWarning: invalid escape sequence '\ '
ANGRY_ASCII ="""
/usr/lib/python3.13/site-packages/httpbin/helpers.py:444: SyntaxWarning: invalid escape sequence '\s'
match = re.search('\s*(W/)?\"?([^"]*)\"?\s*', part)
[2024-06-28 20:55:41,591] WARNING in core: Swagger not found, legacy index will be used.
========================================================= test session starts =========================================================
platform linux -- Python 3.13.0b3, pytest-8.2.2, pluggy-1.5.0
rootdir: /tmp/vcrpy
configfile: pyproject.toml
plugins: xdist-3.6.1, subtests-0.12.1, asyncio-0.23.7, xprocess-1.0.2, anyio-4.4.0, pkgcore-0.12.27, hypothesis-6.103.5, timeout-2.3.1, httpbin-2.0.0
asyncio: mode=Mode.STRICT
collected 18 items / 4 deselected / 14 selected
tests/integration/test_urllib2.py ......pytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
F.pytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024)
attempting to ignore so the rest of the tests can run
F [100%]
============================================================== FAILURES ===============================================================
______________________________________________________ test_response_code[https] ______________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_response_code_https_0')
def test_response_code(httpbin_both, tmpdir):
"""Ensure we can read a response code from a fetch"""
url = httpbin_both.url
with vcr.use_cassette(str(tmpdir.join("atts.yaml"))):
> code = urlopen_with_cafile(url).getcode()
tests/integration/test_urllib2.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
____________________________________________________ test_response_headers[https] _____________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_response_headers_https_0')
def test_response_headers(httpbin_both, tmpdir):
"""Ensure we can get information from the response"""
url = httpbin_both.url
with vcr.use_cassette(str(tmpdir.join("headers.yaml"))):
> open1 = urlopen_with_cafile(url).info().items()
tests/integration/test_urllib2.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
________________________________________________________ test_get_data[https] _________________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_get_data_https_0')
def test_get_data(httpbin_both, tmpdir):
"""Ensure that it works with query data"""
data = urlencode({"some": 1, "data": "here"})
url = httpbin_both.url + "/get?" + data
with vcr.use_cassette(str(tmpdir.join("get_data.yaml"))):
> res1 = urlopen_with_cafile(url).read()
tests/integration/test_urllib2.py:86:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
________________________________________________________ test_post_data[https] ________________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_post_data_https_0')
def test_post_data(httpbin_both, tmpdir):
"""Ensure that it works when posting data"""
data = urlencode({"some": 1, "data": "here"}).encode("utf-8")
url = httpbin_both.url + "/post"
with vcr.use_cassette(str(tmpdir.join("post_data.yaml"))):
> res1 = urlopen_with_cafile(url, data).read()
tests/integration/test_urllib2.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
____________________________________________________ test_post_unicode_data[https] ____________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_post_unicode_data_https_0')
def test_post_unicode_data(httpbin_both, tmpdir):
"""Ensure that it works when posting unicode data"""
data = urlencode({"snowman": "☃".encode()}).encode("utf-8")
url = httpbin_both.url + "/post"
with vcr.use_cassette(str(tmpdir.join("post_data.yaml"))):
> res1 = urlopen_with_cafile(url, data).read()
tests/integration/test_urllib2.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
________________________________________________________ test_decorator[https] ________________________________________________________
httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_decorator_https_0')
def test_decorator(httpbin_both, tmpdir):
"""Test the decorator version of VCR.py"""
url = httpbin_both.url
@vcr.use_cassette(str(tmpdir.join("atts.yaml")))
def inner1():
return urlopen_with_cafile(url).getcode()
@vcr.use_cassette(str(tmpdir.join("atts.yaml")))
def inner2():
return urlopen_with_cafile(url).getcode()
> assert inner1() == inner2()
tests/integration/test_urllib2.py:147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
vcr/cassette.py:107: in __call__
return type(self)(self.cls, args_getter)._execute_function(function, args, kwargs)
vcr/cassette.py:121: in _execute_function
return self._handle_function(fn=handle_function)
vcr/cassette.py:132: in _handle_function
return fn(cassette)
vcr/cassette.py:114: in handle_function
return function(*args, **kwargs)
tests/integration/test_urllib2.py:141: in inner1
return urlopen_with_cafile(url).getcode()
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
__________________________________________________________ test_cross_scheme __________________________________________________________
tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_cross_scheme0')
httpbin_secure = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0>
httpbin = <pytest_httpbin.serve.Server object at 0x7f073b7ef230>
def test_cross_scheme(tmpdir, httpbin_secure, httpbin):
"""Ensure that requests between schemes are treated separately"""
# First fetch a url under https, and then again under https and then
# ensure that we haven't served anything out of cache, and we have two
# requests / response pairs in the cassette
with vcr.use_cassette(str(tmpdir.join("cross_scheme.yaml"))) as cass:
> urlopen_with_cafile(httpbin_secure.url)
tests/integration/test_urllib2.py:129:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_urllib2.py:21: in urlopen_with_cafile
return urlopen(*args, **kwargs)
/usr/lib/python3.13/urllib/request.py:189: in urlopen
return opener.open(url, data, timeout)
/usr/lib/python3.13/urllib/request.py:489: in open
response = self._open(req, data)
/usr/lib/python3.13/urllib/request.py:506: in _open
result = self._call_chain(self.handle_open, protocol, protocol +
/usr/lib/python3.13/urllib/request.py:466: in _call_chain
result = func(*args)
/usr/lib/python3.13/urllib/request.py:1367: in https_open
return self.do_open(http.client.HTTPSConnection, req,
/usr/lib/python3.13/urllib/request.py:1323: in do_open
r = h.getresponse()
vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.13/http/client.py:1336: in request
self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.13/http/client.py:1382: in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3.13/http/client.py:1477: in connect
self.sock = self._context.wrap_socket(self.sock,
/usr/lib/python3.13/ssl.py:455: in wrap_socket
return self.sslsocket_class._create(
/usr/lib/python3.13/ssl.py:1077: in _create
self.do_handshake()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False
@_sslcopydoc
def do_handshake(self, block=False):
self._check_connected()
timeout = self.gettimeout()
try:
if timeout == 0.0 and block:
self.settimeout(None)
> self._sslobj.do_handshake()
E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024)
/usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError
======================================================= short test summary info =======================================================
FAILED tests/integration/test_urllib2.py::test_response_code[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_response_headers[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_get_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_post_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_post_unicode_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_decorator[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
FAILED tests/integration/test_urllib2.py::test_cross_scheme - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c...
============================================== 7 failed, 7 passed, 4 deselected in 3.50s ==============================================
I wonder if it's a problem with pytest-httpbin perhaps.
Compared to Python 3.12, I'm seeing a few new failing tests:
$ EPYTHON=python3.13 bash runtests.sh --deselect tests/integration/test_urllib2.py::test_multiple_requests --deselect tests/integration/test_urllib2.py::test_random_body tests/integration/test_urllib2.py /usr/lib/python3.13/site-packages/httpbin/helpers.py:32: SyntaxWarning: invalid escape sequence '\_' ASCII_ART = """ /usr/lib/python3.13/site-packages/httpbin/helpers.py:77: SyntaxWarning: invalid escape sequence '\ ' ANGRY_ASCII =""" /usr/lib/python3.13/site-packages/httpbin/helpers.py:444: SyntaxWarning: invalid escape sequence '\s' match = re.search('\s*(W/)?\"?([^"]*)\"?\s*', part) [2024-06-28 20:55:41,591] WARNING in core: Swagger not found, legacy index will be used. ========================================================= test session starts ========================================================= platform linux -- Python 3.13.0b3, pytest-8.2.2, pluggy-1.5.0 rootdir: /tmp/vcrpy configfile: pyproject.toml plugins: xdist-3.6.1, subtests-0.12.1, asyncio-0.23.7, xprocess-1.0.2, anyio-4.4.0, pkgcore-0.12.27, hypothesis-6.103.5, timeout-2.3.1, httpbin-2.0.0 asyncio: mode=Mode.STRICT collected 18 items / 4 deselected / 14 selected tests/integration/test_urllib2.py ......pytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run Fpytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run F.pytest-httpbin server hit an exception serving request: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls alert certificate unknown (_ssl.c:1024) attempting to ignore so the rest of the tests can run F [100%] ============================================================== FAILURES =============================================================== ______________________________________________________ test_response_code[https] ______________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_response_code_https_0') def test_response_code(httpbin_both, tmpdir): """Ensure we can read a response code from a fetch""" url = httpbin_both.url with vcr.use_cassette(str(tmpdir.join("atts.yaml"))): > code = urlopen_with_cafile(url).getcode() tests/integration/test_urllib2.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ____________________________________________________ test_response_headers[https] _____________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_response_headers_https_0') def test_response_headers(httpbin_both, tmpdir): """Ensure we can get information from the response""" url = httpbin_both.url with vcr.use_cassette(str(tmpdir.join("headers.yaml"))): > open1 = urlopen_with_cafile(url).info().items() tests/integration/test_urllib2.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ________________________________________________________ test_get_data[https] _________________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_get_data_https_0') def test_get_data(httpbin_both, tmpdir): """Ensure that it works with query data""" data = urlencode({"some": 1, "data": "here"}) url = httpbin_both.url + "/get?" + data with vcr.use_cassette(str(tmpdir.join("get_data.yaml"))): > res1 = urlopen_with_cafile(url).read() tests/integration/test_urllib2.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ________________________________________________________ test_post_data[https] ________________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_post_data_https_0') def test_post_data(httpbin_both, tmpdir): """Ensure that it works when posting data""" data = urlencode({"some": 1, "data": "here"}).encode("utf-8") url = httpbin_both.url + "/post" with vcr.use_cassette(str(tmpdir.join("post_data.yaml"))): > res1 = urlopen_with_cafile(url, data).read() tests/integration/test_urllib2.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ____________________________________________________ test_post_unicode_data[https] ____________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_post_unicode_data_https_0') def test_post_unicode_data(httpbin_both, tmpdir): """Ensure that it works when posting unicode data""" data = urlencode({"snowman": "☃".encode()}).encode("utf-8") url = httpbin_both.url + "/post" with vcr.use_cassette(str(tmpdir.join("post_data.yaml"))): > res1 = urlopen_with_cafile(url, data).read() tests/integration/test_urllib2.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ________________________________________________________ test_decorator[https] ________________________________________________________ httpbin_both = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_decorator_https_0') def test_decorator(httpbin_both, tmpdir): """Test the decorator version of VCR.py""" url = httpbin_both.url @vcr.use_cassette(str(tmpdir.join("atts.yaml"))) def inner1(): return urlopen_with_cafile(url).getcode() @vcr.use_cassette(str(tmpdir.join("atts.yaml"))) def inner2(): return urlopen_with_cafile(url).getcode() > assert inner1() == inner2() tests/integration/test_urllib2.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ vcr/cassette.py:107: in __call__ return type(self)(self.cls, args_getter)._execute_function(function, args, kwargs) vcr/cassette.py:121: in _execute_function return self._handle_function(fn=handle_function) vcr/cassette.py:132: in _handle_function return fn(cassette) vcr/cassette.py:114: in handle_function return function(*args, **kwargs) tests/integration/test_urllib2.py:141: in inner1 return urlopen_with_cafile(url).getcode() tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError __________________________________________________________ test_cross_scheme __________________________________________________________ tmpdir = local('/tmp/pytest-of-mgorny/pytest-5/test_cross_scheme0') httpbin_secure = <pytest_httpbin.serve.SecureServer object at 0x7f073b7ef0e0> httpbin = <pytest_httpbin.serve.Server object at 0x7f073b7ef230> def test_cross_scheme(tmpdir, httpbin_secure, httpbin): """Ensure that requests between schemes are treated separately""" # First fetch a url under https, and then again under https and then # ensure that we haven't served anything out of cache, and we have two # requests / response pairs in the cassette with vcr.use_cassette(str(tmpdir.join("cross_scheme.yaml"))) as cass: > urlopen_with_cafile(httpbin_secure.url) tests/integration/test_urllib2.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_urllib2.py:21: in urlopen_with_cafile return urlopen(*args, **kwargs) /usr/lib/python3.13/urllib/request.py:189: in urlopen return opener.open(url, data, timeout) /usr/lib/python3.13/urllib/request.py:489: in open response = self._open(req, data) /usr/lib/python3.13/urllib/request.py:506: in _open result = self._call_chain(self.handle_open, protocol, protocol + /usr/lib/python3.13/urllib/request.py:466: in _call_chain result = func(*args) /usr/lib/python3.13/urllib/request.py:1367: in https_open return self.do_open(http.client.HTTPSConnection, req, /usr/lib/python3.13/urllib/request.py:1323: in do_open r = h.getresponse() vcr/stubs/__init__.py:277: in getresponse self.real_connection.request( /usr/lib/python3.13/http/client.py:1336: in request self._send_request(method, url, body, headers, encode_chunked) /usr/lib/python3.13/http/client.py:1382: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1331: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /usr/lib/python3.13/http/client.py:1091: in _send_output self.send(msg) /usr/lib/python3.13/http/client.py:1035: in send self.connect() /usr/lib/python3.13/http/client.py:1477: in connect self.sock = self._context.wrap_socket(self.sock, /usr/lib/python3.13/ssl.py:455: in wrap_socket return self.sslsocket_class._create( /usr/lib/python3.13/ssl.py:1077: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=2, type=1, proto=6>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1024) /usr/lib/python3.13/ssl.py:1363: SSLCertVerificationError ======================================================= short test summary info ======================================================= FAILED tests/integration/test_urllib2.py::test_response_code[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_response_headers[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_get_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_post_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_post_unicode_data[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_decorator[https] - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... FAILED tests/integration/test_urllib2.py::test_cross_scheme - ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c... ============================================== 7 failed, 7 passed, 4 deselected in 3.50s ==============================================I wonder if it's a problem with pytest-httpbin perhaps.