Skip to content

Commit da98492

Browse files
committed
changed from callback
1 parent c059805 commit da98492

File tree

1 file changed

+13
-42
lines changed

1 file changed

+13
-42
lines changed

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

Lines changed: 13 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,17 @@
88
#include <aws/testing/mocks/aws/client/MockAWSClient.h>
99
#include <aws/testing/mocks/http/MockHttpClient.h>
1010
#include <aws/core/auth/AWSCredentialsProvider.h>
11-
#include <aws/core/auth/AWSCredentialsProviderChain.h>
12-
#include <aws/core/client/ClientConfiguration.h>
1311
#include <aws/core/client/AWSClient.h>
1412
#include <aws/core/utils/StringUtils.h>
15-
#include <iostream>
13+
#include <aws/core/platform/Environment.h>
1614

1715
using namespace Aws::Client;
1816
using namespace Aws::Auth;
1917
using namespace Aws::Http;
2018

2119
static const char ALLOCATION_TAG[] = "CredentialTrackingTest";
2220

23-
// Custom client that uses environment credential provider for testing
24-
class CredentialTestingClient : public Aws::Client::AWSClient
25-
{
26-
public:
27-
explicit CredentialTestingClient(const Aws::Client::ClientConfiguration& configuration)
28-
: AWSClient(configuration,
29-
Aws::MakeShared<Aws::Client::AWSAuthV4Signer>(ALLOCATION_TAG,
30-
Aws::MakeShared<EnvironmentAWSCredentialsProvider>(ALLOCATION_TAG),
31-
"service", configuration.region),
32-
Aws::MakeShared<MockAWSErrorMarshaller>(ALLOCATION_TAG))
33-
{
34-
}
3521

36-
Aws::Client::HttpResponseOutcome MakeRequest(const Aws::AmazonWebServiceRequest& request)
37-
{
38-
auto uri = Aws::Http::URI("https://test.com");
39-
return AWSClient::AttemptExhaustively(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER);
40-
}
41-
42-
const char* GetServiceClientName() const override { return "CredentialTestingClient"; }
43-
44-
protected:
45-
Aws::Client::AWSError<Aws::Client::CoreErrors> BuildAWSError(const std::shared_ptr<Aws::Http::HttpResponse>& response) const override
46-
{
47-
AWS_UNREFERENCED_PARAM(response);
48-
return Aws::Client::AWSError<Aws::Client::CoreErrors>(Aws::Client::CoreErrors::UNKNOWN, false);
49-
}
50-
};
5122

5223
class CredentialTrackingTest : public Aws::Testing::AwsCppSdkGTestSuite
5324
{
@@ -75,7 +46,6 @@ class CredentialTrackingTest : public Aws::Testing::AwsCppSdkGTestSuite
7546

7647
TEST_F(CredentialTrackingTest, TestEnvironmentCredentialsTracking)
7748
{
78-
// Set environment variables
7949
Aws::Environment::SetEnv("AWS_ACCESS_KEY_ID", "test-access-key", 1);
8050
Aws::Environment::SetEnv("AWS_SECRET_ACCESS_KEY", "test-secret-key", 1);
8151

@@ -94,20 +64,22 @@ TEST_F(CredentialTrackingTest, TestEnvironmentCredentialsTracking)
9464
Aws::Client::ClientConfiguration clientConfig(cfgInit);
9565
clientConfig.region = Aws::Region::US_EAST_1;
9666

97-
// Create credential testing client that uses default provider chain
98-
CredentialTestingClient client(clientConfig);
99-
100-
// Create mock request
67+
// Create client with environment credentials signer
68+
Aws::Client::AWSClient client(clientConfig,
69+
Aws::MakeShared<Aws::Client::AWSAuthV4Signer>(ALLOCATION_TAG,
70+
Aws::MakeShared<EnvironmentAWSCredentialsProvider>(ALLOCATION_TAG),
71+
"service", clientConfig.region),
72+
Aws::MakeShared<MockAWSErrorMarshaller>(ALLOCATION_TAG));
73+
10174
AmazonWebServiceRequestMock mockRequest;
102-
103-
// Make request
104-
auto outcome = client.MakeRequest(mockRequest);
105-
ASSERT_TRUE(outcome.IsSuccess());
75+
auto outcome = client.AttemptExhaustively(Aws::Http::URI("https://test.com"), mockRequest,
76+
Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER);
77+
AWS_ASSERT_SUCCESS(outcome);
10678

10779
// Verify User-Agent contains environment credentials tracking
10880
auto lastRequest = mockHttpClient->GetMostRecentHttpRequest();
109-
EXPECT_TRUE(lastRequest.HasHeader(Aws::Http::USER_AGENT_HEADER));
110-
const auto& userAgent = lastRequest.GetHeaderValue(Aws::Http::USER_AGENT_HEADER);
81+
EXPECT_TRUE(lastRequest.HasUserAgent());
82+
const auto& userAgent = lastRequest.GetUserAgent();
11183
EXPECT_FALSE(userAgent.empty());
11284

11385
const auto userAgentParsed = Aws::Utils::StringUtils::Split(userAgent, ' ');
@@ -118,7 +90,6 @@ TEST_F(CredentialTrackingTest, TestEnvironmentCredentialsTracking)
11890

11991
EXPECT_TRUE(businessMetrics != userAgentParsed.end());
12092

121-
// Clean up environment variables
12293
Aws::Environment::UnSetEnv("AWS_ACCESS_KEY_ID");
12394
Aws::Environment::UnSetEnv("AWS_SECRET_ACCESS_KEY");
12495
}

0 commit comments

Comments
 (0)