X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fcounter%2FCounterApplicationIT.java;h=78d103c282fbe7c4857220d6ca581cdc89264189;hb=e94a327bebf468e2bcb5b686346a18a1409ec254;hp=158c6ae4b6622d6d1af265d59e549f398186111a;hpb=ff29d17cc2b1fa9b465c1874e387c23b7d7adc4e;p=demos%2Fkafka%2Fwordcount diff --git a/src/test/java/de/juplo/kafka/wordcount/counter/CounterApplicationIT.java b/src/test/java/de/juplo/kafka/wordcount/counter/CounterApplicationIT.java index 158c6ae..78d103c 100644 --- a/src/test/java/de/juplo/kafka/wordcount/counter/CounterApplicationIT.java +++ b/src/test/java/de/juplo/kafka/wordcount/counter/CounterApplicationIT.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.streams.KeyValue; import org.apache.kafka.streams.state.KeyValueBytesStoreSupplier; import org.apache.kafka.streams.state.Stores; import org.junit.jupiter.api.BeforeEach; @@ -26,10 +27,13 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Properties; -import java.util.stream.Collectors; import static de.juplo.kafka.wordcount.counter.CounterApplicationIT.*; -import static org.awaitility.Awaitility.*; +import static de.juplo.kafka.wordcount.counter.TestData.convertToMap; +import static de.juplo.kafka.wordcount.counter.TestData.parseHeader; +import static org.awaitility.Awaitility.await; +import static org.springframework.kafka.support.mapping.AbstractJavaTypeMapper.*; +import static org.springframework.kafka.support.mapping.AbstractJavaTypeMapper.DEFAULT_CLASSID_FIELD_NAME; @SpringBootTest( @@ -75,16 +79,21 @@ public class CounterApplicationIT @RequiredArgsConstructor static class Consumer { - private final List received = new LinkedList<>(); + private final List> received = new LinkedList<>(); @KafkaListener(groupId = "TEST", topics = TOPIC_OUT) - public synchronized void receive(ConsumerRecord record) + public synchronized void receive(ConsumerRecord record) { - log.debug("Received message: {}", record); - received.add(Message.of(record.key(),record.value())); + log.debug( + "Received message: {} -> {}, key: {}, value: {}", + record.key(), + record.value(), + parseHeader(record.headers(), KEY_DEFAULT_CLASSID_FIELD_NAME), + parseHeader(record.headers(), DEFAULT_CLASSID_FIELD_NAME)); + received.add(KeyValue.pair(record.key(),record.value())); } - synchronized List getReceivedMessages() + synchronized List> getReceivedMessages() { return received; } @@ -96,14 +105,7 @@ public class CounterApplicationIT @Bean ProducerFactory producerFactory(Properties streamProcessorProperties) { - Map propertyMap = streamProcessorProperties - .entrySet() - .stream() - .collect( - Collectors.toMap( - entry -> (String)entry.getKey(), - entry -> entry.getValue() - )); + Map propertyMap = convertToMap(streamProcessorProperties); propertyMap.put( ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, @@ -119,14 +121,7 @@ public class CounterApplicationIT ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory( Properties streamProcessorProperties) { - Map propertyMap = streamProcessorProperties - .entrySet() - .stream() - .collect( - Collectors.toMap( - entry -> (String)entry.getKey(), - entry -> entry.getValue() - )); + Map propertyMap = convertToMap(streamProcessorProperties); propertyMap.put( ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,