package de.juplo.kafka.chat.backend;
-import de.juplo.kafka.chat.backend.api.ChatRoomInfoTo;
-import de.juplo.kafka.chat.backend.api.MessageTo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
import org.testcontainers.junit.jupiter.Testcontainers;
-import reactor.util.retry.Retry;
-
-import java.time.Duration;
-import java.util.stream.IntStream;
@Testcontainers
private final AbstractContainerTemplates containerTemplates;
- @Test
- void test() throws InterruptedException
+ AbstractHandoverIT(AbstractContainerTemplates containerTemplates)
{
- ChatRoomInfoTo chatRoom = createChatRoom("bar").block();
- User user = new User("nerd");
- IntStream
- .rangeClosed(1,100)
- .mapToObj(i ->sendMessage(chatRoom, user, "Message #" + i))
- .map(result -> result
- .map(MessageTo::toString)
- .retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1)))
- .block())
- .forEach(result -> log.info("{}", result));
-
- receiveMessages(chatRoom)
- .take(100)
- .doOnNext(message -> log.info("message: {}", message))
- .then()
- .block();
+ this.containerTemplates = containerTemplates;
}
+
@BeforeEach
void setUp() throws Exception
{