public static KsqlClient createInternalClient(
      final Map<String, String> clientProps,
      final BiFunction<Integer, String, SocketAddress> socketAddressFactory,
      final Vertx vertx) {
    final String internalClientAuth = clientProps.get(
        KsqlRestConfig.KSQL_INTERNAL_SSL_CLIENT_AUTHENTICATION_CONFIG);
    final boolean verifyHost = !Strings.isNullOrEmpty(internalClientAuth)
        && !KsqlRestConfig.SSL_CLIENT_AUTHENTICATION_NONE.equals(internalClientAuth);

    return new KsqlClient(
        Optional.empty(),
        new LocalProperties(ImmutableMap.of()),
        httpOptionsFactory(clientProps, verifyHost, InternalKsqlClientFactory::createClientOptions),
        httpOptionsFactory(clientProps, verifyHost,
            InternalKsqlClientFactory::createClientOptionsHttp2),
        socketAddressFactory,
        vertx
    );
  }
@Test
  public void shouldCreateClient_http2() {
    // When:
    KsqlClient client = InternalKsqlClientFactory.createInternalClient(
        ImmutableMap.of(
            KsqlRestConfig.KSQL_INTERNAL_HTTP2_MAX_POOL_SIZE_CONFIG, "1234"
        ), SocketAddress::inetSocketAddress,
        vertx);
    List<HttpClientOptions> optionsList = options.getAllValues();


    // Then:
    assertThat(client, notNullValue());
    assertThat(optionsList.size(), is(4));
    HttpClientOptions sslOptions = optionsList.get(2);
    assertThat(sslOptions.getHttp2MaxPoolSize(), is(1234));
  }