blob: 635216c4b30b8debc53655b99e7726637b8f3154 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* license agreements; and to You under the Apache License, version 2.0:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* This file is part of the Apache Pekko project, which was derived from Akka.
*/
/*
* Copyright (C) 2014 - 2016 Softwaremill <https://softwaremill.com>
* Copyright (C) 2016 - 2020 Lightbend Inc. <https://www.lightbend.com>
*/
package docs.javadsl;
// #testcontainers-settings
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.kafka.testkit.KafkaTestkitTestcontainersSettings;
import org.apache.pekko.kafka.testkit.TestcontainersKafkaTest;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.TestInstance;
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class TestkitTestcontainersTest extends TestcontainersKafkaTest {
private static final ActorSystem system = ActorSystem.create("TestkitTestcontainersTest");
private static KafkaTestkitTestcontainersSettings testcontainersSettings =
KafkaTestkitTestcontainersSettings.create(system)
.withNumBrokers(3)
.withInternalTopicsReplicationFactor(2)
.withConfigureKafkaConsumer(
brokerContainers ->
brokerContainers.forEach(
b -> b.withEnv("KAFKA_AUTO_CREATE_TOPICS_ENABLE", "false")));
TestkitTestcontainersTest() {
// this will only start a new cluster if it has not already been started.
//
// you must stop the cluster in the afterClass implementation if you want to create a cluster
// per test class
// using (TestInstance.Lifecycle.PER_CLASS)
super(system, testcontainersSettings);
}
// ...
// omit this implementation if you want the cluster to stay up for all your tests
@AfterAll
void afterClass() {
TestcontainersKafkaTest.stopKafka();
}
}
// #testcontainers-settings