Skip to content

Commit 1df26fc

Browse files
committed
add provider creation retry for tests
1 parent 1809e0e commit 1df26fc

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

tests/aws-cpp-sdk-core-tests/aws/auth/GeneralHTTPCredentialsProviderTest.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ const char AWS_CONTAINER_AUTHORIZATION_TOKEN[] = "AWS_CONTAINER_AUTHORIZATI
2828

2929
const std::vector<const char*> ENV_VARS = {AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE, AWS_CONTAINER_CREDENTIALS_RELATIVE_URI, AWS_CONTAINER_CREDENTIALS_FULL_URI, AWS_CONTAINER_AUTHORIZATION_TOKEN};
3030

31+
namespace {
32+
size_t PROVIDER_CREATE_ATTEMPTS = 5;
33+
}
34+
3135

3236
class GeneralHTTPCredentialsProviderTest : public Aws::Testing::AwsCppSdkGTestSuite
3337
{
@@ -488,9 +492,14 @@ TEST_P(GeneralHTTPCredentialsProviderResponseHandlingTests, ResponseHandlingTest
488492
}
489493

490494
Aws::Environment::SetEnv("AWS_CONTAINER_CREDENTIALS_FULL_URI", "http://localhost/get-credentials", 1);
491-
std::shared_ptr<GeneralHTTPCredentialsProvider> genProvider = CreateGeneralProvider();
492-
ASSERT_TRUE(genProvider && genProvider->IsValid());
493-
AWSCredentials credentials = genProvider->GetAWSCredentials();
495+
size_t createRetryCount{0};
496+
std::shared_ptr<GeneralHTTPCredentialsProvider> provider{nullptr};
497+
while ((!provider || !provider->IsValid()) && createRetryCount < PROVIDER_CREATE_ATTEMPTS) {
498+
provider = CreateGeneralProvider();
499+
createRetryCount++;
500+
}
501+
ASSERT_TRUE(provider && provider->IsValid());
502+
AWSCredentials credentials = provider->GetAWSCredentials();
494503

495504
auto requestsMade = m_mockHttpClient->GetAllRequestsMade();
496505
if (expect.GetString("type") == "error") {

0 commit comments

Comments
 (0)