def test_serial_server_connect(self): with patch.object(serial, 'Serial') as mock_serial: mock_serial.return_value = "socket" identity = ModbusDeviceIdentification(info={0x00: 'VendorName'}) server = ModbusSerialServer(context=None, identity=identity) self.assertEqual(server.socket, "socket") self.assertEqual(server.control.Identity.VendorName, 'VendorName') server._connect() self.assertEqual(server.socket, "socket") with patch.object(serial, 'Serial') as mock_serial: mock_serial.side_effect = serial.SerialException() server = ModbusSerialServer(None) self.assertEqual(server.socket, None)
def test_serial_server_close(self): """ test that the synchronous serial server closes correctly """ with patch.object(serial, 'Serial') as mock_serial: instance = mock_serial.return_value server = ModbusSerialServer(None) server.server_close() instance.close.assert_any_call()
def test_serial_server_serve_forever(self): """ test that the synchronous serial server closes correctly """ with patch.object(serial, 'Serial') as mock_serial: with patch('pymodbus3.server.sync.ModbusSingleRequestHandler' ) as mock_handler: server = ModbusSerialServer(None) instance = mock_handler.return_value instance.handle.side_effect = server.server_close server.serve_forever() instance.handle.assert_any_call()