1 package de.juplo.kafka.chat.backend;
3 import de.juplo.kafka.chat.backend.api.ChatRoomInfoTo;
4 import de.juplo.kafka.chat.backend.api.MessageTo;
5 import lombok.extern.slf4j.Slf4j;
6 import org.junit.jupiter.api.BeforeEach;
7 import org.junit.jupiter.api.Test;
8 import org.testcontainers.junit.jupiter.Testcontainers;
9 import reactor.util.retry.Retry;
11 import java.time.Duration;
12 import java.util.stream.IntStream;
17 public abstract class AbstractHandoverIT
19 private final AbstractContainerTemplates containerTemplates;
23 void test() throws InterruptedException
25 ChatRoomInfoTo chatRoom = createChatRoom("bar").block();
26 User user = new User("nerd");
29 .mapToObj(i ->sendMessage(chatRoom, user, "Message #" + i))
31 .map(MessageTo::toString)
32 .retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1)))
34 .forEach(result -> log.info("{}", result));
36 receiveMessages(chatRoom)
38 .doOnNext(message -> log.info("message: {}", message))
44 void setUp() throws Exception
46 containerTemplates.setUp();