Skip to content

Commit 4ccacf6

Browse files
authored
Added more unit tests (#64)
* Added more unit tests * Bump up the minor version
1 parent b98de71 commit 4ccacf6

File tree

4 files changed

+47
-1
lines changed

4 files changed

+47
-1
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ allprojects {
2828
targetCompatibility = '1.8'
2929
}
3030

31-
version = '1.0.1'
31+
version = '1.0.2'
3232
}
3333

3434
java {

src/test/java/software/amazon/cloudwatchlogs/emf/logger/MetricsLoggerTest.java

+25
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package software.amazon.cloudwatchlogs.emf.logger;
1818

1919
import static org.junit.Assert.assertEquals;
20+
import static org.junit.Assert.assertTrue;
2021
import static org.mockito.Mockito.*;
2122

2223
import java.util.List;
@@ -176,6 +177,30 @@ public void testUseDefaultEnvironmentOnResolverException() {
176177
expectDimension("ServiceType", serviceType);
177178
}
178179

180+
@Test
181+
public void testNoDefaultDimensions() {
182+
MetricsLogger logger = new MetricsLogger(envProvider);
183+
logger.setDimensions();
184+
logger.putMetric("Count", 1);
185+
logger.flush();
186+
List<DimensionSet> dimensions = sink.getContext().getDimensions();
187+
188+
assertTrue(dimensions.size() == 0);
189+
assertTrue(sink.getLogEvents().size() == 1);
190+
191+
String logEvent = sink.getLogEvents().get(0);
192+
assertTrue(logEvent.contains("\"Dimensions\":[]"));
193+
}
194+
195+
@Test
196+
public void testNoDefaultDimensionsAfterSetDimension() {
197+
MetricsLogger logger = new MetricsLogger(envProvider);
198+
199+
logger.setDimensions(DimensionSet.of("Name", "Test"));
200+
logger.flush();
201+
expectDimension("Name", "Test");
202+
}
203+
179204
private void expectDimension(String dimension, String value) {
180205
List<DimensionSet> dimensions = sink.getContext().getDimensions();
181206
assertEquals(dimensions.size(), 1);

src/test/java/software/amazon/cloudwatchlogs/emf/model/MetricDirectiveTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,15 @@ public void testPutMultipleDimensionSets() throws JsonProcessingException {
114114
"{\"Dimensions\":[[\"Region\"],[\"Instance\"]],\"Metrics\":[],\"Namespace\":\"aws-embedded-metrics\"}");
115115
}
116116

117+
@Test
118+
public void testGetDimensionAfterSetDimensions() {
119+
MetricDirective metricDirective = new MetricDirective();
120+
metricDirective.setDefaultDimensions(DimensionSet.of("Dim", "Default"));
121+
metricDirective.setDimensions(Arrays.asList(DimensionSet.of("Name", "Test")));
122+
123+
assertEquals(1, metricDirective.getAllDimensions().size());
124+
}
125+
117126
@Test
118127
public void testPutDimensionsWhenDefaultDimensionsDefined() throws JsonProcessingException {
119128
MetricDirective metricDirective = new MetricDirective();

src/test/java/software/amazon/cloudwatchlogs/emf/sinks/SinkShunt.java

+12
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,30 @@
1616

1717
package software.amazon.cloudwatchlogs.emf.sinks;
1818

19+
import java.util.List;
1920
import software.amazon.cloudwatchlogs.emf.model.MetricsContext;
2021

2122
public class SinkShunt implements ISink {
2223

2324
private MetricsContext context;
2425

26+
private List<String> logEvents;
27+
2528
@Override
2629
public void accept(MetricsContext context) {
2730
this.context = context;
31+
try {
32+
this.logEvents = context.serialize();
33+
} catch (Exception e) {
34+
throw new RuntimeException(e);
35+
}
2836
}
2937

3038
public MetricsContext getContext() {
3139
return context;
3240
}
41+
42+
public List<String> getLogEvents() {
43+
return this.logEvents;
44+
}
3345
}

0 commit comments

Comments
 (0)