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=394ba1b3364f64b509a932ec418742b40d0cccfa;hpb=560fa1246353ed9b41ed9afb549b6603d554f5d4;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 394ba1b3..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,18 +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) + static void joinConsumerTasks( + @Autowired Consumer dataChannelConsumer, + @Autowired Consumer infoChannelConsumer, + @Autowired ChannelTaskRunner channelTaskRunner) + throws InterruptedException { - KafkaTestUtils.joinConsumerTasks(consumerTaskRunner); + dataChannelConsumer.wakeup(); + infoChannelConsumer.wakeup(); + channelTaskRunner.joinChannels(); } }