How to use RedpandaContainer method of org.testcontainers.redpanda.RedpandaContainer class

Best Testcontainers-java code snippet using org.testcontainers.redpanda.RedpandaContainer.RedpandaContainer

Source:KafkaPublisherIntegrationTest.java Github

copy

Full Screen

...37@Testcontainers38class KafkaPublisherIntegrationTest {39 static final String TEST_REALM = "innovation-hub-bergisches-rheinland";40 static final KeycloakContainer KEYCLOAK_CONTAINER;41 static final RedpandaContainer REDPANDA_CONTAINER;42 static final String KAFKA_TOPIC = "event.keycloak.events";43 static final String KAFKA_ADMIN_TOPIC = "event.keycloak.adminevents";44 static {45 Network network = Network.newNetwork();46 REDPANDA_CONTAINER = new RedpandaContainer("docker.redpanda.com/vectorized/redpanda:v22.2.1")47 .withNetwork(network)48 .withNetworkAliases("redpanda");49 REDPANDA_CONTAINER.start();50 List<File> dependencies = Maven.resolver()51 .loadPomFromFile("./pom.xml")52 .resolve("org.apache.kafka:kafka-clients")53 .withTransitivity().asList(File.class);54 KEYCLOAK_CONTAINER = new KeycloakContainer()55 .withLogConsumer(of -> System.out.println(of.getUtf8String()))56 .withNetwork(network)57 .withNetworkAliases("keycloak")58 .withEnv(59 Map.of(60 "KAFKA_TOPIC", KAFKA_TOPIC,61 "KAFKA_ADMIN_TOPIC", KAFKA_ADMIN_TOPIC,62 "KAFKA_BOOTSTRAP_SERVERS", "redpanda:29092",63 "KAFKA_CLIENT_ID", "event-publisher-test"64 ))65 .withProviderClassesFrom("target/classes")66 .withProviderLibsFrom(dependencies)67 .withRealmImportFile("test-realm.json");68 KEYCLOAK_CONTAINER.start();69 }70 // https://github.com/testcontainers/testcontainers-java/blob/master/modules/redpanda/src/main/java/org/testcontainers/redpanda/RedpandaContainer.java71 static class RedpandaContainer extends GenericContainer<RedpandaContainer> {72 private static final String REDPANDA_FULL_IMAGE_NAME = "docker.redpanda.com/vectorized/redpanda";73 private static final DockerImageName REDPANDA_IMAGE = DockerImageName.parse(REDPANDA_FULL_IMAGE_NAME);74 private static final int REDPANDA_PORT = 9092;75 private static final int SCHEMA_REGISTRY_PORT = 8081;76 private static final String STARTER_SCRIPT = "/testcontainers_start.sh";77 public RedpandaContainer(String image) {78 this(DockerImageName.parse(image));79 }80 public RedpandaContainer(DockerImageName imageName) {81 super(imageName);82 imageName.assertCompatibleWith(REDPANDA_IMAGE);83 boolean isLessThanBaseVersion = new ComparableVersion(imageName.getVersionPart()).isLessThan("v22.2.1");84 if (REDPANDA_FULL_IMAGE_NAME.equals(imageName.getUnversionedPart()) && isLessThanBaseVersion) {85 throw new IllegalArgumentException("Redpanda version must be >= v22.2.1");86 }87 withExposedPorts(REDPANDA_PORT, SCHEMA_REGISTRY_PORT);88 withCreateContainerCmdModifier(cmd -> {89 cmd.withEntrypoint("sh");90 });91 waitingFor(Wait.forLogMessage(".*Started Kafka API server.*", 1));92 withCommand("-c", "while [ ! -f " + STARTER_SCRIPT + " ]; do sleep 0.1; done; " + STARTER_SCRIPT);93 }94 @Override...

Full Screen

Full Screen

Source:RedpandaTestcontainerTest.java Github

copy

Full Screen

...27import java.util.concurrent.TimeUnit;28import static org.assertj.core.api.Assertions.assertThat;29import static org.assertj.core.api.Assertions.tuple;30public class RedpandaTestcontainerTest {31 RedpandaContainer redpanda;32 @Before33 public void init() {34 redpanda = new RedpandaContainer("vectorized/redpanda:v22.1.3");35 redpanda.start();36 }37 @After38 public void tearDown() {39 redpanda.stop();40 }41 @Test42 public void testUsage() throws Exception {43 testRedpandaFunctionality(redpanda.getHost() + ":" + redpanda.getMappedPort(9092), 1, 1);44 }45 protected void testRedpandaFunctionality(String bootstrapServers, int partitions, int replicationFactor) throws Exception {46 try (47 AdminClient adminClient = AdminClient.create(48 ImmutableMap.of(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers)49 );50 KafkaProducer<String, String> producer = new KafkaProducer<>(51 ImmutableMap.of(52 ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,53 bootstrapServers,54 ProducerConfig.CLIENT_ID_CONFIG,55 UUID.randomUUID().toString()56 ),57 new StringSerializer(),58 new StringSerializer()59 );60 KafkaConsumer<String, String> consumer = new KafkaConsumer<>(61 ImmutableMap.of(62 ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,63 bootstrapServers,64 ConsumerConfig.GROUP_ID_CONFIG,65 "tc-" + UUID.randomUUID(),66 ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,67 "earliest"68 ),69 new StringDeserializer(),70 new StringDeserializer()71 );72 ) {73 String topicName = "test-" + UUID.randomUUID();74 Collection<NewTopic> topics = Collections.singletonList(new NewTopic(topicName, partitions, (short) replicationFactor));75 adminClient.createTopics(topics).all().get(50, TimeUnit.SECONDS);76 consumer.subscribe(Collections.singletonList(topicName));77 producer.send(new ProducerRecord<>(topicName, "testcontainers", "redpanda")).get();78 Unreliables.retryUntilTrue(79 10,80 TimeUnit.SECONDS,81 () -> {82 ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));83 if (records.isEmpty()) {84 return false;85 }86 assertThat(records)87 .hasSize(1)88 .extracting(ConsumerRecord::topic, ConsumerRecord::key, ConsumerRecord::value)89 .containsExactly(tuple(topicName, "testcontainers", "redpanda"));90 return true;91 }92 );93 consumer.unsubscribe();94 }95 }96 static class RedpandaContainer extends GenericContainer<RedpandaContainer> {97 private static final String STARTER_SCRIPT = "/testcontainers_start.sh";98 public RedpandaContainer(String image) {99 super(image);100 withExposedPorts(9092);101 withCreateContainerCmdModifier(cmd -> {102 cmd.withEntrypoint("sh");103 });104 withCommand("-c", "while [ ! -f " + STARTER_SCRIPT + " ]; do sleep 0.1; done; " + STARTER_SCRIPT);105 waitingFor(Wait.forLogMessage(".*Started Kafka API server.*", 1));106 }107 @Override108 protected void containerIsStarting(InspectContainerResponse containerInfo) {109 super.containerIsStarting(containerInfo);110 String command = "#!/bin/bash\n";111 command += "/usr/bin/rpk redpanda start --check=false --node-id 0 ";112 command += "--kafka-addr PLAINTEXT://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092 ";...

Full Screen

Full Screen

Source:RedpandaService.java Github

copy

Full Screen

...20import org.apache.camel.test.infra.kafka.common.KafkaProperties;21import org.slf4j.Logger;22import org.slf4j.LoggerFactory;23import org.testcontainers.containers.Network;24import org.testcontainers.redpanda.RedpandaContainer;25public class RedpandaService implements KafkaService, ContainerService<RedpandaContainer> {26 private static final Logger LOG = LoggerFactory.getLogger(RedpandaService.class);27 private final RedpandaContainer redpandaContainer;28 public RedpandaService() {29 this("redpanda-" + TestUtils.randomWithRange(1, 100));30 }31 public RedpandaService(String redpandaInstanceName) {32 Network network = Network.newNetwork();33 redpandaContainer = initRedpandaContainer(network, redpandaInstanceName);34 }35 public RedpandaService(RedpandaContainer redpandaContainer) {36 this.redpandaContainer = redpandaContainer;37 }38 protected RedpandaContainer initRedpandaContainer(Network network, String instanceName) {39 return new RedpandaTransactionsEnabledContainer(RedpandaTransactionsEnabledContainer.REDPANDA_CONTAINER);40 }41 protected Integer getKafkaPort() {42 return redpandaContainer.getMappedPort(RedpandaTransactionsEnabledContainer.REDPANDA_PORT);43 }44 @Override45 public String getBootstrapServers() {46 return redpandaContainer.getHost() + ":" + getKafkaPort();47 }48 @Override49 public void registerProperties() {50 System.setProperty(KafkaProperties.KAFKA_BOOTSTRAP_SERVERS, getBootstrapServers());51 }52 @Override53 public void initialize() {54 redpandaContainer.start();55 registerProperties();56 LOG.info("Redpanda bootstrap server running at address {}", getBootstrapServers());57 }58 private boolean stopped() {59 return !redpandaContainer.isRunning();60 }61 @Override62 public void shutdown() {63 LOG.info("Stopping Redpanda container");64 redpandaContainer.stop();65 }66 @Override67 public RedpandaContainer getContainer() {68 return redpandaContainer;69 }70}...

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.Network;2import org.testcontainers.containers.GenericContainer;3import org.testcontainers.containers.wait.strategy.Wait;4import org.testcontainers.utility.DockerImageName;5import org.testcontainers.redpanda.RedpandaContainer;6public class 1 {7 public static void main(String[] args) {8 Network network = Network.newNetwork();9 GenericContainer<?> zookeeper = new GenericContainer<>(DockerImageName.parse("confluentinc/cp-zookeeper:5.5.1"))10 .withNetwork(network)11 .withNetworkAliases("zookeeper")12 .withExposedPorts(2181)13 .waitingFor(Wait.forLogMessage(".*binding to port

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.Network;3import org.testcontainers.containers.wait.strategy.Wait;4import org.testcontainers.utility.DockerImageName;5public class RedpandaContainer extends GenericContainer<RedpandaContainer> {6 private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("vectorized/redpanda");7 private static final String DEFAULT_IMAGE_TAG = "latest";8 private static final int REDPANDA_RPC_PORT = 33145;9 private static final int REDPANDA_KAFKA_PORT = 9092;10 public RedpandaContainer(final DockerImageName dockerImageName) {11 super(dockerImageName);12 withExposedPorts(REDPANDA_RPC_PORT, REDPANDA_KAFKA_PORT);13 waitingFor(Wait.forLogMessage(".*Redpanda started.*", 1));14 }15 public RedpandaContainer() {16 this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_IMAGE_TAG));17 }18 public static RedpandaContainer create(final DockerImageName dockerImageName) {19 return new RedpandaContainer(dockerImageName);20 }21 public static RedpandaContainer create() {22 return new RedpandaContainer();23 }24 public static RedpandaContainer create(final String dockerImageName) {25 return new RedpandaContainer(DockerImageName.parse(dockerImageName));26 }27 public static RedpandaContainer create(final Network network) {28 return new RedpandaContainer().withNetwork(network);29 }30 public static RedpandaContainer create(final DockerImageName dockerImageName, final Network network) {31 return new RedpandaContainer(dockerImageName).withNetwork(network);32 }33 public static RedpandaContainer create(final String dockerImageName, final Network network) {34 return new RedpandaContainer(DockerImageName.parse(dockerImageName)).withNetwork(network);35 }36 public int getRedpandaRpcPort() {37 return getMappedPort(REDPANDA_RPC_PORT);38 }39 public int getRedpandaKafkaPort() {40 return getMappedPort(REDPANDA_KAFKA_PORT);41 }42}43import org.testcontainers.containers.Network;44import org.testcontainers.junit.jupiter.Container;45import

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.redpanda;2import org.apache.kafka.clients.admin.AdminClient;3import org.apache.kafka.clients.admin.AdminClientConfig;4import org.apache.kafka.clients.admin.NewTopic;5import org.apache.kafka.clients.consumer.Consumer;6import org.apache.kafka.clients.consumer.ConsumerConfig;7import org.apache.kafka.clients.consumer.ConsumerRecords;8import org.apache.kafka.clients.consumer.KafkaConsumer;9import org.apache.kafka.clients.producer.KafkaProducer;10import org.apache.kafka.clients.producer.Producer;11import org.apache.kafka.clients.producer.ProducerConfig;12import org.apache.kafka.clients.producer.ProducerRecord;13import org.apache.kafka.common.serialization.StringDeserializer;14import org.apache.kafka.common.serialization.StringSerializer;15import org.junit.Assert;16import org.junit.Test;17import org.slf4j.Logger;18import org.slf4j.LoggerFactory;19import java.util.Collections;20import java.util.Properties;21import java.util.concurrent.ExecutionException;22public class RedpandaContainerTest {23 private static final Logger LOGGER = LoggerFactory.getLogger(RedpandaContainerTest.class);24 private static final String TOPIC = "test";25 public void testProduceConsume() throws InterruptedException, ExecutionException {26 try (RedpandaContainer container = new RedpandaContainer()) {27 container.start();28 LOGGER.info("Kafka bootstrap servers: {}", container.getBootstrapServers());29 try (AdminClient adminClient = AdminClient.create(createAdminClientConfig(container))) {30 adminClient.createTopics(Collections.singletonList(new NewTopic(TOPIC, 1, (short) 1))).all().get();31 }32 try (Producer<String, String> producer = new KafkaProducer<>(createProducerConfig(container))) {33 producer.send(new ProducerRecord<>(TOPIC, "key", "value")).get();34 }35 try (Consumer<String, String> consumer = new KafkaConsumer<>(createConsumerConfig(container))) {36 consumer.subscribe(Collections.singletonList(TOPIC));37 ConsumerRecords<String, String> records = consumer.poll(10000);38 Assert.assertEquals(1, records.count());39 }40 }41 }42 private Properties createAdminClientConfig(RedpandaContainer container) {43 Properties properties = new Properties();44 properties.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, container.getBootstrapServers());45 return properties;46 }47 private Properties createProducerConfig(RedpandaContainer container) {48 Properties properties = new Properties();49 properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, container.getBootstrapServers());

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.utility.DockerImageName;4import org.testcontainers.containers.Network;5public class RedpandaContainer extends GenericContainer<RedpandaContainer> {6 public static final int REDPANDA_PORT = 9092;7 public static final String REDPANDA_IMAGE = "vectorized/redpanda:latest";8 public RedpandaContainer() {9 this(REDPANDA_IMAGE);10 }11 public RedpandaContainer(String dockerImageName) {12 super(DockerImageName.parse(dockerImageName));13 withExposedPorts(REDPANDA_PORT);14 waitingFor(Wait.forLogMessage(".*Redpanda started.*", 1));15 }16 public RedpandaContainer withNetwork(Network network) {17 return super.withNetwork(network);18 }19 public String getBootstrapServers() {20 return getContainerIpAddress() + ":" + getMappedPort(REDPANDA_PORT);21 }22}23import org.testcontainers.containers.GenericContainer;24import org.testcontainers.containers.wait.strategy.Wait;25import org.testcontainers.utility.DockerImageName;26import org.testcontainers.containers.Network;27public class RedpandaContainer extends GenericContainer<RedpandaContainer> {28 public static final int REDPANDA_PORT = 9092;29 public static final String REDPANDA_IMAGE = "vectorized/redpanda:latest";30 public RedpandaContainer() {31 this(REDPANDA_IMAGE);32 }33 public RedpandaContainer(String dockerImageName) {34 super(DockerImageName.parse(dockerImageName));35 withExposedPorts(REDPANDA_PORT);36 waitingFor(Wait.forLogMessage(".*Redpanda started.*", 1));37 }38 public RedpandaContainer withNetwork(Network network) {39 return super.withNetwork(network);40 }41 public String getBootstrapServers() {42 return getContainerIpAddress() + ":" + getMappedPort(REDPANDA_PORT);43 }44}45import org.testcontainers.containers.GenericContainer;46import org.testcontainers.containers.wait

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.utility.MountableFile;4public class RedpandaContainer extends GenericContainer<RedpandaContainer> {5 private static final String REDPANDA_DOCKER_IMAGE = "vectorized/redpanda:latest";6 private static final Integer REDPANDA_INTERNAL_PORT = 33145;7 private static final Integer REDPANDA_EXTERNAL_PORT = 9092;8 public RedpandaContainer() {9 super(REDPANDA_DOCKER_IMAGE);10 this.waitingFor(Wait.forLogMessage(".*Redpanda started.*", 1));11 this.withExposedPorts(REDPANDA_EXTERNAL_PORT);12 this.withCommand("rpk", "start", "--smp", "1", "--overprovisioned", "--node-id", "0", "--check=false");13 }14 public RedpandaContainer withExternalPort(Integer port) {15 return this.withExposedPorts(port);16 }17 public String getBootstrapServers() {18 return String.format("localhost:%d", this.getMappedPort(REDPANDA_EXTERNAL_PORT));19 }20}21import org.testcontainers.containers.KafkaContainer;22public class RedpandaContainerTest {23 public static void main(String[] args) {24 try (KafkaContainer kafka = new RedpandaContainer()) {25 kafka.start();26 System.out.println(String.format("Kafka bootstrap servers are: %s", kafka.getBootstrapServers()));27 }28 }29}30import org.testcontainers.containers.KafkaContainer;31public class RedpandaContainerTest {32 public static void main(String[] args) {33 try (KafkaContainer kafka = new RedpandaContainer()) {34 kafka.start();35 System.out.println(String.format("Kafka bootstrap servers are: %s", kafka.getBootstrapServers()));36 }37 }38}39import org.testcontainers.containers.KafkaContainer;40public class RedpandaContainerTest {

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.utility.DockerImageName;3public class RedpandaContainer extends GenericContainer<RedpandaContainer> {4 private static final String DEFAULT_IMAGE_AND_TAG = "vectorized/redpanda:v21.2.2";5 private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse(DEFAULT_IMAGE_AND_TAG);6 private static final int REDPANDA_PORT = 9092;7 public RedpandaContainer(final DockerImageName dockerImageName) {8 super(dockerImageName);9 dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME);10 withExposedPorts(REDPANDA_PORT);11 }12 public RedpandaContainer() {13 this(DEFAULT_IMAGE_NAME);14 }15 public String getBootstrapServers() {16 return getContainerIpAddress() + ":" + getMappedPort(REDPANDA_PORT);17 }18}19import org.testcontainers.containers.Network;20import org.testcontainers.junit.jupiter.Container;21import org.testcontainers.junit.jupiter.Testcontainers;22public class RedpandaTest {23 private static final Network network = Network.newNetwork();24 public static RedpandaContainer redpanda = new RedpandaContainer()25 .withNetwork(network)26 .withNetworkAliases("redpanda");27}28import org.testcontainers.containers.Network;29import org.testcontainers.junit.jupiter.Container;30import org.testcontainers.junit.jupiter.Testcontainers;31public class RedpandaTest {32 private static final Network network = Network.newNetwork();33 public static RedpandaContainer redpanda = new RedpandaContainer()34 .withNetwork(network)35 .withNetworkAliases("redpanda");36}37import org.testcontainers.containers.Network;38import org.testcontainers.junit.jupiter.Container;39import org.testcontainers.junit.jupiter.Testcontainers;40public class RedpandaTest {41 private static final Network network = Network.newNetwork();

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.redpanda.RedpandaContainer;2import org.testcontainers.containers.Network;3import org.testcontainers.containers.GenericContainer;4import org.testcontainers.containers.wait.strategy.Wait;5import org.testcontainers.containers.KafkaContainer;6import org.testcontainers.containers.output.Slf4jLogConsumer;7import org.testcontainers.utility.DockerImageName;8import java.util.concurrent.TimeUnit;9import java.util.concurrent.TimeoutException;10import java.util.concurrent.ExecutionException;11import java.util.concurrent.Executors;12import java.util.concurrent.ExecutorService;13import java.util.concurrent.Future;14import org.slf4j.Logger;15import org.slf4j.LoggerFactory;16public class RedpandaContainerExample {17 public static void main(String[] args) throws InterruptedException, TimeoutException, ExecutionException {18 final Logger logger = LoggerFactory.getLogger(RedpandaContainerExample.class);19 try (RedpandaContainer redpanda = new RedpandaContainer()) {20 redpanda.start();21 logger.info("Redpanda container started");22 Network network = Network.newNetwork();23 KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.5.2"));24 kafka.withNetwork(network);25 kafka.start();26 logger.info("Kafka container started");27 GenericContainer<?> producer = new GenericContainer<>(DockerImageName.parse("confluentinc/cp-kafka:5.5.2"))28 .withCommand("bash", "-c", "seq 42 | kafka-console-producer --request-required-acks 1 --broker-list kafka:29092 --topic test-topic && echo 'Produced 42 messages.'")29 .withNetwork(network)30 .withNetworkAliases("kafka")31 .waitingFor(Wait.forLogMessage("Produced 42 messages.*", 1));32 producer.start();33 logger.info("Producer container started");34 GenericContainer<?> consumer = new GenericContainer<>(DockerImageName.parse("confluentinc/cp-kafka:5.5.2"))35 .withCommand("bash", "-c", "kafka-console-consumer --bootstrap-server kafka:29092 --topic test-topic --from-beginning --max-messages 42

Full Screen

Full Screen

RedpandaContainer

Using AI Code Generation

copy

Full Screen

1RedpandaContainer container = new RedpandaContainer();2container.start();3container.createTopic("test-topic", 1);4container.createTopic("test-topic", 1, (short) 1);5HashMap<String, String> configMap = new HashMap<>();6configMap.put("cleanup.policy", "compact");7container.createTopic("test-topic", 1, (short) 1, configMap);8HashMap<String, String> configMap = new HashMap<>();9configMap.put("cleanup.policy", "compact");10HashMap<String, String> topicConfigMap = new HashMap<>();11topicConfigMap.put("min.insync.replicas", "1");12container.createTopic("test-topic", 1, (short) 1, configMap, topicConfigMap);13HashMap<String, String> configMap = new HashMap<>();14configMap.put("cleanup.policy", "compact");15HashMap<String, String> topicConfigMap = new HashMap<>();16topicConfigMap.put("min.insync.replicas", "1");17container.createTopic("test-topic", 1, (short) 1, configMap, topicConfigMap, "rack-1");18HashMap<String, String> configMap = new HashMap<>();19configMap.put("cleanup.policy", "compact");

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testcontainers-java automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful