1 package de.juplo.kafka.chat.backend;
3 import lombok.extern.slf4j.Slf4j;
4 import org.testcontainers.containers.Container;
5 import org.testcontainers.containers.KafkaContainer;
6 import org.testcontainers.containers.output.Slf4jLogConsumer;
7 import org.testcontainers.containers.wait.strategy.Wait;
8 import org.testcontainers.utility.DockerImageName;
10 import java.io.IOException;
14 class KafkaHandoverITContainers extends AbstractHandoverITContainers
17 void setUpExtra() throws IOException, InterruptedException
21 Container.ExecResult result;
22 result = kafka.execInContainer(
32 "EXIT-CODE={}, STDOUT={}, STDERR={}",
36 result = kafka.execInContainer(
46 "EXIT-CODE={}, STDOUT={}, STDERR={}",
53 private final KafkaContainer kafka =
54 new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:7.4.0"))
56 .withNetworkAliases("kafka")
57 .withListener(() -> "kafka:9999")
59 .waitingFor(Wait.forLogMessage(".*Kafka\\ Server\\ started.*\\n", 1))
60 .withLogConsumer(new Slf4jLogConsumer(log, true).withPrefix("KAFKA"));
64 String[] getBackendCommand()
68 "--chat.backend.instance-id=backend-ID",
69 "--chat.backend.services=kafka",
70 "--chat.backend.kafka.bootstrap-servers=kafka:9999",
71 "--chat.backend.kafka.instance-uri=http://backend-ID:8080",
72 "--chat.backend.kafka.num-partitions=10",
73 "--chat.backend.kafka.client-id-prefix=BID",
74 "--chat.backend.kafka.haproxy-runtime-api=haproxy:8401",
75 "--chat.backend.kafka.haproxy-map=/usr/local/etc/haproxy/sharding.map"