How to use IsRunningStartupCheckStrategy method of org.testcontainers.containers.GenericContainer class

Best Testcontainers-java code snippet using org.testcontainers.containers.GenericContainer.IsRunningStartupCheckStrategy

Source:TestingDruidServer.java Github

copy

Full Screen

...23import okhttp3.Response;24import org.testcontainers.containers.BindMode;25import org.testcontainers.containers.GenericContainer;26import org.testcontainers.containers.Network;27import org.testcontainers.containers.startupcheck.IsRunningStartupCheckStrategy;28import org.testcontainers.containers.wait.strategy.Wait;29import java.io.Closeable;30import java.io.File;31import java.io.IOException;32import java.nio.charset.Charset;33import java.nio.file.FileSystemException;34import java.nio.file.Files;35import java.nio.file.Paths;36import java.util.Map;37import static com.google.common.io.RecursiveDeleteOption.ALLOW_INSECURE;38import static com.google.common.io.Resources.getResource;39import static java.lang.String.format;40import static java.util.UUID.randomUUID;41import static org.testcontainers.utility.MountableFile.forClasspathResource;42import static org.testcontainers.utility.MountableFile.forHostPath;43public class TestingDruidServer44 implements Closeable45{46 private final String hostWorkingDirectory;47 private final GenericContainer<?> broker;48 private final GenericContainer<?> coordinator;49 private final GenericContainer<?> historical;50 private final GenericContainer<?> middleManager;51 private final GenericContainer<?> zookeeper;52 private final OkHttpClient httpClient;53 private static final int DRUID_COORDINATOR_PORT = 8081;54 private static final int DRUID_BROKER_PORT = 8082;55 private static final int DRUID_HISTORICAL_PORT = 8083;56 private static final int DRUID_MIDDLE_MANAGER_PORT = 8091;57 private static final String DRUID_DOCKER_IMAGE = "apache/druid:0.18.0";58 public TestingDruidServer()59 {60 this(DRUID_DOCKER_IMAGE);61 }62 public TestingDruidServer(String dockerImageName)63 {64 try {65 // Cannot use Files.createTempDirectory() because on Mac by default it uses66 // /var/folders/ which is not visible to Docker for Mac67 hostWorkingDirectory = Files.createDirectory(68 Paths.get("/tmp/docker-tests-files-" + randomUUID().toString()))69 .toAbsolutePath().toString();70 File f = new File(hostWorkingDirectory);71 // Enable read/write/exec access for the services running in containers72 f.setWritable(true, false);73 f.setReadable(true, false);74 f.setExecutable(true, false);75 this.httpClient = new OkHttpClient();76 Network network = Network.newNetwork();77 this.zookeeper = new GenericContainer<>("zookeeper")78 .withNetwork(network)79 .withNetworkAliases("zookeeper")80 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())81 .waitingFor(Wait.forListeningPort());82 zookeeper.start();83 this.coordinator = new GenericContainer<>(dockerImageName)84 .withExposedPorts(DRUID_COORDINATOR_PORT)85 .withNetwork(network)86 .withCommand("coordinator")87 .withWorkingDirectory("/opt/druid")88 .withFileSystemBind(hostWorkingDirectory, "/opt/druid/var", BindMode.READ_WRITE)89 .dependsOn(zookeeper)90 .withCopyFileToContainer(91 forClasspathResource("common.runtime.properties"),92 "/opt/druid/conf/druid/cluster/_common/common.runtime.properties")93 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())94 .withCopyFileToContainer(95 forClasspathResource("druid-coordinator.config"),96 "/opt/druid/conf/druid/cluster/master/coordinator-overlord/runtime.properties")97 .withCopyFileToContainer(98 forClasspathResource("druid-coordinator-jvm.config"),99 "/opt/druid/conf/druid/cluster/master/coordinator-overlord/jvm.config")100 .waitingFor(Wait.forHttp("/status/selfDiscovered"));101 coordinator.start();102 this.broker = new GenericContainer<>(DRUID_DOCKER_IMAGE)103 .withExposedPorts(DRUID_BROKER_PORT)104 .withNetwork(network)105 .withCommand("broker")106 .withWorkingDirectory("/opt/druid")107 .dependsOn(zookeeper, coordinator)108 .withFileSystemBind(hostWorkingDirectory, "/opt/druid/var", BindMode.READ_WRITE)109 .withCopyFileToContainer(110 forClasspathResource("common.runtime.properties"),111 "/opt/druid/conf/druid/cluster/_common/common.runtime.properties")112 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())113 .withCopyFileToContainer(114 forClasspathResource("broker.config"),115 "/opt/druid/conf/druid/cluster/query/broker/runtime.properties")116 .withCopyFileToContainer(117 forClasspathResource("broker-jvm.config"),118 "/opt/druid/conf/druid/cluster/query/broker/jvm.config")119 .waitingFor(Wait.forHttp("/status/selfDiscovered"));120 broker.start();121 this.historical = new GenericContainer<>(DRUID_DOCKER_IMAGE)122 .withExposedPorts(DRUID_HISTORICAL_PORT)123 .withNetwork(network)124 .withCommand("historical")125 .withWorkingDirectory("/opt/druid")126 .dependsOn(zookeeper, coordinator)127 .withFileSystemBind(hostWorkingDirectory, "/opt/druid/var", BindMode.READ_WRITE)128 .withCopyFileToContainer(129 forClasspathResource("common.runtime.properties"),130 "/opt/druid/conf/druid/cluster/_common/common.runtime.properties")131 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())132 .withCopyFileToContainer(133 forClasspathResource("historical.config"),134 "/opt/druid/conf/druid/cluster/data/historical/runtime.properties")135 .withCopyFileToContainer(136 forClasspathResource("historical-jvm.config"),137 "/opt/druid/conf/druid/cluster/data/historical/jvm.config")138 .waitingFor(Wait.forHttp("/status/selfDiscovered"));139 historical.start();140 this.middleManager = new GenericContainer<>(DRUID_DOCKER_IMAGE)141 .withExposedPorts(DRUID_MIDDLE_MANAGER_PORT)142 .withNetwork(network)143 .withCommand("middleManager")144 .withWorkingDirectory("/opt/druid")145 .dependsOn(zookeeper, coordinator)146 .withFileSystemBind(hostWorkingDirectory, "/opt/druid/var", BindMode.READ_WRITE)147 .withCopyFileToContainer(148 forClasspathResource("common.runtime.properties"),149 "/opt/druid/conf/druid/cluster/_common/common.runtime.properties")150 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())151 .withCopyFileToContainer(152 forClasspathResource("middleManager.config"),153 "/opt/druid/conf/druid/cluster/data/middleManager/runtime.properties")154 .withCopyFileToContainer(155 forClasspathResource("middleManager-jvm.config"),156 "/opt/druid/conf/druid/cluster/data/middleManager/jvm.config")157 .waitingFor(Wait.forHttp("/status/selfDiscovered"));158 middleManager.start();159 }160 catch (Exception e) {161 throw new RuntimeException(e);162 }163 }164 public String getHostWorkingDirectory()...

Full Screen

Full Screen

Source:TestContainersTest.java Github

copy

Full Screen

2import io.lettuce.core.api.StatefulRedisConnection;3import org.junit.jupiter.api.Test;4import org.testcontainers.containers.GenericContainer;5import org.testcontainers.containers.Network;6import org.testcontainers.containers.startupcheck.IsRunningStartupCheckStrategy;7import org.testcontainers.containers.startupcheck.StartupCheckStrategy;8import org.testcontainers.containers.wait.strategy.Wait;9import org.testcontainers.containers.wait.strategy.WaitStrategy;10import org.testcontainers.utility.DockerImageName;11import java.time.Duration;12public class TestContainersTest {13 @Test14 void test() throws InterruptedException {15// try (GenericContainer<?> redis = new GenericContainer<>(DockerImageName.parse("redis")).withExposedPorts(6379)) {16 GenericContainer<?> redis = new GenericContainer<>(DockerImageName.parse("redis"))17 .withNetworkMode("concourse")18// .withCreateContainerCmdModifier(cmd -> cmd.withName("redis"))19 .withExposedPorts(6379);20 redis.start();...

Full Screen

Full Screen

Source:BaseMojoSysTest.java Github

copy

Full Screen

...6 */7package io.github.pepperkit.githooks.steps;8import java.nio.file.Paths;9import org.testcontainers.containers.GenericContainer;10import org.testcontainers.containers.startupcheck.IsRunningStartupCheckStrategy;11import org.testcontainers.images.builder.ImageFromDockerfile;12import org.testcontainers.junit.jupiter.Testcontainers;13@Testcontainers14public class BaseMojoSysTest {15 public static org.testcontainers.containers.Container.ExecResult cmdResult;16 public static GenericContainer<?> container = new GenericContainer<>(17 new ImageFromDockerfile("git-hooks-maven-plugin-test", true)18 .withFileFromPath(".", Paths.get(".")))19 .withWorkingDirectory("/test-projects")20 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())21 .withCreateContainerCmdModifier(cmd -> cmd22 .withStdinOpen(true)23 .withTty(true)24 .withCmd("/bin/sh"));25}...

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.IsRunningStartupCheckStrategy;3import org.testcontainers.containers.wait.strategy.Wait;4import org.testcontainers.containers.wait.strategy.WaitAllStrategy;5import org.testcontainers.containers.wait.strategy.WaitStrategy;6public class IsRunningStartupCheckStrategy {7 public static void main(String[] args) {8 WaitStrategy waitStrategy = new WaitAllStrategy()9 .withStrategy(Wait.forListeningPort())10 .withStrategy(Wait.forLogMessage(".*Started Application.*", 1))11 .withStartupTimeout(new Duration(30, TimeUnit.SECONDS));12 GenericContainer container = new GenericContainer("tomcat:9.0.8-jre8")13 .withExposedPorts(8080)14 .waitingFor(waitStrategy);15 container.start();16 System.out.println("Container is running");17 }18}19Java | TestContainers | Wait.forListeningPort()20Java | TestContainers | Wait.forHealthcheck()21Java | TestContainers | Wait.forListeningPort()22Java | TestContainers | Wait.forHealthcheck()23Java | TestContainers | Wait.forListeningPort()24Java | TestContainers | Wait.forHealthcheck()25Java | TestContainers | Wait.forListeningPort()26Java | TestContainers | Wait.forHealthcheck()27Java | TestContainers | Wait.forListeningPort()

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.containers.wait.strategy.WaitStrategy;4import org.testcontainers.utility.DockerImageName;5public class IsRunningStartupCheckStrategy {6 public static void main(String[] args) {7 GenericContainer container = new GenericContainer(DockerImageName.parse("alpine:3.13.5"))8 .withCommand("sh", "-c", "while true; do echo 'Hello World'; sleep 1; done")9 .waitingFor(Wait.forLogMessage(".*Hello World.*", 1));10 container.start();11 WaitStrategy waitStrategy = container.getWaitStrategy();12 boolean isRunning = waitStrategy.isRunning();13 System.out.println("Is Running: " + isRunning);14 container.stop();15 }16}

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.containers.wait.strategy.WaitStrategy;4import org.testcontainers.utility.DockerImageName;5public class IsRunningStartupCheckStrategy {6 public static void main(String[] args) {7 WaitStrategy waitStrategy = Wait.forHttp("/actuator/health").forStatusCode(200);8 try (GenericContainer container = new GenericContainer(DockerImageName.parse("springio/gs-spring-boot-docker:0.1.0"))9 .withExposedPorts(8080)10 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())11 .waitingFor(waitStrategy)) {12 container.start();13 System.out.println("Container is running");14 }15 }16}

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.containers.wait.strategy.WaitStrategy;4import org.testcontainers.utility.DockerImageName;5import org.testcontainers.containers.output.Slf4jLogConsumer;6import org.slf4j.Logger;7import org.slf4j.LoggerFactory;8public class IsRunningStartupCheckStrategy {9 public static void main(String[] args) {10 Logger logger = LoggerFactory.getLogger(IsRunningStartupCheckStrategy.class);11 try (GenericContainer container = new GenericContainer(DockerImageName.parse("alpine:3.13.5"))) {12 container.setCommand("sh", "-c", "while true; do echo hello; sleep 1; done");13 container.setWaitStrategy(Wait.forListeningPort());14 container.start();15 container.followOutput(new Slf4jLogConsumer(logger));16 Thread.sleep(5000);17 System.out.println("Is container running: " + container.isRunning());18 } catch (InterruptedException e) {19 e.printStackTrace();20 }21 }22}

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.startupcheck.IsRunningStartupCheckStrategy;3import org.testcontainers.containers.wait.strategy.Wait;4import java.util.concurrent.TimeUnit;5public class IsRunningStartupCheckStrategyExample {6 public static void main(String[] args) {7 GenericContainer redis = new GenericContainer("redis:3.2.8")8 .withStartupCheckStrategy(new IsRunningStartupCheckStrategy())9 .waitingFor(Wait.forLogMessage(".*Ready to accept connections.*\\s", 1))10 .withStartupTimeout(Duration.of(600, TimeUnit.SECONDS));11 redis.start();12 }13}14[main] INFO org.testcontainers.utility.RegistryAuthLocator - Credential helper/store (docker-credential-desktop) does not have credentials for index.docker.io15[main] INFO org.testcontainers.utility.RegistryAuthLocator - Credential helper/store (docker-credential-desktop) does not have credentials for docker.io16[main] INFO org.testcontainers.utility.RegistryAuthLocator - Credential helper/store (docker-credential-desktop) does not have credentials for index.docker.io

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1package com.mycompany.app;2import java.util.concurrent.TimeUnit;3import org.testcontainers.containers.GenericContainer;4import org.testcontainers.containers.wait.strategy.Wait;5public class App {6 public static void main(String[] args) throws InterruptedException {7 GenericContainer container = new GenericContainer("alpine:3.10")8 .withExposedPorts(80)9 .waitingFor(Wait.forHttp("/").forPort(80).withStartupTimeout(Duration.ofSeconds(30)));10 container.start();11 TimeUnit.SECONDS.sleep(10);12 System.out.println("Container is running: " + container.isRunning());13 container.stop();14 }15}16[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ testcontainers ---17package com.mycompany.app;18import java.util.concurrent.TimeUnit;19import org.testcontainers.containers.GenericContainer;20import org.testcontainers.containers.wait.strategy.Wait;21public class App {22 public static void main(String[] args) throws InterruptedException {23 GenericContainer container = new GenericContainer("alpine:3.10")24 .withExposedPorts(80)25 .waitingFor(Wait.forHttp("/").forPort(80).withStartupTimeout(Duration.ofSeconds(30)));26 container.start();27 TimeUnit.SECONDS.sleep(10);28 System.out.println("Container is running: " + container.isRunning());29 container.stop();30 }31}

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.HttpWaitStrategy;3import java.time.Duration;4import org.testcontainers.containers.wait.strategy.Wait;5public class IsRunningStartupCheckStrategy {6 public static void main(String[] args) {7 try (GenericContainer container = new GenericContainer("alpine:3.8")8 .withCommand("sleep", "1000")9 .waitingFor(Wait.forHttp("/").forPort(80).withStartupTimeout(Duration.ofSeconds(10)))10 .withStartupCheckStrategy(new HttpWaitStrategy().forPort(80).forPath("/"))) {11 container.start();

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.containers;2import java.util.concurrent.TimeUnit;3import java.util.concurrent.TimeoutException;4import org.testcontainers.containers.wait.strategy.AbstractWaitStrategy;5import org.testcontainers.containers.wait.strategy.WaitStrategy;6import org.testcontainers.utility.TestcontainersConfiguration;7public class IsRunningStartupCheckStrategy extends AbstractWaitStrategy {8 protected void waitUntilReady() {9 }10 public static WaitStrategy isRunningStartupCheckStrategy() {11 return new IsRunningStartupCheckStrategy();12 }13}14package org.testcontainers.containers;15import org.testcontainers.containers.wait.strategy.WaitStrategy;16public class GenericContainer<SELF extends GenericContainer<SELF>> extends GenericContainer<SELF> {17 public SELF withStartupCheckStrategy(WaitStrategy waitStrategy) {18 this.waitStrategy = waitStrategy;19 return self();20 }21}22package org.testcontainers.containers;23import org.testcontainers.containers.wait.strategy.WaitStrategy;24public class MySQLContainer<SELF extends MySQLContainer<SELF>> extends JdbcDatabaseContainer<SELF> {25 public SELF withStartupCheckStrategy(WaitStrategy waitStrategy) {26 this.waitStrategy = waitStrategy;27 return self();28 }29}30package org.testcontainers.containers;31import org.testcontainers.containers.wait.strategy.WaitStrategy;32public class MSSQLServerContainer<SELF extends MSSQLServerContainer<SELF>> extends JdbcDatabaseContainer<SELF> {33 public SELF withStartupCheckStrategy(WaitStrategy waitStrategy) {34 this.waitStrategy = waitStrategy;35 return self();36 }37}38package org.testcontainers.containers;39import org.testcontainers.containers.wait.strategy.WaitStrategy;40public class OracleContainer<SELF extends OracleContainer<SELF>> extends JdbcDatabaseContainer<SELF> {41 public SELF withStartupCheckStrategy(WaitStrategy waitStrategy) {42 this.waitStrategy = waitStrategy;43 return self();44 }45}

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.containers;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.containers.wait.strategy.WaitStrategy;4import org.testcontainers.utility.DockerImageName;5import java.util.concurrent.TimeUnit;6public class IsRunningStartupCheckStrategy {7 public static void main(String[] args) {8 try (GenericContainer<?> container = new GenericContainer<>(DockerImageName.parse("alpine:3.11"))) {9 container.withStartupCheckStrategy(new IsRunningStartupCheckStrategy());10 container.start();11 }12 }13}14 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:497)15 at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:325)16 at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)17 at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:323)18 at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:311)19 at org.testcontainers.containers.IsRunningStartupCheckStrategy.main(IsRunningStartupCheckStrategy.java:14)20 at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)21 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:490)22 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:497)23 at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:325)24 at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)25 at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:323)26 at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:311)27 at org.testcontainers.containers.IsRunningStartupCheckStrategy.main(IsRunningStartupCheckStrategy.java:14)28 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:497)

Full Screen

Full Screen

IsRunningStartupCheckStrategy

Using AI Code Generation

copy

Full Screen

1package com.automationrhapsody.docker;2import org.testcontainers.containers.GenericContainer;3public class IsRunningStartupCheckStrategy {4 public static void main(String[] args) {5 GenericContainer container = new GenericContainer("alpine:3.7")6 .withCommand("sleep 60");7 container.start();8 System.out.println("Is

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