Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
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()