mirror of
https://github.com/meshtastic/python.git
synced 2026-05-03 13:25:19 -04:00
Support setting/removing nodes as favorites
This commit is contained in:
@@ -2652,3 +2652,34 @@ def test_tunnel_tunnel_arg(
|
||||
out, err = capsys.readouterr()
|
||||
assert re.search(r"Connected to radio", out, re.MULTILINE)
|
||||
assert err == ""
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.usefixtures("reset_mt_config")
|
||||
def test_set_favorite_node():
|
||||
"""Test --set-favorite-node node"""
|
||||
sys.argv = ["", "--set-favorite-node", "!12345678"]
|
||||
mt_config.args = sys.argv
|
||||
mocked_node = MagicMock(autospec=Node)
|
||||
iface = MagicMock(autospec=SerialInterface)
|
||||
iface.getNode.return_value = mocked_node
|
||||
with patch("meshtastic.serial_interface.SerialInterface", return_value=iface):
|
||||
main()
|
||||
|
||||
mocked_node.setFavorite.assert_called_once_with("!12345678")
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.usefixtures("reset_mt_config")
|
||||
def test_remove_favorite_node():
|
||||
"""Test --remove-favorite-node node"""
|
||||
sys.argv = ["", "--remove-favorite-node", "!12345678"]
|
||||
mt_config.args = sys.argv
|
||||
mocked_node = MagicMock(autospec=Node)
|
||||
iface = MagicMock(autospec=SerialInterface)
|
||||
iface.getNode.return_value = mocked_node
|
||||
mocked_node.iface = iface
|
||||
with patch("meshtastic.serial_interface.SerialInterface", return_value=iface):
|
||||
main()
|
||||
|
||||
mocked_node.removeFavorite.assert_called_once_with("!12345678")
|
||||
|
||||
@@ -6,7 +6,7 @@ from unittest.mock import MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from ..protobuf import localonly_pb2, config_pb2
|
||||
from ..protobuf import admin_pb2, localonly_pb2, config_pb2
|
||||
from ..protobuf.channel_pb2 import Channel # pylint: disable=E0611
|
||||
from ..node import Node
|
||||
from ..serial_interface import SerialInterface
|
||||
@@ -1426,6 +1426,33 @@ def test_requestChannels_non_localNode_starting_index(caplog):
|
||||
# assert err == ''
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.parametrize("favorite", ["!1dec0ded", 502009325])
|
||||
def test_set_favorite(favorite):
|
||||
"""Test setFavorite"""
|
||||
iface = MagicMock(autospec=SerialInterface)
|
||||
node = Node(iface, 12345678)
|
||||
amesg = admin_pb2.AdminMessage()
|
||||
with patch("meshtastic.admin_pb2.AdminMessage", return_value=amesg):
|
||||
node.setFavorite(favorite)
|
||||
assert amesg.set_favorite_node == 502009325
|
||||
iface.sendData.assert_called_once()
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.parametrize("favorite", ["!1dec0ded", 502009325])
|
||||
def test_remove_favorite(favorite):
|
||||
"""Test setFavorite"""
|
||||
iface = MagicMock(autospec=SerialInterface)
|
||||
node = Node(iface, 12345678)
|
||||
amesg = admin_pb2.AdminMessage()
|
||||
with patch("meshtastic.admin_pb2.AdminMessage", return_value=amesg):
|
||||
node.removeFavorite(favorite)
|
||||
|
||||
assert amesg.remove_favorite_node == 502009325
|
||||
iface.sendData.assert_called_once()
|
||||
|
||||
|
||||
# TODO
|
||||
# @pytest.mark.unitslow
|
||||
# def test_waitForConfig():
|
||||
|
||||
Reference in New Issue
Block a user