static ClientSettings createApiConnectionSettings(Configuration conf) {

    Duration apiCallTimeout = getDuration(conf, REQUEST_TIMEOUT,
        DEFAULT_REQUEST_TIMEOUT_DURATION, TimeUnit.MILLISECONDS, Duration.ZERO);

    // if the API call timeout is set, it must be at least the minimum duration
    if (apiCallTimeout.compareTo(Duration.ZERO) > 0) {
      apiCallTimeout = enforceMinimumDuration(REQUEST_TIMEOUT,
          apiCallTimeout, minimumOperationDuration);
    }
    return new ClientSettings(apiCallTimeout);
  }
@Test
  public void testCreateApiConnectionSettingsDefault() {
    final Configuration conf = new Configuration();
    Assertions.assertThat(conf.get(REQUEST_TIMEOUT))
        .describedAs("Request timeout %s", REQUEST_TIMEOUT)
        .isNull();

    assertDuration(REQUEST_TIMEOUT, DEFAULT_REQUEST_TIMEOUT_DURATION,
        createApiConnectionSettings(conf).getApiCallTimeout());
  }