@Override
    public void execute(final ChannelHandlerContext context, final Object message, final DatabaseProtocolFrontendEngine databaseProtocolFrontendEngine, final ConnectionSession connectionSession) {
        context.writeAndFlush(databaseProtocolFrontendEngine.getCommandExecuteEngine().getErrorPacket(new CircuitBreakException()));
        databaseProtocolFrontendEngine.getCommandExecuteEngine().getOtherPacket(connectionSession).ifPresent(context::writeAndFlush);
    }
@Test
    void assertExecute() {
        ChannelHandlerContext channelHandlerContext = mock(ChannelHandlerContext.class);
        DatabaseProtocolFrontendEngine engine = mock(DatabaseProtocolFrontendEngine.class, RETURNS_DEEP_STUBS);
        ConnectionSession connectionSession = mock(ConnectionSession.class);
        DatabasePacket errorPacket = mock(DatabasePacket.class);
        when(engine.getCommandExecuteEngine().getErrorPacket(any(CircuitBreakException.class))).thenReturn(errorPacket);
        DatabasePacket otherPacket = mock(DatabasePacket.class);
        when(engine.getCommandExecuteEngine().getOtherPacket(connectionSession)).thenReturn(Optional.of(otherPacket));
        new CircuitBreakProxyState().execute(channelHandlerContext, null, engine, connectionSession);
        verify(channelHandlerContext).writeAndFlush(errorPacket);
        verify(channelHandlerContext).writeAndFlush(otherPacket);
    }