File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -97,6 +97,10 @@ def create_fake_ssl_context(
9797 return _FakeSSLContext (iface )
9898
9999
100+ class CPythonNetwork : # pylint: disable=too-few-public-methods
101+ """Radio object to use when using ConnectionManager in CPython."""
102+
103+
100104_global_connection_managers = {}
101105_global_key_by_socketpool = {}
102106_global_socketpools = {}
@@ -158,6 +162,12 @@ def get_radio_socketpool(radio):
158162 if ssl_context is None :
159163 ssl_context = create_fake_ssl_context (pool , radio )
160164
165+ elif class_name == "CPythonNetwork" :
166+ import socket as pool # pylint: disable=import-outside-toplevel
167+ import ssl # pylint: disable=import-outside-toplevel
168+
169+ ssl_context = ssl .create_default_context ()
170+
161171 else :
162172 raise ValueError (f"Unsupported radio class: { class_name } " )
163173
Original file line number Diff line number Diff line change @@ -53,6 +53,13 @@ def test_get_radio_socketpool_wiznet5k( # pylint: disable=unused-argument
5353 assert socket_pool in adafruit_connection_manager ._global_socketpools .values ()
5454
5555
56+ def test_get_radio_socketpool_cpython ():
57+ radio = adafruit_connection_manager .CPythonNetwork ()
58+ socket_pool = adafruit_connection_manager .get_radio_socketpool (radio )
59+ assert socket_pool .__name__ == "socket"
60+ assert socket_pool in adafruit_connection_manager ._global_socketpools .values ()
61+
62+
5663def test_get_radio_socketpool_unsupported ():
5764 radio = mocket .MockRadio .Unsupported ()
5865 with pytest .raises (ValueError ) as context :
@@ -98,6 +105,13 @@ def test_get_radio_ssl_context_wiznet5k( # pylint: disable=unused-argument
98105 assert ssl_context in adafruit_connection_manager ._global_ssl_contexts .values ()
99106
100107
108+ def test_get_radio_ssl_context_cpython ():
109+ radio = adafruit_connection_manager .CPythonNetwork ()
110+ ssl_context = adafruit_connection_manager .get_radio_ssl_context (radio )
111+ assert isinstance (ssl_context , ssl .SSLContext )
112+ assert ssl_context in adafruit_connection_manager ._global_ssl_contexts .values ()
113+
114+
101115def test_get_radio_ssl_context_unsupported ():
102116 radio = mocket .MockRadio .Unsupported ()
103117 with pytest .raises (ValueError ) as context :
You can’t perform that action at this time.
0 commit comments