### Question:
MySQLConnector { public synchronized void subscribe(final String binlogFileName, final long binlogPosition) { initDumpConnectSession(); final int checksumLength = queryChecksumLength(); registerSlave(); responseCallback = null; BinlogDumpCommandPacket binlogDumpCmd = new BinlogDumpCommandPacket(); binlogDumpCmd.setBinlogFileName(binlogFileName); binlogDumpCmd.setBinlogPosition(binlogPosition); binlogDumpCmd.setSlaveServerId(serverId); channel.pipeline().remove(MySQLCommandPacketDecoder.class); channel.pipeline().remove(MySQLCommandResponseHandler.class); channel.pipeline().addLast(new MySQLBinlogEventPacketDecoder(checksumLength)); channel.pipeline().addLast(new MySQLBinlogEventHandler()); channel.writeAndFlush(binlogDumpCmd); }  synchronized void connect(); synchronized boolean execute(final String queryString); synchronized int executeUpdate(final String queryString); synchronized InternalResultSet executeQuery(final String queryString); synchronized void subscribe(final String binlogFileName, final long binlogPosition); synchronized AbstractBinlogEvent poll();  }### Answer:
@Test public void assertSubscribeBelow56Version() throws NoSuchFieldException, IllegalAccessException, ExecutionException, InterruptedException { ServerInfo serverInfo = new ServerInfo(); serverInfo.setServerVersion(new ServerVersion("5.5.0-log")); ReflectionUtil.setFieldValueToClass(mySQLConnector, "serverInfo", serverInfo); ReflectionUtil.setFieldValueToClass(mySQLConnector, "channel", channel); mockChannelResponse(new OkPacket()); mySQLConnector.subscribe("", 4L); verify(channel).writeAndFlush(ArgumentMatchers.any(RegisterSlaveCommandPacket.class)); verify(channel).writeAndFlush(ArgumentMatchers.any(BinlogDumpCommandPacket.class)); }