Skip to content

Commit 29e4924

Browse files
committed
feat: Add environment credentials feature tracking to User-Agent
- Add CREDENTIALS_ENV_VARS enum to UserAgentFeature with metric ID 'g' - Track environment credentials usage in AWSClient::AttemptOneRequest - Check for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY presence - Implements env-credentials SEP specification for business metrics - Add unit test for environment credentials feature tracking Resolves environment credentials tracking for User-Agent 2.1 business metrics.
1 parent 0989fa1 commit 29e4924

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

tests/aws-cpp-sdk-monitoring-unit-tests/CloudWatchUnitTest.cpp

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ class ClientHolder {
7575
CloudWatchClient client;
7676
};
7777

78-
#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION
7978
TEST_F(CloudWatchTest, TestUserAgentCompressionTracking) {
79+
#if defined(ENABLED_ZLIB_REQUEST_COMPRESSION) && ENABLED_ZLIB_REQUEST_COMPRESSION == 1
8080
// Setup mock response with proper CloudWatch XML
8181
std::shared_ptr<HttpRequest> requestTmp =
8282
CreateHttpRequest(Aws::Http::URI("dummy"), Aws::Http::HttpMethod::HTTP_POST, Aws::Utils::Stream::DefaultResponseStreamFactoryMethod);
@@ -115,7 +115,6 @@ TEST_F(CloudWatchTest, TestUserAgentCompressionTracking) {
115115

116116
request.AddMetricData(metricDatum);
117117

118-
std::cout << "=== Making CloudWatch request with 20KB payload ===" << std::endl;
119118
auto outcome = client.PutMetricData(request);
120119
AWS_ASSERT_SUCCESS(outcome);
121120

@@ -125,25 +124,14 @@ TEST_F(CloudWatchTest, TestUserAgentCompressionTracking) {
125124
const auto& userAgent = lastRequest.GetUserAgent();
126125
EXPECT_TRUE(!userAgent.empty());
127126

128-
std::cout << "User-Agent: " << userAgent << std::endl;
129-
130127
const auto userAgentParsed = Aws::Utils::StringUtils::Split(userAgent, ' ');
131-
std::cout << "User-Agent parts: ";
132-
for (const auto& part : userAgentParsed) {
133-
std::cout << "[" << part << "] ";
134-
}
135-
std::cout << std::endl;
136128

137129
// Check for gzip compression business metric (L) in user agent
138130
auto businessMetrics = std::find_if(userAgentParsed.begin(), userAgentParsed.end(),
139131
[](const Aws::String& value) { return value.find("m/") != Aws::String::npos && value.find("L") != Aws::String::npos; });
140132

141-
if (businessMetrics != userAgentParsed.end()) {
142-
std::cout << "Found compression metric: " << *businessMetrics << std::endl;
143-
} else {
144-
std::cout << "Compression metric 'L' not found in User-Agent" << std::endl;
145-
}
146-
147133
EXPECT_TRUE(businessMetrics != userAgentParsed.end());
148-
}
149-
#endif // ENABLED_ZLIB_REQUEST_COMPRESSION
134+
#else
135+
GTEST_SKIP() << "ZLIB compression not available in this build";
136+
#endif
137+
}

0 commit comments

Comments
 (0)