projects
/
demos
/
kafka
/
wordcount
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
top10: 1.2.1 - Added expectations for the final state in the last message
[demos/kafka/wordcount]
/
src
/
test
/
java
/
de
/
juplo
/
kafka
/
wordcount
/
top10
/
Top10StreamProcessorTopologyTest.java
diff --git
a/src/test/java/de/juplo/kafka/wordcount/top10/Top10StreamProcessorTopologyTest.java
b/src/test/java/de/juplo/kafka/wordcount/top10/Top10StreamProcessorTopologyTest.java
index
86314e5
..
200b6f4
100644
(file)
--- a/
src/test/java/de/juplo/kafka/wordcount/top10/Top10StreamProcessorTopologyTest.java
+++ b/
src/test/java/de/juplo/kafka/wordcount/top10/Top10StreamProcessorTopologyTest.java
@@
-5,6
+5,8
@@
import org.apache.kafka.streams.TestInputTopic;
import org.apache.kafka.streams.TestOutputTopic;
import org.apache.kafka.streams.Topology;
import org.apache.kafka.streams.TopologyTestDriver;
import org.apache.kafka.streams.TestOutputTopic;
import org.apache.kafka.streams.Topology;
import org.apache.kafka.streams.TopologyTestDriver;
+import org.apache.kafka.streams.state.KeyValueStore;
+import org.apache.kafka.streams.state.Stores;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@
-27,19
+29,23
@@
import static org.springframework.kafka.support.mapping.AbstractJavaTypeMapper.K
@Slf4j
public class Top10StreamProcessorTopologyTest
{
@Slf4j
public class Top10StreamProcessorTopologyTest
{
- public final static String IN = "TEST-IN";
- public final static String OUT = "TEST-OUT";
+ public static final String IN = "TEST-IN";
+ public static final String OUT = "TEST-OUT";
+ public static final String STORE_NAME = "TOPOLOGY-TEST";
TopologyTestDriver testDriver;
TestInputTopic<Key, Entry> in;
TopologyTestDriver testDriver;
TestInputTopic<Key, Entry> in;
- TestOutputTopic<
String
, Ranking> out;
+ TestOutputTopic<
User
, Ranking> out;
@BeforeEach
public void setUp()
{
@BeforeEach
public void setUp()
{
- Topology topology = Top10StreamProcessor.buildTopology(IN, OUT);
+ Topology topology = Top10StreamProcessor.buildTopology(
+ IN,
+ OUT,
+ Stores.inMemoryKeyValueStore(STORE_NAME));
Top10ApplicationConfiguration applicationConfiguriation =
new Top10ApplicationConfiguration();
Top10ApplicationConfiguration applicationConfiguriation =
new Top10ApplicationConfiguration();
@@
-61,7
+67,7
@@
public class Top10StreamProcessorTopologyTest
out = testDriver.createOutputTopic(
OUT,
out = testDriver.createOutputTopic(
OUT,
- (JsonDeserializer<
String
>)keySerde.deserializer(),
+ (JsonDeserializer<
User
>)keySerde.deserializer(),
(JsonDeserializer<Ranking>)valueSerde.deserializer());
}
(JsonDeserializer<Ranking>)valueSerde.deserializer());
}
@@
-76,7
+82,7
@@
public class Top10StreamProcessorTopologyTest
Key.of(kv.key.getUser(), kv.key.getWord()),
Entry.of(kv.value.getWord(), kv.value.getCounter())));
Key.of(kv.key.getUser(), kv.key.getWord()),
Entry.of(kv.value.getWord(), kv.value.getCounter())));
- MultiValueMap<
String
, Ranking> receivedMessages = new LinkedMultiValueMap<>();
+ MultiValueMap<
User
, Ranking> receivedMessages = new LinkedMultiValueMap<>();
out
.readRecordsToList()
.forEach(record ->
out
.readRecordsToList()
.forEach(record ->
@@
-91,6
+97,11
@@
public class Top10StreamProcessorTopologyTest
});
TestData.assertExpectedMessages(receivedMessages);
});
TestData.assertExpectedMessages(receivedMessages);
+
+ TestData.assertExpectedLastMessagesForUsers(receivedMessages);
+
+ KeyValueStore<User, Ranking> store = testDriver.getKeyValueStore(STORE_NAME);
+ TestData.assertExpectedState(store);
}
@AfterEach
}
@AfterEach