Module meshtastic.tests.test_tcp_interface
Meshtastic unit tests for tcp_interface.py
Expand source code
"""Meshtastic unit tests for tcp_interface.py"""
import re
from unittest.mock import patch
import pytest
from ..tcp_interface import TCPInterface
@pytest.mark.unit
def test_TCPInterface(capsys):
"""Test that we can instantiate a TCPInterface"""
with patch('socket.socket') as mock_socket:
iface = TCPInterface(hostname='localhost', noProto=True)
iface.myConnect()
iface.showInfo()
iface.localNode.showInfo()
out, err = capsys.readouterr()
assert re.search(r'Owner: None \(None\)', out, re.MULTILINE)
assert re.search(r'Nodes', out, re.MULTILINE)
assert re.search(r'Preferences', out, re.MULTILINE)
assert re.search(r'Channels', out, re.MULTILINE)
assert re.search(r'Primary channel URL', out, re.MULTILINE)
assert err == ''
assert mock_socket.called
iface.close()
@pytest.mark.unit
def test_TCPInterface_exception():
"""Test that we can instantiate a TCPInterface"""
def throw_an_exception():
raise ValueError("Fake exception.")
with patch('meshtastic.tcp_interface.TCPInterface._socket_shutdown') as mock_shutdown:
mock_shutdown.side_effect = throw_an_exception
with patch('socket.socket') as mock_socket:
iface = TCPInterface(hostname='localhost', noProto=True)
iface.myConnect()
iface.close()
assert mock_socket.called
assert mock_shutdown.called
@pytest.mark.unit
def test_TCPInterface_without_connecting():
"""Test that we can instantiate a TCPInterface with connectNow as false"""
with patch('socket.socket'):
iface = TCPInterface(hostname='localhost', noProto=True, connectNow=False)
assert iface.socket is None
Functions
def test_TCPInterface(capsys)
-
Test that we can instantiate a TCPInterface
Expand source code
@pytest.mark.unit def test_TCPInterface(capsys): """Test that we can instantiate a TCPInterface""" with patch('socket.socket') as mock_socket: iface = TCPInterface(hostname='localhost', noProto=True) iface.myConnect() iface.showInfo() iface.localNode.showInfo() out, err = capsys.readouterr() assert re.search(r'Owner: None \(None\)', out, re.MULTILINE) assert re.search(r'Nodes', out, re.MULTILINE) assert re.search(r'Preferences', out, re.MULTILINE) assert re.search(r'Channels', out, re.MULTILINE) assert re.search(r'Primary channel URL', out, re.MULTILINE) assert err == '' assert mock_socket.called iface.close()
def test_TCPInterface_exception()
-
Test that we can instantiate a TCPInterface
Expand source code
@pytest.mark.unit def test_TCPInterface_exception(): """Test that we can instantiate a TCPInterface""" def throw_an_exception(): raise ValueError("Fake exception.") with patch('meshtastic.tcp_interface.TCPInterface._socket_shutdown') as mock_shutdown: mock_shutdown.side_effect = throw_an_exception with patch('socket.socket') as mock_socket: iface = TCPInterface(hostname='localhost', noProto=True) iface.myConnect() iface.close() assert mock_socket.called assert mock_shutdown.called
def test_TCPInterface_without_connecting()
-
Test that we can instantiate a TCPInterface with connectNow as false
Expand source code
@pytest.mark.unit def test_TCPInterface_without_connecting(): """Test that we can instantiate a TCPInterface with connectNow as false""" with patch('socket.socket'): iface = TCPInterface(hostname='localhost', noProto=True, connectNow=False) assert iface.socket is None