File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed
Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change 1+ """Meshtastic unit tests for traffic management handling in mesh_interface.py."""
2+
3+ import pytest
4+
5+ from ..mesh_interface import MeshInterface
6+ from ..protobuf import mesh_pb2
7+
8+
9+ @pytest .mark .unit
10+ @pytest .mark .usefixtures ("reset_mt_config" )
11+ def test_handleFromRadio_with_traffic_management_module_config ():
12+ """Test _handleFromRadio with moduleConfig.traffic_management."""
13+ iface = MeshInterface (noProto = True )
14+ from_radio = mesh_pb2 .FromRadio ()
15+ from_radio .moduleConfig .traffic_management .enabled = True
16+ from_radio .moduleConfig .traffic_management .rate_limit_enabled = True
17+
18+ iface ._handleFromRadio (from_radio .SerializeToString ())
19+
20+ assert iface .localNode .moduleConfig .traffic_management .enabled is True
21+ assert iface .localNode .moduleConfig .traffic_management .rate_limit_enabled is True
22+ iface .close ()
Original file line number Diff line number Diff line change @@ -794,6 +794,30 @@ def test_writeConfig_with_no_radioConfig(capsys):
794794 assert err == ""
795795
796796
797+ @pytest .mark .unit
798+ @pytest .mark .usefixtures ("reset_mt_config" )
799+ def test_writeConfig_traffic_management ():
800+ """Test writeConfig with traffic_management module config."""
801+ iface = MagicMock (autospec = SerialInterface )
802+ anode = Node (iface , 123 , noProto = True )
803+ anode .moduleConfig .traffic_management .enabled = True
804+ anode .moduleConfig .traffic_management .rate_limit_enabled = True
805+
806+ sent_admin = []
807+
808+ def capture_send (p , * args , ** kwargs ):
809+ sent_admin .append (p )
810+
811+ with patch .object (anode , "_sendAdmin" , side_effect = capture_send ):
812+ anode .writeConfig ("traffic_management" )
813+
814+ assert len (sent_admin ) == 1
815+ assert sent_admin [0 ].HasField ("set_module_config" )
816+ assert sent_admin [0 ].set_module_config .HasField ("traffic_management" )
817+ assert sent_admin [0 ].set_module_config .traffic_management .enabled is True
818+ assert sent_admin [0 ].set_module_config .traffic_management .rate_limit_enabled is True
819+
820+
797821# TODO
798822# @pytest.mark.unit
799823# def test_writeConfig(caplog):
You can’t perform that action at this time.
0 commit comments