Skip to content

Commit f9ca534

Browse files
chessvivekjszwedko
andauthored
Fix non-deterministic test writer_readingMultipleTopics_shouldBatchSeparate() (#28)
* fix flaky test writer_readingMultipleTopics_shouldBatchSeparate HashMap iteration order is non-deterministic. Signed-off-by: Jesse Szwedko <[email protected]> Co-authored-by: Jesse Szwedko <[email protected]>
1 parent 3f5a95a commit f9ca534

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/test/java/com/datadoghq/connect/logs/sink/DatadogLogsApiWriterTest.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ This product includes software developed at Datadog (https://www.datadoghq.com/)
1818
import java.io.IOException;
1919
import java.util.ArrayList;
2020
import java.util.HashMap;
21+
import java.util.HashSet;
2122
import java.util.List;
2223
import java.util.Map;
24+
import java.util.Set;
2325

2426
public class DatadogLogsApiWriterTest {
2527
private Map<String, String> props;
@@ -92,8 +94,13 @@ public void writer_batchAboveMax_shouldSendSeparate() throws IOException {
9294
RequestInfo request1 = restHelper.getCapturedRequests().get(0);
9395
RequestInfo request2 = restHelper.getCapturedRequests().get(1);
9496

95-
Assert.assertEquals("[{\"message\":\"someValue1\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic\"}]", request1.getBody());
96-
Assert.assertEquals("[{\"message\":\"someValue2\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic\"}]", request2.getBody());
97+
Set<String> requestBodySetActual = new HashSet<>();
98+
requestBodySetActual.add(request1.getBody());
99+
requestBodySetActual.add(request2.getBody());
100+
Set<String> requestBodySetExpected = new HashSet<>();
101+
requestBodySetExpected.add("[{\"message\":\"someValue1\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic\"}]");
102+
requestBodySetExpected.add("[{\"message\":\"someValue2\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic\"}]");
103+
Assert.assertEquals(requestBodySetExpected, requestBodySetActual);
97104
}
98105

99106
@Test
@@ -110,8 +117,13 @@ public void writer_readingMultipleTopics_shouldBatchSeparate() throws IOExceptio
110117
RequestInfo request1 = restHelper.getCapturedRequests().get(0);
111118
RequestInfo request2 = restHelper.getCapturedRequests().get(1);
112119

113-
Assert.assertEquals("[{\"message\":\"someValue1\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic1\"}]", request2.getBody());
114-
Assert.assertEquals("[{\"message\":\"someValue2\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic2\"}]", request1.getBody());
120+
Set<String> requestBodySetActual = new HashSet<>();
121+
requestBodySetActual.add(request1.getBody());
122+
requestBodySetActual.add(request2.getBody());
123+
Set<String> requestBodySetExpected = new HashSet<>();
124+
requestBodySetExpected.add("[{\"message\":\"someValue1\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic1\"}]");
125+
requestBodySetExpected.add("[{\"message\":\"someValue2\",\"ddsource\":\"kafka-connect\",\"ddtags\":\"topic:someTopic2\"}]");
126+
Assert.assertEquals(requestBodySetExpected, requestBodySetActual);
115127
}
116128

117129
@Test(expected = IOException.class)

0 commit comments

Comments
 (0)