Skip to content

Commit

Permalink
tests: fix test_connect.py on Python 3.12
Browse files Browse the repository at this point in the history
`ssl.wrap_socket` was removed in favour of using
`SSLContext.wrap_socket`. Creating an SSL context in this scenario is
straightforward, as it only needs cert and key files.

Signed-off-by: Mikhail Koviazin <[email protected]>
  • Loading branch information
mkmkme committed Jul 11, 2024
1 parent 8debd8a commit 7783e0b
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions tests/test_connect.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,13 @@ def test_tcp_ssl_tls12_custom_ciphers(tcp_address, ssl_ciphers):
ssl_min_version=ssl.TLSVersion.TLSv1_2,
ssl_ciphers=ssl_ciphers,
)
_assert_connect(conn, tcp_address, certfile=certfile, keyfile=keyfile)
_assert_connect(
conn,
tcp_address,
certfile=certfile,
keyfile=keyfile,
ssl_version=ssl.TLSVersion.TLSv1_2,
)


@pytest.mark.ssl
Expand All @@ -118,7 +124,7 @@ def test_tcp_ssl_version_mismatch(tcp_address):
tcp_address,
certfile=certfile,
keyfile=keyfile,
ssl_version=ssl.PROTOCOL_TLSv1_2,
ssl_version=ssl.TLSVersion.TLSv1_3,
)


Expand Down Expand Up @@ -147,7 +153,7 @@ def __init__(
*args,
certfile=None,
keyfile=None,
ssl_version=ssl.PROTOCOL_TLS,
ssl_version=ssl.TLSVersion.TLSv1,
**kw,
) -> None:
self._ready_event = threading.Event()
Expand All @@ -174,12 +180,12 @@ def get_request(self):
if self._certfile is None:
return super().get_request()
newsocket, fromaddr = self.socket.accept()
connstream = ssl.wrap_socket(
sslctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
sslctx.load_cert_chain(self._certfile, self._keyfile)
sslctx.minimum_version = self._ssl_version
connstream = sslctx.wrap_socket(
newsocket,
server_side=True,
certfile=self._certfile,
keyfile=self._keyfile,
ssl_version=self._ssl_version,
)
return connstream, fromaddr

Expand Down

0 comments on commit 7783e0b

Please sign in to comment.