mirror of
https://github.com/meshtastic/python.git
synced 2025-12-30 19:37:52 -05:00
add initial unit test for SerialInterface
This commit is contained in:
@@ -6,8 +6,8 @@ import os
|
||||
import stat
|
||||
import serial
|
||||
|
||||
import meshtastic.util
|
||||
from .stream_interface import StreamInterface
|
||||
from .util import findPorts, our_exit
|
||||
|
||||
class SerialInterface(StreamInterface):
|
||||
"""Interface class for meshtastic devices over a serial link"""
|
||||
@@ -22,14 +22,14 @@ class SerialInterface(StreamInterface):
|
||||
"""
|
||||
|
||||
if devPath is None:
|
||||
ports = findPorts()
|
||||
ports = meshtastic.util.findPorts()
|
||||
logging.debug(f"ports:{ports}")
|
||||
if len(ports) == 0:
|
||||
our_exit("Warning: No Meshtastic devices detected.")
|
||||
meshtastic.util.our_exit("Warning: No Meshtastic devices detected.")
|
||||
elif len(ports) > 1:
|
||||
message = "Warning: Multiple serial ports were detected so one serial port must be specified with the '--port'.\n"
|
||||
message += f" Ports detected:{ports}"
|
||||
our_exit(message)
|
||||
meshtastic.util.our_exit(message)
|
||||
else:
|
||||
devPath = ports[0]
|
||||
|
||||
|
||||
18
meshtastic/test/test_serial_interface.py
Normal file
18
meshtastic/test/test_serial_interface.py
Normal file
@@ -0,0 +1,18 @@
|
||||
"""Meshtastic unit tests for serial_interface.py"""
|
||||
|
||||
from unittest.mock import patch
|
||||
import pytest
|
||||
|
||||
from ..serial_interface import SerialInterface
|
||||
|
||||
@pytest.mark.unit
|
||||
@patch('serial.Serial')
|
||||
@patch('meshtastic.util.findPorts', return_value=['/dev/ttyUSBfake'])
|
||||
def test_SerialInterface(mocked_findPorts, mocked_serial):
|
||||
"""Test that we can instantiate a SerialInterface"""
|
||||
iface = SerialInterface(noProto=True)
|
||||
iface.showInfo()
|
||||
iface.localNode.showInfo()
|
||||
iface.close()
|
||||
mocked_findPorts.assert_called()
|
||||
mocked_serial.assert_called()
|
||||
Reference in New Issue
Block a user