|
24 | 24 | import software.amazon.lambda.powertools.metrics.ValidationException;
|
25 | 25 | import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsColdStartEnabledHandler;
|
26 | 26 | import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsEnabledDefaultDimensionHandler;
|
| 27 | +import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsEnabledDefaultNoDimensionHandler; |
27 | 28 | import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsEnabledHandler;
|
28 | 29 | import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsEnabledStreamHandler;
|
29 | 30 | import software.amazon.lambda.powertools.metrics.handlers.PowertoolsMetricsExceptionWhenNoMetricsHandler;
|
@@ -153,6 +154,45 @@ public void metricsWithDefaultDimensionSpecified() {
|
153 | 154 | }
|
154 | 155 | }
|
155 | 156 |
|
| 157 | + @Test |
| 158 | + public void metricsWithDefaultNoDimensionSpecified() { |
| 159 | + try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class); |
| 160 | + MockedStatic<software.amazon.lambda.powertools.core.internal.SystemWrapper> internalWrapper = mockStatic(software.amazon.lambda.powertools.core.internal.SystemWrapper.class)) { |
| 161 | + |
| 162 | + mocked.when(() -> SystemWrapper.getenv("AWS_EMF_ENVIRONMENT")).thenReturn("Lambda"); |
| 163 | + internalWrapper.when(() -> getenv("_X_AMZN_TRACE_ID")).thenReturn("Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1\""); |
| 164 | + |
| 165 | + requestHandler = new PowertoolsMetricsEnabledDefaultNoDimensionHandler(); |
| 166 | + |
| 167 | + requestHandler.handleRequest("input", context); |
| 168 | + |
| 169 | + assertThat(out.toString().split("\n")) |
| 170 | + .hasSize(2) |
| 171 | + .satisfies(s -> { |
| 172 | + Map<String, Object> logAsJson = readAsJson(s[0]); |
| 173 | + |
| 174 | + assertThat(logAsJson) |
| 175 | + .containsEntry("Metric2", 1.0) |
| 176 | + .containsKey("_aws") |
| 177 | + .containsEntry("xray_trace_id", "1-5759e988-bd862e3fe1be46a994272793") |
| 178 | + .containsEntry("function_request_id", "123ABC"); |
| 179 | + |
| 180 | + Map<String, Object> aws = (Map<String, Object>) logAsJson.get("_aws"); |
| 181 | + |
| 182 | + assertThat(aws.get("CloudWatchMetrics")) |
| 183 | + .asString() |
| 184 | + .contains("Namespace=ExampleApplication"); |
| 185 | + |
| 186 | + logAsJson = readAsJson(s[1]); |
| 187 | + |
| 188 | + assertThat(logAsJson) |
| 189 | + .containsEntry("Metric1", 1.0) |
| 190 | + .containsEntry("function_request_id", "123ABC") |
| 191 | + .containsKey("_aws"); |
| 192 | + }); |
| 193 | + } |
| 194 | + } |
| 195 | + |
156 | 196 | @Test
|
157 | 197 | public void metricsWithColdStart() {
|
158 | 198 |
|
@@ -263,7 +303,7 @@ public void exceptionWhenNoMetricsEmitted() {
|
263 | 303 | try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
|
264 | 304 | mocked.when(() -> SystemWrapper.getenv("AWS_EMF_ENVIRONMENT")).thenReturn("Lambda");
|
265 | 305 |
|
266 |
| - MetricsUtils.defaultDimensions((DimensionSet) null); |
| 306 | + MetricsUtils.defaultDimensions(null); |
267 | 307 | requestHandler = new PowertoolsMetricsExceptionWhenNoMetricsHandler();
|
268 | 308 |
|
269 | 309 | assertThatExceptionOfType(ValidationException.class)
|
|
0 commit comments