Skip to content

Commit 8e789a6

Browse files
committed
Add tests
1 parent 00202df commit 8e789a6

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

tests/conftest.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,19 @@ def adafruit_wiznet5k_socket_module():
4949
del sys.modules["adafruit_wiznet5k.adafruit_wiznet5k_socket"]
5050

5151

52+
@pytest.fixture
53+
def adafruit_wiznet5k_with_ssl_socket_module():
54+
wiznet5k_module = type(sys)("adafruit_wiznet5k")
55+
wiznet5k_socket_module = type(sys)("adafruit_wiznet5k_socket")
56+
wiznet5k_socket_module.set_interface = set_interface
57+
wiznet5k_socket_module.SOCK_STREAM = 1
58+
sys.modules["adafruit_wiznet5k"] = wiznet5k_module
59+
sys.modules["adafruit_wiznet5k.adafruit_wiznet5k_socket"] = wiznet5k_socket_module
60+
yield
61+
del sys.modules["adafruit_wiznet5k"]
62+
del sys.modules["adafruit_wiznet5k.adafruit_wiznet5k_socket"]
63+
64+
5265
@pytest.fixture(autouse=True)
5366
def reset_connection_manager(monkeypatch):
5467
monkeypatch.setattr(

tests/ssl_context_test.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import pytest
1212

1313
import adafruit_connection_manager
14+
from adafruit_connection_manager import WIZNET5K_SSL_SUPPORT_VERSION
1415

1516

1617
def test_connect_esp32spi_https( # pylint: disable=unused-argument
@@ -51,7 +52,11 @@ def test_connect_wiznet5k_https_not_supported( # pylint: disable=unused-argumen
5152
):
5253
mock_pool = mocket.MocketPool()
5354
radio = mocket.MockRadio.WIZNET5K()
54-
with mock.patch("sys.implementation", return_value=[9, 0, 0]):
55+
old_version = (WIZNET5K_SSL_SUPPORT_VERSION[0] - 1, 0, 0)
56+
with mock.patch(
57+
"sys.implementation",
58+
(None, old_version)
59+
):
5560
ssl_context = adafruit_connection_manager.get_radio_ssl_context(radio)
5661
connection_manager = adafruit_connection_manager.ConnectionManager(mock_pool)
5762

@@ -61,3 +66,15 @@ def test_connect_wiznet5k_https_not_supported( # pylint: disable=unused-argumen
6166
mocket.MOCK_HOST_1, 443, "https:", ssl_context=ssl_context
6267
)
6368
assert "This radio does not support TLS/HTTPS" in str(context)
69+
70+
71+
def test_connect_wiznet5k_https_supported( # pylint: disable=unused-argument
72+
adafruit_wiznet5k_with_ssl_socket_module,
73+
):
74+
radio = mocket.MockRadio.WIZNET5K()
75+
with mock.patch(
76+
"sys.implementation",
77+
(None, WIZNET5K_SSL_SUPPORT_VERSION)
78+
):
79+
ssl_context = adafruit_connection_manager.get_radio_ssl_context(radio)
80+
assert isinstance(ssl_context, ssl.SSLContext)

0 commit comments

Comments
 (0)