X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Ftop10%2FTestData.java;h=7a3a27edddb2722dae8dbf4f53d59c9ebcddd58f;hb=refs%2Fheads%2Ftop10;hp=4fb229bb88deaab425d2bb5a8b9adea7b105dd57;hpb=5030aed19804a0c48f1968208e176657bdd147de;p=demos%2Fkafka%2Fwordcount diff --git a/src/test/java/de/juplo/kafka/wordcount/top10/TestData.java b/src/test/java/de/juplo/kafka/wordcount/top10/TestData.java index 4fb229b..069f49a 100644 --- a/src/test/java/de/juplo/kafka/wordcount/top10/TestData.java +++ b/src/test/java/de/juplo/kafka/wordcount/top10/TestData.java @@ -4,7 +4,7 @@ import de.juplo.kafka.wordcount.counter.TestCounter; import de.juplo.kafka.wordcount.counter.TestWord; import de.juplo.kafka.wordcount.query.TestEntry; import de.juplo.kafka.wordcount.query.TestRanking; -import de.juplo.kafka.wordcount.query.TestUser; +import de.juplo.kafka.wordcount.query.TestStats; import org.apache.kafka.streams.KeyValue; import org.apache.kafka.streams.state.ReadOnlyKeyValueStore; import org.springframework.util.LinkedMultiValueMap; @@ -20,8 +20,8 @@ class TestData { static final String TYPE_COUNTER = "COUNTER"; - static final TestUser PETER = TestUser.of("peter"); - static final TestUser KLAUS = TestUser.of("klaus"); + static final TestStats PETER = TestStats.of(StatsType.COUNTER.name(), "peter"); + static final TestStats KLAUS = TestStats.of(StatsType.COUNTER.name(), "klaus"); static final Stream> getInputMessages() { @@ -31,83 +31,85 @@ class TestData private static final KeyValue[] INPUT_MESSAGES = new KeyValue[] { new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Hallo"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Hallo"), TestCounter.of("Hallo",1)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, KLAUS.getUser(),"Müsch"), + TestWord.of(TYPE_COUNTER, KLAUS.getChannel(),"Müsch"), TestCounter.of("Müsch",1)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Welt"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Welt"), TestCounter.of("Welt",1)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, KLAUS.getUser(),"Müsch"), + TestWord.of(TYPE_COUNTER, KLAUS.getChannel(),"Müsch"), TestCounter.of("Müsch",2)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, KLAUS.getUser(),"s"), + TestWord.of(TYPE_COUNTER, KLAUS.getChannel(),"s"), TestCounter.of("s",1)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Boäh"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Boäh"), TestCounter.of("Boäh",1)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Welt"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Welt"), TestCounter.of("Welt",2)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Boäh"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Boäh"), TestCounter.of("Boäh",2)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, KLAUS.getUser(),"s"), + TestWord.of(TYPE_COUNTER, KLAUS.getChannel(),"s"), TestCounter.of("s",2)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, PETER.getUser(),"Boäh"), + TestWord.of(TYPE_COUNTER, PETER.getChannel(),"Boäh"), TestCounter.of("Boäh",3)), new KeyValue<>( - TestWord.of(TYPE_COUNTER, KLAUS.getUser(),"s"), + TestWord.of(TYPE_COUNTER, KLAUS.getChannel(),"s"), TestCounter.of("s",3)), }; - static void assertExpectedMessages(MultiValueMap receivedMessages) + static void assertExpectedMessages(MultiValueMap receivedMessages) { expectedMessages().forEach( - (user, rankings) -> - assertThat(receivedMessages.get(user)) + (stats, rankings) -> + assertThat(receivedMessages.get(stats)) .containsExactlyElementsOf(rankings)); } - static void assertExpectedState(ReadOnlyKeyValueStore store) + static void assertExpectedState(ReadOnlyKeyValueStore store) { - assertRankingEqualsRankingFromLastMessage(PETER, store.get(userOf(PETER))); - assertRankingEqualsRankingFromLastMessage(KLAUS, store.get(userOf(KLAUS))); + assertRankingEqualsRankingFromLastMessage(PETER, store.get(statsOf(PETER))); + assertRankingEqualsRankingFromLastMessage(KLAUS, store.get(statsOf(KLAUS))); } - private static User userOf(TestUser user) + private static Stats statsOf(TestStats stats) { - return User.of(user.getUser()); + return Stats.of( + StatsType.valueOf(stats.getType()), + stats.getChannel()); } - static void assertExpectedNumberOfMessagesForUsers(MultiValueMap receivedMessages) + static void assertExpectedNumberOfMessages(MultiValueMap receivedMessages) { - assertThat(countMessagesForUser(PETER, receivedMessages)); - assertThat(countMessagesForUser(KLAUS, receivedMessages)); + assertThat(countMessages(PETER, receivedMessages)); + assertThat(countMessages(KLAUS, receivedMessages)); } - private static int countMessagesForUser(TestUser user, MultiValueMap messagesForUsers) + private static int countMessages(TestStats stats, MultiValueMap messagesFor) { - return messagesForUsers.get(user) == null + return messagesFor.get(stats) == null ? 0 - : messagesForUsers.get(user).size(); + : messagesFor.get(stats).size(); } - static void assertExpectedLastMessagesForUsers(MultiValueMap receivedMessages) + static void assertExpectedLastMessages(MultiValueMap receivedMessages) { assertRankingEqualsRankingFromLastMessage(PETER, getLastMessageFor(PETER, receivedMessages)); assertRankingEqualsRankingFromLastMessage(KLAUS, getLastMessageFor(KLAUS, receivedMessages)); } - private static void assertRankingEqualsRankingFromLastMessage(TestUser user, Ranking ranking) + private static void assertRankingEqualsRankingFromLastMessage(TestStats stats, Ranking ranking) { TestRanking testRanking = TestRanking.of(testEntriesOf(ranking.getEntries())); - assertRankingEqualsRankingFromLastMessage(user, testRanking); + assertRankingEqualsRankingFromLastMessage(stats, testRanking); } private static TestEntry[] testEntriesOf(Entry... entries) @@ -122,25 +124,25 @@ class TestData .toArray(size -> new TestEntry[size]); } - private static void assertRankingEqualsRankingFromLastMessage(TestUser user, TestRanking ranking) + private static void assertRankingEqualsRankingFromLastMessage(TestStats stats, TestRanking ranking) { - assertThat(ranking).isEqualTo(getLastMessageFor(user)); + assertThat(ranking).isEqualTo(getLastMessageFor(stats)); } - private static TestRanking getLastMessageFor(TestUser user) + private static TestRanking getLastMessageFor(TestStats stats) { - return getLastMessageFor(user, expectedMessages()); + return getLastMessageFor(stats, expectedMessages()); } - private static TestRanking getLastMessageFor(TestUser user, MultiValueMap messagesForUsers) + private static TestRanking getLastMessageFor(TestStats stats, MultiValueMap messagesFor) { - return messagesForUsers - .get(user) + return messagesFor + .get(stats) .stream() .reduce(null, (left, right) -> right); } - private static KeyValue[] EXPECTED_MESSAGES = new KeyValue[] + private static KeyValue[] EXPECTED_MESSAGES = new KeyValue[] { KeyValue.pair( // 0 PETER, @@ -200,9 +202,9 @@ class TestData TestEntry.of("Müsch", 2l))), }; - private static MultiValueMap expectedMessages() + private static MultiValueMap expectedMessages() { - MultiValueMap expectedMessages = new LinkedMultiValueMap<>(); + MultiValueMap expectedMessages = new LinkedMultiValueMap<>(); Stream .of(EXPECTED_MESSAGES) .forEach(keyValue -> expectedMessages.add(keyValue.key, keyValue.value));