-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget_radio_test.py
95 lines (71 loc) · 3.36 KB
/
get_radio_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# SPDX-FileCopyrightText: 2024 Justin Myers for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense
""" Get socketpool and ssl_context Tests """
import ssl
from unittest import mock
import mocket
import pytest
import adafruit_connection_manager
def test_get_radio_socketpool_wifi( # pylint: disable=unused-argument
circuitpython_socketpool_module,
):
radio = mocket.MockRadio.Radio()
socket_pool = adafruit_connection_manager.get_radio_socketpool(radio)
assert isinstance(socket_pool, mocket.MocketPool)
def test_get_radio_socketpool_esp32spi( # pylint: disable=unused-argument
adafruit_esp32spi_socketpool_module,
):
radio = mocket.MockRadio.ESP_SPIcontrol()
socket_pool = adafruit_connection_manager.get_radio_socketpool(radio)
assert socket_pool.__name__ == "adafruit_esp32spi_socketpool"
def test_get_radio_socketpool_wiznet5k( # pylint: disable=unused-argument
adafruit_wiznet5k_socketpool_module,
):
radio = mocket.MockRadio.WIZNET5K()
with mock.patch("sys.implementation", return_value=[9, 0, 0]):
socket_pool = adafruit_connection_manager.get_radio_socketpool(radio)
assert socket_pool.__name__ == "adafruit_wiznet5k_socketpool"
def test_get_radio_socketpool_unsupported():
radio = mocket.MockRadio.Unsupported()
with pytest.raises(AttributeError) as context:
adafruit_connection_manager.get_radio_socketpool(radio)
assert "Unsupported radio class" in str(context)
def test_get_radio_socketpool_returns_same_one( # pylint: disable=unused-argument
circuitpython_socketpool_module,
):
radio = mocket.MockRadio.Radio()
socket_pool_1 = adafruit_connection_manager.get_radio_socketpool(radio)
socket_pool_2 = adafruit_connection_manager.get_radio_socketpool(radio)
assert socket_pool_1 == socket_pool_2
def test_get_radio_ssl_context_wifi( # pylint: disable=unused-argument
circuitpython_socketpool_module,
):
radio = mocket.MockRadio.Radio()
ssl_contexts = adafruit_connection_manager.get_radio_ssl_context(radio)
assert isinstance(ssl_contexts, ssl.SSLContext)
def test_get_radio_ssl_context_esp32spi( # pylint: disable=unused-argument
adafruit_esp32spi_socketpool_module,
):
radio = mocket.MockRadio.ESP_SPIcontrol()
ssl_contexts = adafruit_connection_manager.get_radio_ssl_context(radio)
assert isinstance(ssl_contexts, adafruit_connection_manager._FakeSSLContext)
def test_get_radio_ssl_context_wiznet5k( # pylint: disable=unused-argument
adafruit_wiznet5k_socketpool_module,
):
radio = mocket.MockRadio.WIZNET5K()
with mock.patch("sys.implementation", return_value=[9, 0, 0]):
ssl_contexts = adafruit_connection_manager.get_radio_ssl_context(radio)
assert isinstance(ssl_contexts, adafruit_connection_manager._FakeSSLContext)
def test_get_radio_ssl_context_unsupported():
radio = mocket.MockRadio.Unsupported()
with pytest.raises(AttributeError) as context:
adafruit_connection_manager.get_radio_ssl_context(radio)
assert "Unsupported radio class" in str(context)
def test_get_radio_ssl_context_returns_same_one( # pylint: disable=unused-argument
circuitpython_socketpool_module,
):
radio = mocket.MockRadio.Radio()
ssl_contexts_1 = adafruit_connection_manager.get_radio_ssl_context(radio)
ssl_contexts_2 = adafruit_connection_manager.get_radio_ssl_context(radio)
assert ssl_contexts_1 == ssl_contexts_2