query: 2.0.0 - (RED) Formulated expectations for JSON-values
[demos/kafka/wordcount] / src / test / java / de / juplo / kafka / wordcount / query / TestData.java
index 82f7217..1fe34d9 100644 (file)
@@ -1,13 +1,12 @@
 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.users.TestUserData;
 import org.apache.kafka.streams.KeyValue;
-import org.apache.kafka.streams.state.ReadOnlyKeyValueStore;
 
 import java.util.Arrays;
+import java.util.function.Function;
 import java.util.stream.Stream;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -15,7 +14,6 @@ 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";
 
@@ -29,27 +27,15 @@ class TestData
                return Stream.of(USERS_MESSAGES);
        }
 
-       static void assertExpectedState(ReadOnlyKeyValueStore<String, String> store)
+       static void assertExpectedState(Function<String, UserRanking> function)
        {
-               assertRankingEqualsRankingFromLastMessage(PETER, store.get(PETER));
-               assertRankingEqualsRankingFromLastMessage(KLAUS, store.get(KLAUS));
+               assertRankingEqualsRankingFromLastMessage(PETER, function.apply(PETER));
+               assertRankingEqualsRankingFromLastMessage(KLAUS, function.apply(KLAUS));
        }
 
-       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)
-       {
-               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)