X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fquery%2FTestData.java;h=44162a0d9ab760ca2e9c9a607661f91e99511842;hb=d835b70fc4d49a50f42da9c21b3de1dbcd18cbaf;hp=3fcd7c9638baca6c839238762a2a74b112ae9513;hpb=cfd58858b9861e8d0e4c1d30896505a50f63255b;p=demos%2Fkafka%2Fwordcount diff --git a/src/test/java/de/juplo/kafka/wordcount/query/TestData.java b/src/test/java/de/juplo/kafka/wordcount/query/TestData.java index 3fcd7c9..44162a0 100644 --- a/src/test/java/de/juplo/kafka/wordcount/query/TestData.java +++ b/src/test/java/de/juplo/kafka/wordcount/query/TestData.java @@ -1,8 +1,8 @@ package de.juplo.kafka.wordcount.query; -import com.fasterxml.jackson.databind.ObjectMapper; import de.juplo.kafka.wordcount.top10.TestEntry; import de.juplo.kafka.wordcount.top10.TestRanking; +import de.juplo.kafka.wordcount.top10.TestUser; import de.juplo.kafka.wordcount.users.TestUserData; import org.apache.kafka.streams.KeyValue; @@ -10,16 +10,16 @@ import java.util.Arrays; import java.util.function.Function; import java.util.stream.Stream; +import static de.juplo.kafka.wordcount.query.QueryStreamProcessor.STATS_TYPE; import static org.assertj.core.api.Assertions.assertThat; class TestData { - static final ObjectMapper objectMapper = new ObjectMapper(); - static final String PETER = "peter"; - static final String KLAUS = "klaus"; + static final TestUser PETER = TestUser.of(STATS_TYPE, "peter"); + static final TestUser KLAUS = TestUser.of(STATS_TYPE, "klaus"); - static final Stream> getTop10Messages() + static final Stream> getTop10Messages() { return Stream.of(TOP10_MESSAGES); } @@ -29,38 +29,21 @@ class TestData return Stream.of(USERS_MESSAGES); } - static void assertExpectedState(Function function) + static void assertExpectedState(Function function) { - assertRankingEqualsRankingFromLastMessage(PETER, function.apply(PETER)); - assertRankingEqualsRankingFromLastMessage(KLAUS, function.apply(KLAUS)); + assertRankingEqualsRankingFromLastMessage(PETER.getChannel(), function.apply(PETER.getChannel())); + assertRankingEqualsRankingFromLastMessage(KLAUS.getChannel(), function.apply(KLAUS.getChannel())); } - private static void assertRankingEqualsRankingFromLastMessage(String user, String userRankingJson) + private static void assertRankingEqualsRankingFromLastMessage(String user, UserRanking rankingJson) { - assertThat(userRankingOf(userRankingJson)).isEqualTo(getLastMessageFor(user)); - } - - private static UserRanking userRankingOf(String json) - { - if (json == null) - { - return null; - } - - try - { - return objectMapper.readValue(json, UserRanking.class); - } - catch (Exception e) - { - throw new RuntimeException(e); - } + assertThat(rankingJson).isEqualTo(getLastMessageFor(user)); } private static UserRanking getLastMessageFor(String user) { return getTop10Messages() - .filter(kv -> kv.key.equals(user)) + .filter(kv -> kv.key.getChannel().equals(user)) .map(kv -> kv.value) .map(testRanking -> userRankingFor(user, testRanking)) .reduce(null, (left, right) -> right); @@ -87,12 +70,11 @@ class TestData private static Entry entryOf(TestEntry testEntry) { Entry entry = new Entry(); - entry.setWord(testEntry.getWord()); - entry.setCount(testEntry.getCount()); + entry.setKey(testEntry.getKey()); + entry.setCounter(testEntry.getCounter()); return entry; } - - private static KeyValue[] TOP10_MESSAGES = new KeyValue[] + private static KeyValue[] TOP10_MESSAGES = new KeyValue[] { KeyValue.pair( // 0 PETER, @@ -155,10 +137,10 @@ class TestData private static KeyValue[] USERS_MESSAGES = new KeyValue[] { KeyValue.pair( - PETER, - TestUserData.of(PETER, "Peter", "Pan", TestUserData.Sex.MALE)), + PETER.getChannel(), + TestUserData.of(PETER.getChannel(), "Peter", "Pan", TestUserData.Sex.MALE)), KeyValue.pair( - KLAUS, - TestUserData.of(KLAUS, "Klaus", "Klüse", TestUserData.Sex.OTHER)), + KLAUS.getChannel(), + TestUserData.of(KLAUS.getChannel(), "Klaus", "Klüse", TestUserData.Sex.OTHER)), }; }