Future<String> findZookeeperLeader(Reconciliation reconciliation, Set<String> pods, TlsPemIdentity coTlsPemIdentity) {
        if (pods.size() == 0) {
            return Future.succeededFuture(UNKNOWN_LEADER);
        } else if (pods.size() == 1) {
            return Future.succeededFuture(pods.stream().findFirst().get());
        }

        try {
            NetClientOptions netClientOptions = clientOptions(coTlsPemIdentity.pemTrustSet(), coTlsPemIdentity.pemAuthIdentity());
            return zookeeperLeaderWithBackoff(reconciliation, pods, netClientOptions);
        } catch (Throwable e) {
            return Future.failedFuture(e);
        }
    }
@Test
    public void test1PodClusterReturnsOnlyPodAsLeader(VertxTestContext context) {
        ZookeeperLeaderFinder finder = new ZookeeperLeaderFinder(vertx, this::backoff);
        Checkpoint a = context.checkpoint();
        int firstPodIndex = 0;
        finder.findZookeeperLeader(Reconciliation.DUMMY_RECONCILIATION, Set.of(createPodWithId(firstPodIndex)), DUMMY_IDENTITY)
            .onComplete(context.succeeding(leader -> {
                context.verify(() -> assertThat(leader, is("my-cluster-zookeeper-0")));
                a.flag();
            }));
    }