projects
/
demos
/
kafka
/
chat
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WIP:test: `*ConfigurationIT` asserts, if restored messages can be seen
[demos/kafka/chat]
/
src
/
test
/
java
/
de
/
juplo
/
kafka
/
chat
/
backend
/
AbstractHandoverIT.java
diff --git
a/src/test/java/de/juplo/kafka/chat/backend/AbstractHandoverIT.java
b/src/test/java/de/juplo/kafka/chat/backend/AbstractHandoverIT.java
index
bac07ff
..
533b55a
100644
(file)
--- a/
src/test/java/de/juplo/kafka/chat/backend/AbstractHandoverIT.java
+++ b/
src/test/java/de/juplo/kafka/chat/backend/AbstractHandoverIT.java
@@
-3,7
+3,9
@@
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 de.juplo.kafka.chat.backend.api.ChatRoomInfoTo;
import de.juplo.kafka.chat.backend.api.MessageTo;
import lombok.extern.slf4j.Slf4j;
+import org.awaitility.Awaitility;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@
-13,6
+15,7
@@
import pl.rzrz.assertj.reactor.Assertions;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import java.time.Duration;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.List;
import java.util.concurrent.CompletableFuture;
@@
-34,9
+37,14
@@
public abstract class AbstractHandoverIT
}
}
+ @Disabled
@Test
void test() throws InterruptedException
{
@Test
void test() throws InterruptedException
{
+ log.info("Starting backend-1...");
+ containers.startBackend(containers.backend1, new TestWriter[0]);
+ log.info("backend-1 started!");
+
ChatRoomInfoTo[] chatRooms = Flux
.range(0, NUM_CHATROOMS)
.flatMap(i -> createChatRoom("room-" + i))
ChatRoomInfoTo[] chatRooms = Flux
.range(0, NUM_CHATROOMS)
.flatMap(i -> createChatRoom("room-" + i))
@@
-66,8
+74,9
@@
public abstract class AbstractHandoverIT
"Received message: {}",
message));
"Received message: {}",
message));
- log.info("Sleeping for 3 seconds...");
- Thread.sleep(3000);
+ log.info("Starting backend-2...");
+ containers.startBackend(containers.backend2, testWriters);
+ log.info("backend-2 started!");
for (int i = 0; i < NUM_CLIENTS; i++)
{
for (int i = 0; i < NUM_CLIENTS; i++)
{
@@
-76,9
+85,16
@@
public abstract class AbstractHandoverIT
log.info("Joined TestWriter {}", testWriters[i].user);
}
log.info("Joined TestWriter {}", testWriters[i].user);
}
- // Yield the work, so that the last messages can be received
- Thread.sleep(500);
+ Awaitility
+ .await()
+ .atMost(Duration.ofSeconds(30))
+ .untilAsserted(() -> assertAllSentMessagesReceived(testWriters, testListener));
+ }
+ private void assertAllSentMessagesReceived(
+ TestWriter[] testWriters,
+ TestListener testListener)
+ {
for (int i = 0; i < NUM_CLIENTS; i++)
{
TestWriter testWriter = testWriters[i];
for (int i = 0; i < NUM_CLIENTS; i++)
{
TestWriter testWriter = testWriters[i];