X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fcounter%2FTestData.java;h=19443ac4ab192b90b0c4232bc4da9c94bcef79f5;hb=e94a327bebf468e2bcb5b686346a18a1409ec254;hp=f795e7765f6dba7e69ce24b01ddf81c0c8873660;hpb=f9106e5166ce84caa2a910aa21fb41efaebcc73f;p=demos%2Fkafka%2Fwordcount diff --git a/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java b/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java index f795e77..19443ac 100644 --- a/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java +++ b/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java @@ -1,7 +1,14 @@ package de.juplo.kafka.wordcount.counter; +import org.apache.kafka.common.header.Header; +import org.apache.kafka.common.header.Headers; +import org.apache.kafka.streams.KeyValue; + import java.util.List; +import java.util.Map; +import java.util.Properties; import java.util.function.BiConsumer; +import java.util.stream.Collectors; import static org.assertj.core.api.Assertions.assertThat; @@ -45,7 +52,7 @@ class TestData Word.of("klaus","s")); } - static void assertExpectedResult(List receivedMessages) + static void assertExpectedResult(List> receivedMessages) { assertThat(receivedMessages).hasSize(11); assertThat(receivedMessages).containsSubsequence( @@ -66,40 +73,65 @@ class TestData expectedMessages[9]); // Boäh } - static Message[] expectedMessages = + static KeyValue[] expectedMessages = new KeyValue[] { - Message.of( - "{\"user\":\"peter\",\"word\":\"Hallo\"}", - "{\"user\":\"peter\",\"word\":\"Hallo\",\"count\":1}"), - Message.of( - "{\"user\":\"klaus\",\"word\":\"Müsch\"}", - "{\"user\":\"klaus\",\"word\":\"Müsch\",\"count\":1}"), - Message.of( - "{\"user\":\"peter\",\"word\":\"Welt\"}", - "{\"user\":\"peter\",\"word\":\"Welt\",\"count\":1}"), - Message.of( - "{\"user\":\"klaus\",\"word\":\"Müsch\"}", - "{\"user\":\"klaus\",\"word\":\"Müsch\",\"count\":2}"), - Message.of( - "{\"user\":\"klaus\",\"word\":\"s\"}", - "{\"user\":\"klaus\",\"word\":\"s\",\"count\":1}"), - Message.of( - "{\"user\":\"peter\",\"word\":\"Boäh\"}", - "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":1}"), - Message.of( - "{\"user\":\"peter\",\"word\":\"Welt\"}", - "{\"user\":\"peter\",\"word\":\"Welt\",\"count\":2}"), - Message.of( - "{\"user\":\"peter\",\"word\":\"Boäh\"}", - "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":2}"), - Message.of( - "{\"user\":\"klaus\",\"word\":\"s\"}", - "{\"user\":\"klaus\",\"word\":\"s\",\"count\":2}"), - Message.of( - "{\"user\":\"peter\",\"word\":\"Boäh\"}", - "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":3}"), - Message.of( - "{\"user\":\"klaus\",\"word\":\"s\"}", - "{\"user\":\"klaus\",\"word\":\"s\",\"count\":3}"), + KeyValue.pair( + Word.of("peter","Hallo"), + WordCounter.of("peter","Hallo",1)), + KeyValue.pair( + Word.of("klaus","Müsch"), + WordCounter.of("klaus","Müsch",1)), + KeyValue.pair( + Word.of("peter","Welt"), + WordCounter.of("peter","Welt",1)), + KeyValue.pair( + Word.of("klaus","Müsch"), + WordCounter.of("klaus","Müsch",2)), + KeyValue.pair( + Word.of("klaus","s"), + WordCounter.of("klaus","s",1)), + KeyValue.pair( + Word.of("peter","Boäh"), + WordCounter.of("peter","Boäh",1)), + KeyValue.pair( + Word.of("peter","Welt"), + WordCounter.of("peter","Welt",2)), + KeyValue.pair( + Word.of("peter","Boäh"), + WordCounter.of("peter","Boäh",2)), + KeyValue.pair( + Word.of("klaus","s"), + WordCounter.of("klaus","s",2)), + KeyValue.pair( + Word.of("peter","Boäh"), + WordCounter.of("peter","Boäh",3)), + KeyValue.pair( + Word.of("klaus","s"), + WordCounter.of("klaus","s",3)), }; + + static Map convertToMap(Properties properties) + { + return properties + .entrySet() + .stream() + .collect( + Collectors.toMap( + entry -> (String)entry.getKey(), + entry -> entry.getValue() + )); + } + + static String parseHeader(Headers headers, String key) + { + Header header = headers.lastHeader(key); + if (header == null) + { + return key + "=null"; + } + else + { + return key + "=" + new String(header.value()); + } + } }