test: HandoverIT-POC - Listener/Writer remember received/sent messages
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / TestWriter.java
index 267519e..559cd36 100644 (file)
@@ -14,6 +14,8 @@ import reactor.util.retry.Retry;
 import java.nio.charset.Charset;
 import java.time.Duration;
 import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.concurrent.ThreadLocalRandom;
 
 
@@ -44,11 +46,15 @@ public class TestWriter implements Runnable
         .flatMap(message -> sendMessage(chatRoom, message)
             .delayElement(Duration.ofMillis(ThreadLocalRandom.current().nextLong(500, 1500)))
             .retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1))))
-        .doOnNext(message -> log.info(
-            "{} sent a message to {}: {}",
-            user,
-            chatRoom,
-            message))
+        .doOnNext(message ->
+        {
+          sentMessages.add(message);
+          log.info(
+              "{} sent a message to {}: {}",
+             user,
+             chatRoom,
+             message);
+        })
         .doOnError(throwable ->
         {
           WebClientResponseException e = (WebClientResponseException)throwable.getCause();
@@ -93,6 +99,8 @@ public class TestWriter implements Runnable
   private final ChatRoomInfoTo chatRoom;
   private final User user;
 
+  final List<MessageTo> sentMessages = new LinkedList<>();
+
   volatile boolean running = true;