3
3
import io .quarkus .test .common .QuarkusTestResourceLifecycleManager ;
4
4
import org .slf4j .Logger ;
5
5
import org .slf4j .LoggerFactory ;
6
+ import org .testcontainers .containers .Network ;
6
7
import org .testcontainers .containers .output .Slf4jLogConsumer ;
7
8
import org .testcontainers .redpanda .RedpandaContainer ;
8
9
10
+ import java .util .Collections ;
9
11
import java .util .Map ;
10
12
11
13
public class KafkaTestContainerManager implements QuarkusTestResourceLifecycleManager {
@@ -15,27 +17,38 @@ public class KafkaTestContainerManager implements QuarkusTestResourceLifecycleMa
15
17
16
18
@ Override
17
19
public Map <String , String > start () {
18
- log .info ("Starting the Kafka Test Container" );
19
- kafka = new RedpandaContainer ("docker.redpanda.com/vectorized/redpanda" );
20
-
21
- kafka .addEnv ("KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR" , "1" );
22
- kafka .addEnv ("KAFKA_TRANSACTION_STATE_LOG_MIN_ISR" , "1" );
23
- kafka .withLogConsumer (new Slf4jLogConsumer (LoggerFactory .getLogger ("kafka-testcontainer" )));
24
- kafka .start ();
25
-
26
- String bootstrapServers = kafka .getBootstrapServers ();
27
-
28
- System .setProperty ("bootstrap.servers" , bootstrapServers );
29
-
30
- return Map .of (
31
- "bootstrap.servers" , bootstrapServers ,
32
- "registry.events.kafka.config.bootstrap.servers" , bootstrapServers ,
33
- "registry.kafkasql.bootstrap.servers" , bootstrapServers );
20
+ if (!Boolean .parseBoolean (System .getProperty ("cluster.tests" ))) {
21
+
22
+ log .info ("Starting the Kafka Test Container" );
23
+ kafka = new RedpandaContainer ("docker.redpanda.com/vectorized/redpanda" );
24
+
25
+ kafka .addEnv ("KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR" , "1" );
26
+ kafka .addEnv ("KAFKA_TRANSACTION_STATE_LOG_MIN_ISR" , "1" );
27
+ kafka .withListener (() -> "redpanda:19092" );
28
+ kafka .withNetwork (Network .SHARED );
29
+ kafka .withLogConsumer (new Slf4jLogConsumer (LoggerFactory .getLogger ("kafka-testcontainer" )));
30
+ kafka .start ();
31
+
32
+ String externalBootstrapServers = kafka .getBootstrapServers ();
33
+
34
+ String bootstrapServers = "redpanda:19092" ;
35
+ System .setProperty ("bootstrap.servers.internal" , bootstrapServers );
36
+ System .setProperty ("bootstrap.servers.external" , externalBootstrapServers );
37
+
38
+ return Map .of (
39
+ "bootstrap.servers" , externalBootstrapServers ,
40
+ "registry.events.kafka.config.bootstrap.servers" , externalBootstrapServers ,
41
+ "registry.kafkasql.bootstrap.servers" , externalBootstrapServers );
42
+ } else {
43
+ return Collections .emptyMap ();
44
+ }
34
45
}
35
46
36
47
@ Override
37
48
public void stop () {
38
- log .info ("Stopping the Kafka Test Container" );
39
- kafka .stop ();
49
+ if (kafka != null ) {
50
+ log .info ("Stopping the Kafka Test Container" );
51
+ kafka .stop ();
52
+ }
40
53
}
41
54
}
0 commit comments