Skip to content

Commit 76315f4

Browse files
committed
updated test
1 parent ca99ccc commit 76315f4

File tree

1 file changed

+8
-83
lines changed

1 file changed

+8
-83
lines changed

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

Lines changed: 8 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -75,92 +75,17 @@ TEST_F(CredentialTrackingTest, TestEnvironmentCredentialsTracking)
7575
auto lastRequest = mockHttpClient->GetMostRecentHttpRequest();
7676
EXPECT_TRUE(lastRequest.HasUserAgent());
7777
const auto& userAgent = lastRequest.GetUserAgent();
78-
79-
// Check for environment credentials feature (should contain "g")
80-
EXPECT_TRUE(userAgent.find("g") != Aws::String::npos);
78+
EXPECT_TRUE(!userAgent.empty());
8179

82-
// Clean up environment variables
83-
Aws::Environment::UnSetEnv("AWS_ACCESS_KEY_ID");
84-
Aws::Environment::UnSetEnv("AWS_SECRET_ACCESS_KEY");
85-
}
80+
const auto userAgentParsed = Aws::Utils::StringUtils::Split(userAgent, ' ');
8681

87-
TEST_F(CredentialTrackingTest, TestDirectEnvironmentProviderTracking)
88-
{
89-
// Create client with direct environment provider
90-
ClientConfiguration config;
91-
config.region = Aws::Region::US_EAST_1;
92-
93-
// Set up environment credentials
94-
Aws::Environment::SetEnv("AWS_ACCESS_KEY_ID", "test-access-key");
95-
Aws::Environment::SetEnv("AWS_SECRET_ACCESS_KEY", "test-secret-key");
96-
97-
// Create client with environment provider directly
98-
auto envProvider = Aws::MakeShared<EnvironmentAWSCredentialsProvider>(ALLOCATION_TAG);
99-
100-
// Setup mock response
101-
auto request = CreateHttpRequest(Aws::Http::URI("http://test.com"),
102-
Aws::Http::HttpMethod::HTTP_POST,
103-
Aws::Utils::Stream::DefaultResponseStreamFactoryMethod);
104-
auto response = Aws::MakeShared<Standard::StandardHttpResponse>(ALLOCATION_TAG, request);
105-
response->SetResponseCode(HttpResponseCode::OK);
106-
response->GetResponseBody() << "{}";
107-
mockHttpClient->AddResponseToReturn(response);
108-
109-
MockAWSClient client(config);
110-
111-
// Make a request
112-
AmazonWebServiceRequestMock mockRequest;
113-
auto outcome = client.MakeRequest(mockRequest);
114-
115-
// Verify request succeeded
116-
AWS_ASSERT_SUCCESS(outcome);
117-
118-
// Verify User-Agent contains environment credentials tracking
119-
auto lastRequest = mockHttpClient->GetMostRecentHttpRequest();
120-
EXPECT_TRUE(lastRequest.HasUserAgent());
121-
const auto& userAgent = lastRequest.GetUserAgent();
122-
123-
// Check for environment credentials feature (should contain "g")
124-
EXPECT_TRUE(userAgent.find("g") != Aws::String::npos);
125-
126-
// Clean up
127-
Aws::Environment::UnSetEnv("AWS_ACCESS_KEY_ID");
128-
Aws::Environment::UnSetEnv("AWS_SECRET_ACCESS_KEY");
129-
}
82+
// Check for environment credentials business metric (g) in user agent
83+
auto businessMetrics = std::find_if(userAgentParsed.begin(), userAgentParsed.end(),
84+
[](const Aws::String& value) { return value.find("m/") != Aws::String::npos && value.find("g") != Aws::String::npos; });
13085

131-
TEST_F(CredentialTrackingTest, TestNoEnvironmentCredentialsNoTracking)
132-
{
133-
// Ensure no environment variables are set
86+
EXPECT_TRUE(businessMetrics != userAgentParsed.end());
87+
88+
// Clean up environment variables
13489
Aws::Environment::UnSetEnv("AWS_ACCESS_KEY_ID");
13590
Aws::Environment::UnSetEnv("AWS_SECRET_ACCESS_KEY");
136-
137-
// Setup mock response
138-
auto request = CreateHttpRequest(Aws::Http::URI("http://test.com"),
139-
Aws::Http::HttpMethod::HTTP_POST,
140-
Aws::Utils::Stream::DefaultResponseStreamFactoryMethod);
141-
auto response = Aws::MakeShared<Standard::StandardHttpResponse>(ALLOCATION_TAG, request);
142-
response->SetResponseCode(HttpResponseCode::OK);
143-
response->GetResponseBody() << "{}";
144-
mockHttpClient->AddResponseToReturn(response);
145-
146-
// Create client configuration
147-
ClientConfiguration config;
148-
config.region = Aws::Region::US_EAST_1;
149-
150-
MockAWSClient client(config);
151-
152-
// Make a request
153-
AmazonWebServiceRequestMock mockRequest;
154-
auto outcome = client.MakeRequest(mockRequest);
155-
156-
// Verify request succeeded
157-
AWS_ASSERT_SUCCESS(outcome);
158-
159-
// Verify User-Agent does NOT contain environment credentials tracking
160-
auto lastRequest = mockHttpClient->GetMostRecentHttpRequest();
161-
EXPECT_TRUE(lastRequest.HasUserAgent());
162-
const auto& userAgent = lastRequest.GetUserAgent();
163-
164-
// Should not contain environment credentials feature "g" when not using env vars
165-
EXPECT_TRUE(userAgent.find("g") == Aws::String::npos);
16691
}

0 commit comments

Comments
 (0)