NonBlockingClientImpl extends NonBlockingClient implements FSMActions, Component, CallbackService { @Override public String getId() { return clientId; } protected <T> NonBlockingClientImpl(EndpointService endpointService,
            CallbackService callbackService,
            ComponentImpl engine,
            TimerService timerService,
            GsonBuilder gsonBuilder,
            ClientOptions options,
            NonBlockingClientListener<T>listener,
            T context); <T> NonBlockingClientImpl(EndpointService endpointService,
                                     CallbackService callbackService,
                                     NetworkService networkService,
                                     TimerService timerService,
                                     GsonBuilder gsonBuilder,
                                     ClientOptions options,
                                     NonBlockingClientListener<T>listener,
                                     T context); <T> NonBlockingClientImpl(String service, ClientOptions options, NonBlockingClientListener<T> listener, T context); @Override String getId(); @Override String getService(); @Override ClientState getState(); @Override boolean send(String topic, String data, Map<String, Object> properties,
            SendOptions sendOptions, CompletionListener<T> listener, T context); @Override boolean send(String topic, ByteBuffer data, Map<String, Object> properties,
            SendOptions sendOptions, CompletionListener<T> listener, T context); @Override boolean send(String topic, Object json,
            Map<String, Object> properties, SendOptions sendOptions,
            CompletionListener<T> listener, T context); @Override boolean send(String topic, Object json, Type type,
            Map<String, Object> properties, SendOptions sendOptions,
            CompletionListener<T> listener, T context); @Override boolean sendJson(String topic, String json,
            Map<String, Object> properties, SendOptions sendOptions,
            CompletionListener<T> listener, T context); @Override NonBlockingClient start(CompletionListener<T> listener, T context); @Override void stop(CompletionListener<T> listener, T context); @Override NonBlockingClient subscribe(String topicPattern,
            SubscribeOptions subOptions, DestinationListener<T> destListener,
            CompletionListener<T> compListener, T context); @Override NonBlockingClient unsubscribe(String topicPattern, String share, int ttl, CompletionListener<T> listener, T context); @Override NonBlockingClient unsubscribe(String topicPattern, String share, CompletionListener<T> listener, T context); @Override void startTimer(); @Override void openConnection(); @Override void closeConnection(); @Override void cancelTimer(); @Override void requestEndpoint(); @Override void remakeInboundLinks(); @Override void blessEndpoint(); @Override void cleanup(); @Override void failPendingStops(); @Override void succeedPendingStops(); @Override void failPendingStarts(); @Override void succeedPendingStarts(); @Override void processQueuedActions(); @Override void eventStarting(); @Override void eventUserStopping(); @Override void eventSystemStopping(); @Override void eventStopped(); @Override void eventStarted(); @Override void eventRetrying(); @Override void eventRestarted(); @Override void breakInboundLinks(); @Override void tell(Message message, Component self); @Override void run(Runnable runnable, Object orderingCtx, Promise<Void> promise);  }
@Test public void testAutoGeneratedClientId() { StubEndpointService endpointService = new StubEndpointService(); StubCallbackService callbackService = new StubCallbackService(); MockComponent component = new MockComponent(); StubTimerService timerService = new StubTimerService(); NonBlockingClientImpl client = new NonBlockingClientImpl(endpointService, callbackService, component, timerService, new GsonBuilder(), ClientOptions.builder().build(), null, null); assertTrue("Expected auto generated client ID to start with string 'AUTO_'", client.getId().startsWith("AUTO_")); }