def test_search_serial_interfaces(self, *_: Any) -> None: gateway = Gateway(operation=RX, local_test=False, dd_sockets=False, qubes=False) interface = gateway.search_serial_interface() self.assertEqual(interface, '/dev/ttyUSB0') # Test unavailable system serial exits: gateway.settings.session_usb_serial_adapter = False interface = gateway.search_serial_interface() self.assertEqual(interface, '/dev/ttyS0') with self.assertRaises(SystemExit): gateway.search_serial_interface()
def test_class(self): # Setup settings = Settings() gateway = Gateway(settings) # Test self.assertIsNone(gateway.write(b'test')) self.assertEqual(gateway.search_serial_interface(), '/dev/ttyS0')
class TestGatewaySerial(unittest.TestCase): class MockSerial(object): def __init__(self, iface_name, baudrate, timeout): self.iface = iface_name self.baudrate = baudrate self.timeout = timeout self.written = [] output_list = [b'', bytearray(b'a'), bytearray(b'b'), b''] self.gen = iter(output_list) def write(self, output): self.written.append(output) def read(self, _): time.sleep(0.1) return next(self.gen) def flush(self): pass def setUp(self): self.settings = Settings(session_usb_serial_adapter=True) self.o_listdir = os.listdir self.o_serial = serial.Serial input_list = ['ttyUSB0', 'ttyS0', 'ttyUSB0', 'ttyS0', 'ttyUSB0'] gen = iter(input_list) os.listdir = lambda _: [next(gen)] serial.Serial = TestGatewaySerial.MockSerial self.gateway = Gateway(self.settings) def tearDown(self): os.listdir = self.o_listdir serial.Serial = self.o_serial def test_serial(self): self.assertIsNone(self.gateway.write(b'test')) self.assertEqual(self.gateway.search_serial_interface(), '/dev/ttyUSB0') self.assertEqual(self.gateway.read(), b'ab') self.gateway.settings.session_usb_serial_adapter = False self.assertEqual(self.gateway.search_serial_interface(), '/dev/ttyS0') with self.assertRaises(SystemExit): self.gateway.search_serial_interface()