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_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()
 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()
    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_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)