@Override
    public int handshake(final ChannelHandlerContext context) {
        int result = ConnectionIdGenerator.getInstance().nextId();
        connectionPhase = MySQLConnectionPhase.AUTH_PHASE_FAST_PATH;
        boolean sslEnabled = ProxySSLContext.getInstance().isSSLEnabled();
        if (sslEnabled) {
            context.pipeline().addFirst(MySQLSSLRequestHandler.class.getSimpleName(), new MySQLSSLRequestHandler());
        }
        context.writeAndFlush(new MySQLHandshakePacket(result, sslEnabled, authPluginData));
        MySQLStatementIdGenerator.getInstance().registerConnection(result);
        return result;
    }
@Test
    void assertHandshakeWithSSLNotEnabled() {
        ChannelHandlerContext context = mockChannelHandlerContext();
        assertTrue(authenticationEngine.handshake(context) > 0);
        verify(context).writeAndFlush(any(MySQLHandshakePacket.class));
    }