@Test
public void testAsyncWithOverrideConfig() throws Exception {

  AsyncSqsClientConfiguration config =
      new AsyncSqsClientConfiguration(AsyncSqsClientConfiguration.Type.PRODUCTION);
  RetryPolicyConfiguration retryPolicyConfiguration = new RetryPolicyConfiguration();
  retryPolicyConfiguration.setCondition(RetryPolicyConfiguration.Condition.DEFAULT);
  retryPolicyConfiguration.setBackOff(RetryPolicyConfiguration.BackOff.EQUAL_JITTER);
  OverrideConfiguration overrideConfiguration = new OverrideConfiguration();
  overrideConfiguration.setApiCallAttemptTimeout(300);
  overrideConfiguration.setApiCallTimeout(25 * 1000);
  overrideConfiguration.setRetryPolicyConfiguration(retryPolicyConfiguration);
  config.setOverrideConfiguration(overrideConfiguration);
  AsyncSqsClient asyncClient = factory.create(config);
  assertTrue(asyncClient instanceof AsyncSqsClientImpl);
  SqsAsyncClient sqs = ((AsyncSqsClientImpl) asyncClient).getClient();
  assertNotNull(sqs);
}