@Test
public void test_onEvent_without_ack() {

    final EngineIoServer engineIoServer = new EngineIoServer();
    final SocketIoServer server = Mockito.spy(new SocketIoServer(engineIoServer));
    final SocketIoNamespace namespace = server.namespace("/");
    final Emitter.Listener connectionListener = Mockito.mock(Emitter.Listener.class);
    Mockito.doAnswer(invocation -> {
        final Object[] args = invocation.getArguments();
        final SocketIoSocket socket = (SocketIoSocket) args[0];
        final JSONArray data = new JSONArray();
        data.put("foo");
        data.put("bar");
        final Packet<JSONArray> eventPacket = new Packet<>(Parser.EVENT, data);
        final Emitter.Listener messageListener = Mockito.mock(Emitter.Listener.class);
        socket.on("foo", messageListener);
        socket.onEvent(eventPacket);
        Mockito.verify(messageListener, Mockito.times(1))
                .call(Mockito.eq("bar"));
        return null;
    }).when(connectionListener).call(Mockito.any());
    namespace.on("connection", connectionListener);
    final EngineIoWebSocketImpl webSocket = new EngineIoWebSocketImpl();
    engineIoServer.handleWebSocket(webSocket);
    Mockito.verify(connectionListener, Mockito.times(1))
            .call(Mockito.any(SocketIoSocket.class));
}