How to use DynamicPollInterval class of org.testcontainers.utility package

Best Testcontainers-java code snippet using org.testcontainers.utility.DynamicPollInterval

Source:HyperIoTTestContainerUtil.java Github

copy

Full Screen

...6import org.testcontainers.containers.GenericContainer;7import org.testcontainers.containers.wait.strategy.Wait;8import org.testcontainers.shaded.org.awaitility.Awaitility;9import org.testcontainers.utility.DockerImageName;10import org.testcontainers.utility.DynamicPollInterval;11import java.io.File;12import java.time.Duration;13import java.util.*;14import java.util.concurrent.TimeUnit;15import java.util.stream.Collectors;16/**17 * @Author Aristide Cittadino18 * Test Util class in order to startup needed containers easily19 */20public class HyperIoTTestContainerUtil {21 private static Logger logger = LoggerFactory.getLogger(HyperIoTTestContainerUtil.class);22 /**23 * @param path path to compose file24 * @param portMappings map of serviceName and port to wait for25 * @return26 */27 public static DockerComposeContainer startDockerCompose(String path, Map<String, List<Integer>> portMappings, boolean start) {28 File composeFile = new File(path);29 DockerComposeContainer dockerComposeContainer = new DockerComposeContainer(composeFile);30 //waiting for containers to come up31 Iterator<String> it = portMappings.keySet().iterator();32 while (it.hasNext()) {33 String serviceName = it.next();34 if (portMappings.get(serviceName) != null) {35 for (Integer port : portMappings.get(serviceName)) {36 dockerComposeContainer.withExposedService(serviceName, port);37 }38 }39 dockerComposeContainer.waitingFor(serviceName, Wait.forListeningPort());40 }41 if (start)42 dockerComposeContainer.start();43 return dockerComposeContainer;44 }45 /**46 *47 */48 public static Map<String, GenericContainer> justWaitForContainers(Map<String, String> imagesList, Map<String, List<Integer>> chosenPortMappings, long defaultStartupTimeputMs) {49 HashMap<String, GenericContainer> containersMap = new HashMap<>();50 Iterator<String> it = chosenPortMappings.keySet().iterator();51 while (it.hasNext()) {52 String containerName = it.next();53 try {54 List<Integer> portList = chosenPortMappings.get(containerName);55 //if port mappings have been defined56 if (portList != null) {57 Integer[] ports = new Integer[portList.size()];58 portList.toArray(ports);59 logger.info("Waiting for container {} with port {}", new Object[]{containerName, ports});60 GenericContainer container = new GenericContainer(DockerImageName.parse(imagesList.get(containerName)))61 .withExposedPorts(ports)62 .withStartupTimeout(Duration.ofMillis(defaultStartupTimeputMs))63 .withReuse(true);64 container.waitingFor(Wait.forListeningPort());65 containersMap.put(containerName, container);66 awaitForContainerStart(container);67 }68 } catch (Throwable t) {69 logger.error(t.getMessage(), t);70 }71 }72 return containersMap;73 }74 private static void awaitForContainerStart(GenericContainer container) {75 Awaitility.await()76 .atMost(5, TimeUnit.SECONDS)77 .pollInterval(DynamicPollInterval.ofMillis(50))78 .pollInSameThread()79 .until(80 () -> container.getContainerInfo(),81 inspectContainerResponse -> {82 Set<Integer> exposedAndMappedPorts = inspectContainerResponse83 .getNetworkSettings()84 .getPorts()85 .getBindings()86 .entrySet()87 .stream()88 .filter(it -> Objects.nonNull(it.getValue())) // filter out exposed but not yet mapped89 .map(Map.Entry::getKey)90 .map(ExposedPort::getPort)91 .collect(Collectors.toSet());...

Full Screen

Full Screen

Source:DynamicPollInterval.java Github

copy

Full Screen

...8 *9 * @deprecated For internal usage only.10 */11@Deprecated12public class DynamicPollInterval implements PollInterval {13 final Duration interval;14 Instant lastTimestamp;15 private DynamicPollInterval(Duration interval) {16 this.interval = interval;17 lastTimestamp = Instant.now();18 }19 public static DynamicPollInterval of(Duration duration) {20 return new DynamicPollInterval(duration);21 }22 public static DynamicPollInterval ofMillis(long millis) {23 return DynamicPollInterval.of(Duration.ofMillis(millis));24 }25 @Override26 public Duration next(int pollCount, Duration previousDuration) {27 Instant now = Instant.now();28 Duration executionDuration = Duration.between(lastTimestamp, now);29 Duration result = interval.minusMillis(Math.min(interval.toMillis(), executionDuration.toMillis()));30 lastTimestamp = now.plus(result);31 return result;32 }33}...

Full Screen

Full Screen

DynamicPollInterval

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.utility.DockerLoggerFactory;5import org.testcontainers.utility.LogUtils;6import org.testcontainers.utility.MountableFile;7import java.io.File;8import java.io.IOException;9import java.nio.file.Files;10import java.nio.file.Path;11import java.nio.file.Paths;12import java.time.Duration;13import java.util.concurrent.TimeUnit;14public class DynamicPollInterval {15 public static void main(String[] args) throws IOException, InterruptedException {16 DockerLoggerFactory.INSTANCE.configureDefaultLoggingOrDie();17 GenericContainer container = new GenericContainer(DockerImageName.parse("alpine:3.12"));18 container.withCommand("tail", "-f", "/dev/null");19 container.withStartupTimeout(Duration.ofSeconds(30));20 container.withLogConsumer(LogUtils.getOutputConsumer());21 container.waitingFor(Wait.forLogMessage(".*", 1));22 container.start();23 Path path = Paths.get("test.txt");24 Files.write(path, "test".getBytes());25 container.copyFileToContainer(MountableFile.forHostPath(path), "/test.txt");26 Files.delete(path);27 container.execInContainer("ls", "-l", "/test.txt");28 container.stop();29 }30}

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.PostgreSQLContainer;2import org.testcontainers.utility.DockerImageName;3import org.testcontainers.utility.DockerLoggerFactory;4import org.testcontainers.utility.DockerMachineClient;5import org.testcontainers.utility.DockerMachineClientProviderStrategy;6import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider;7import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.Strategy;8import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyType;9import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProvider;10import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl;11import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl1;12import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl2;13import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl3;14import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl4;15import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl5;16import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl6;17import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl7;18import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl8;19import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl9;20import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl10;21import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl11;22import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl12;23import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl13;24import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl14;25import org.testcontainers.utility.DockerMachineClientProviderStrategyProvider.StrategyTypeProviderImpl.StrategyTypeProviderImpl15;26import org.testcontainers.utility.Docker

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import java.time.Duration;2import org.testcontainers.containers.GenericContainer;3import org.testcontainers.utility.DockerImageName;4import org.testcontainers.utility.DockerLoggerFactory;5import org.testcontainers.utility.LogUtils;6public class DynamicPollInterval {7 public static void main(String[] args) {8 LogUtils.configureDefaultLogConsumerFactory(new DockerLoggerFactory());9 GenericContainer<?> container = new GenericContainer<>(DockerImageName.parse("busybox:latest"))10 .withCommand("sh", "-c", "echo Hello world; sleep 5")11 .withStartupAttempts(3)12 .withStartupTimeout(Duration.ofSeconds(10))13 .withLogConsumer(LogUtils.getConsoleConsumer())14 .withStartupCheckStrategy(new GenericContainer.AbstractWaitStrategy() {15 protected void waitUntilReady() {16 }17 public Duration getPollingInterval() {18 return Duration.ofMillis(500);19 }20 });21 container.start();22 }23}

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.containers;2import org.testcontainers.utility.DynamicPollInterval;3import java.time.Duration;4public class DynamicPollIntervalDemo {5 public static void main(String[] args) {6 DynamicPollInterval dynamicPollInterval = new DynamicPollInterval(Duration.ofSeconds(1), Duration.ofSeconds(3), 3);

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.wait.strategy.Wait;2import org.testcontainers.containers.wait.strategy.WaitStrategy;3import org.testcontainers.utility.DynamicPollInterval;4import java.util.concurrent.TimeUnit;5import java.util.function.Predicate;6import org.testcontainers.containers.wait.strategy.WaitStrategyTarget;7import org.testcontainers.containers.wait.strategy.WaitStrategyTargetContainer;8import org.testcontainers.containers.wait.strategy.WaitStrategyTargetHostPort;9public class DynamicPollIntervalTest {10 public static void main(String[] args) {11 WaitStrategy waitStrategy = Wait.forLogMessage(".*Started.*", 1)12 .withStartupTimeout(new DynamicPollInterval() {13 public long calculatePollingInterval(int retries) {14 return 1000;15 }16 });17 System.out.println("Wait strategy is: " + waitStrategy);18 }19}20Wait strategy is: Wait for log message '.*Started.*' (max 1 retries, with a 1000ms pause between each retry)

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.utility;2import java.time.Duration;3import org.testcontainers.containers.ContainerLaunchException;4import org.testcontainers.containers.GenericContainer;5import org.testcontainers.containers.wait.strategy.Wait;6import org.testcontainers.utility.DockerImageName;7import org.testcontainers.utility.DockerLoggerFactory;8import org.testcontainers.utility.DockerMachineClient;9import org.testcontainers.utility.DockerMachineClientProviderStrategy;10import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineClientProviderStrategyException;11import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineNotFoundException;12import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineNotRunningException;13import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHKeyNotFoundException;14import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHPortNotAvailableException;15import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHUserNotFoundException;16import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineUnsupportedSSHKeyFormatException;17import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineVersionNotFoundException;18import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineVersionTooOldException;19import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationNotFoundException;20import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationNotValidException;21import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathTooLongException;22import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathTooShortException;23import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithSpacesException;24import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingSpaceException;25import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingSlashException;26import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingTabException;27import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingZeroWidthSpaceException;28import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingZeroWidthSpaceException.ZeroWidthSpace;29import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineWindowsInstallationPathWithTrailingZeroWidthSpaceException.ZeroWidthSpaceException

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.utility.DockerImageName;3import org.testcontainers.utility.DockerLoggerFactory;4import org.testcontainers.utility.DockerMachineClient;5import org.testcontainers.utility.DockerMachineClientProviderStrategy;6import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineClientProviderStrategyException;7import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineConfiguration;8import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineExecutable;9import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineExecutableProvider;10import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineNotFoundException;11import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineNotRunningException;12import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider;13import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException;14import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException;15import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException.SSHClientCreationExceptionCause;16import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException.SSHClientCreationExceptionCause.SSHClientCreationExceptionCauseType;17import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException.SSHClientCreationExceptionCause.SSHClientCreationExceptionCauseType.SSHClientCreationExceptionCauseTypeValue;18import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException.SSHClientCreationExceptionCause.SSHClientCreationExceptionCauseType.SSHClientCreationExceptionCauseTypeValue.SSHClientCreationExceptionCauseTypeValueException;19import org.testcontainers.utility.DockerMachineClientProviderStrategy.DockerMachineSSHClientProvider.DockerMachineSSHClientProviderException.SSHClientCreationException.SSHClientCreationExceptionCause.SSHClientCreationExceptionCauseType.SSHClientCreationExceptionCauseTypeValue.SSHClientCreationExceptionCauseTypeValueException.SSHClientCreationExceptionCauseTypeValueExceptionCause;20import org

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import org.junit.jupiter.api.Test;2import org.testcontainers.containers.GenericContainer;3import java.util.concurrent.TimeUnit;4import static org.junit.jupiter.api.Assertions.assertTrue;5public class TestContainerTest {6 public void test() {7 try (GenericContainer container = new GenericContainer("alpine:3.7").withCommand("sleep 10")) {8 container.start();9 assertTrue(container.isRunning());10 }11 }12}13import org.junit.jupiter.api.Test;14import org.testcontainers.containers.GenericContainer;15import java.util.concurrent.TimeUnit;16import static org.junit.jupiter.api.Assertions.assertTrue;17public class TestContainerTest {18 public void test() {19 try (GenericContainer container = new GenericContainer("alpine:3.7").withCommand("sleep 10")) {20 container.start();21 assertTrue(container.isRunning());22 }23 }24}25import org.testcontainers.utility.DynamicPollInterval;26 container.start(new DynamicPollInterval(1, TimeUnit.SECONDS));27import org.testcontainers.containers.DynamicPollInterval;28 container.start(new DynamicPollInterval(1, TimeUnit.SECONDS));

Full Screen

Full Screen

DynamicPollInterval

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.JdbcDatabaseContainer;2import org.testcontainers.utility.DynamicPollInterval;3{4 public static void main(String[] args)5 {6 DynamicPollInterval dynamicPollInterval = new DynamicPollInterval(1, 5);7 JdbcDatabaseContainer jdbcDatabaseContainer = new JdbcDatabaseContainer("mysql:8.0.19") {};8 jdbcDatabaseContainer.start();9 }10}

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.

Most used methods in DynamicPollInterval

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful