@Override
    public Collection<String> connectors() {
        FutureCallback<Collection<String>> connectorsCallback = new FutureCallback<>();
        herder.connectors(connectorsCallback);
        try {
            return connectorsCallback.get(herderRequestTimeoutMs, TimeUnit.MILLISECONDS);
        } catch (InterruptedException | ExecutionException | TimeoutException e) {
            throw new ConnectException("Failed to retrieve list of connectors", e);
        }
    }
@Test
    public void connectors() {
        @SuppressWarnings("unchecked")
        ArgumentCaptor<Callback<Collection<String>>> callback = ArgumentCaptor.forClass(Callback.class);
        doAnswer(invocation -> {
            callback.getValue().onCompletion(null, expectedConnectors);
            return null;
        }).when(herder).connectors(callback.capture());

        assertEquals(expectedConnectors, connectClusterState.connectors());
    }