X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fimplementation%2Fkafka%2FKafkaChatHomeServiceTest.java;h=ab1cce9c4d6658e96076a8920775b80d3d5c921b;hb=64ede95835a496e84857c38213dbf8ea451878e0;hp=e345a751f73e16bff82264971ebe509cd8cb817f;hpb=f604c5ad4ce13cc7ca90816a0ed58b4de4caeec6;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaChatHomeServiceTest.java b/src/test/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaChatHomeServiceTest.java index e345a751..ab1cce9c 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaChatHomeServiceTest.java +++ b/src/test/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaChatHomeServiceTest.java @@ -2,28 +2,28 @@ package de.juplo.kafka.chat.backend.implementation.kafka; import de.juplo.kafka.chat.backend.domain.ChatHomeServiceWithShardsTest; import lombok.extern.slf4j.Slf4j; +import org.apache.kafka.clients.consumer.Consumer; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration; import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.test.context.EmbeddedKafka; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestPropertySource; import static de.juplo.kafka.chat.backend.domain.ChatHomeServiceWithShardsTest.NUM_SHARDS; import static de.juplo.kafka.chat.backend.implementation.kafka.KafkaChatHomeServiceTest.DATA_TOPIC; import static de.juplo.kafka.chat.backend.implementation.kafka.KafkaChatHomeServiceTest.INFO_TOPIC; -@SpringBootTest( - classes = { +@ContextConfiguration(classes = { KafkaTestUtils.KafkaTestConfiguration.class, KafkaAutoConfiguration.class, TaskExecutionAutoConfiguration.class, - }, - properties = { - "spring.main.allow-bean-definition-overriding=true", + }) +@TestPropertySource(properties = { "chat.backend.services=kafka", "chat.backend.kafka.client-id-PREFIX=TEST", "chat.backend.kafka.bootstrap-servers=${spring.embedded.kafka.brokers}", @@ -34,7 +34,7 @@ import static de.juplo.kafka.chat.backend.implementation.kafka.KafkaChatHomeServ }) @EmbeddedKafka( topics = { INFO_TOPIC, DATA_TOPIC }, - partitions = 10) + partitions = NUM_SHARDS) @Slf4j public class KafkaChatHomeServiceTest extends ChatHomeServiceWithShardsTest { @@ -45,20 +45,24 @@ public class KafkaChatHomeServiceTest extends ChatHomeServiceWithShardsTest @BeforeAll static void sendAndLoadStoredData( @Autowired KafkaTemplate messageTemplate, - @Autowired ConsumerTaskRunner consumerTaskRunner) + @Autowired ChannelTaskRunner channelTaskRunner) { KafkaTestUtils.sendAndLoadStoredData( messageTemplate, INFO_TOPIC, DATA_TOPIC, - consumerTaskRunner); + channelTaskRunner); } @AfterAll static void joinConsumerTasks( - @Autowired ConsumerTaskRunner consumerTaskRunner) + @Autowired Consumer dataChannelConsumer, + @Autowired Consumer infoChannelConsumer, + @Autowired ChannelTaskRunner channelTaskRunner) throws InterruptedException { - KafkaTestUtils.joinConsumerTasks(consumerTaskRunner); + dataChannelConsumer.wakeup(); + infoChannelConsumer.wakeup(); + channelTaskRunner.joinChannels(); } }