How to use ConsulContainer method of org.testcontainers.consul.ConsulContainer class

Best Testcontainers-java code snippet using org.testcontainers.consul.ConsulContainer.ConsulContainer

Source:ConsulCluster.java Github

copy

Full Screen

...7import java.util.Map;8import java.util.function.Supplier;9public class ConsulCluster {10 private int size;11 private Supplier<ConsulContainer> containerCreator;12 private ConsulContainer[] containers;13 private Network network;14 public ConsulCluster(int size, Supplier<ConsulContainer> containerCreator, Network network) {15 this.size = size;16 this.containers = new ConsulContainer[size];17 this.containerCreator = containerCreator;18 this.network = network;19 }20 public void start() {21 String firstAddr = bootstrapFirst();22 for (int i = 1; i < size; i++) {23 containers[i] = bootstrapNext(firstAddr);24 }25 }26 public void stop() {27 for (ConsulContainer consulContainer : containers) {28 if (consulContainer != null) {29 consulContainer.stop();30 }31 }32 }33 public List<ConsulContainer> getContainers() {34 return Arrays.asList(containers);35 }36 private String bootstrapFirst() {37 ConsulContainer first = containerCreator.get();38 if (this.network != null) first.withNetwork(network);39 first.start();40 containers[0] = first;41 Map<String, ContainerNetwork> nets = first.getContainerInfo().getNetworkSettings().getNetworks();42 if (network != null) {43 if (nets.containsKey(network.getId())) {44 return nets.get(network.getId()).getIpAddress();45 }46 }47 // if no networks specified explicitly, we do not know, which one to choose48 return nets.values().stream().findFirst().get().getIpAddress();49 }50 private ConsulContainer bootstrapNext(String address) {51 ConsulContainer container = containerCreator.get();52 if (this.network != null) container.withNetwork(network);53 ConsulCommand command = container.getConsulCommand();54 command.setJoin(address);55 command.setRetryJoin(true);56 container.start();57 return container;58 }59}...

Full Screen

Full Screen

Source:StandaloneConsul.java Github

copy

Full Screen

1package org.conf4j.consul;2import com.orbitz.consul.Consul;3import org.slf4j.Logger;4import org.slf4j.LoggerFactory;5import org.testcontainers.containers.GenericContainer;6import org.testcontainers.containers.output.Slf4jLogConsumer;7import java.util.concurrent.TimeUnit;8import java.util.concurrent.atomic.AtomicReference;9import static org.awaitility.Awaitility.await;10public class StandaloneConsul {11 private static final Logger logger = LoggerFactory.getLogger(StandaloneConsul.class);12 private final GenericContainer consulContainer;13 private AtomicReference<Consul> consul = new AtomicReference<>();14 public StandaloneConsul() {15 consulContainer = new GenericContainer("consul:0.9.0")16 .withCommand("agent -dev -client 0.0.0.0")17 .withExposedPorts(8500);18 }19 public void start() {20 consulContainer.start();21 consulContainer.followOutput(new Slf4jLogConsumer(logger).withPrefix("consul"));22 await("Consul is ready")23 .atMost(10, TimeUnit.SECONDS)24 .until(() -> {25 try {26 consul.set(Consul.builder().withUrl(getConsulUrl()).build());27 return true;28 } catch (Exception e) {29 logger.info("Failed to create consul client, probably consul is not ready yet", e);30 return false;31 }32 });33 }34 public void stop() {35 consul = null;36 consulContainer.stop();37 }38 public Consul getConsul() {39 if (consul.get() == null) {40 throw new IllegalStateException("Standalone consul must be started before calling getConsul");41 }42 return consul.get();43 }44 public String getConsulUrl() {45 return String.format("http://localhost:%s", consulContainer.getMappedPort(8500));46 }47}...

Full Screen

Full Screen

Source:ConsulTestcontainers.java Github

copy

Full Screen

1package org.kiwiproject.registry.consul.util;2import com.google.common.net.HostAndPort;3import lombok.experimental.UtilityClass;4import org.testcontainers.consul.ConsulContainer;5import org.testcontainers.utility.DockerImageName;6@UtilityClass7public class ConsulTestcontainers {8 private static final int CONSUL_HTTP_PORT = 8500;9 public static ConsulContainer newConsulContainer() {10 return new ConsulContainer(consulDockerImageName());11 }12 public static DockerImageName consulDockerImageName() {13 return DockerImageName.parse("consul");14 }15 public static HostAndPort consulHostAndPort(ConsulContainer consul) {16 return HostAndPort.fromParts(consul.getHost(), consul.getMappedPort(CONSUL_HTTP_PORT));17 }18}...

Full Screen

Full Screen

ConsulContainer

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.containers.wait.strategy.WaitAllStrategy;5import org.testcontainers.containers.wait.strategy.WaitStrategy;6import org.testcontainers.containers.wait.strategy.WaitStrategyTarget;7import org.testcontainers.utility.DockerImageName;8import java.time.Duration;9import java.util.ArrayList;10import java.util.List;11import java.util.stream.Collectors;12public class ConsulContainer extends GenericContainer<ConsulContainer> {13 public static final int DEFAULT_HTTP_PORT = 8500;14 public static final int DEFAULT_HTTPS_PORT = 8501;15 public static final int DEFAULT_DNS_PORT = 8600;16 public static final int DEFAULT_RPC_PORT = 8400;17 public static final int DEFAULT_SERF_LAN_PORT = 8301;18 public static final int DEFAULT_SERF_WAN_PORT = 8302;19 public static final int DEFAULT_SERVER_PORT = 8300;20 private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("consul");21 private static final String DEFAULT_TAG = "1.9.3";22 private static final String CONSUL_VERSION = "CONSUL_VERSION";23 private List<Integer> portsToExpose = new ArrayList<>();24 public ConsulContainer() {25 this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG));26 }27 public ConsulContainer(final String dockerImageName) {28 this(DockerImageName.parse(dockerImageName));29 }30 public ConsulContainer(DockerImageName dockerImageName) {31 super(dockerImageName);32 withExposedPorts(DEFAULT_HTTP_PORT, DEFAULT_HTTPS_PORT, DEFAULT_DNS_PORT, DEFAULT_RPC_PORT, DEFAULT_SERF_LAN_PORT, DEFAULT_SERF_WAN_PORT, DEFAULT_SERVER_PORT);33 setWaitStrategy(new WaitAllStrategy()34 .withStrategy(Wait.forHttp("/v1/status/leader"))35 .withStrategy(Wait.forListeningPort())36 .withStartupTimeout(Duration.ofMinutes(2)));37 }38 public static String getVersion() {39 return System.getProperty(CONSUL_VERSION, DEFAULT_TAG);40 }41 protected void configure() {42 if (getNetwork() == null) {43 withNetwork(Network.newNetwork());44 }45 if (getNetworkAliases().isEmpty()) {46 withNetworkAliases("consul");47 }48 withEnv("CONSUL_BIND_INTERFACE",

Full Screen

Full Screen

ConsulContainer

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 ConsulContainer extends GenericContainer<ConsulContainer> {6 public ConsulContainer() {7 this(DockerImageName.parse("consul:1.4.4"));8 }9 public ConsulContainer(String dockerImageName) {10 this(DockerImageName.parse(dockerImageName));11 }12 public ConsulContainer(DockerImageName dockerImageName) {13 super(dockerImageName);14 withExposedPorts(8500);15 withNetwork(Network.newNetwork());16 waitingFor(Wait.forHttp("/v1/status/leader"));17 }18 public String getHost() {19 return getContainerIpAddress();20 }21 public int getHttpPort() {22 return getMappedPort(8500);23 }24}25import org.testcontainers.containers.Network;26import org.testcontainers.containers.wait.strategy.Wait;27import org.testcontainers.utility.DockerImageName;28public class ConsulContainer extends GenericContainer<ConsulContainer> {29 public ConsulContainer() {30 this(DockerImageName.parse("consul:1.4.4"));31 }32 public ConsulContainer(String dockerImageName) {33 this(DockerImageName.parse(dockerImageName));34 }35 public ConsulContainer(DockerImageName dockerImageName) {36 super(dockerImageName);37 withExposedPorts(8500);38 withNetwork(Network.newNetwork());39 waitingFor(Wait.forHttp("/v1/status/leader"));40 }41 public String getHost() {42 return getContainerIpAddress();43 }44 public int getHttpPort() {45 return getMappedPort(8500);46 }47}48import org.testcontainers.containers.Network;49import org.testcontainers.containers.wait.strategy.Wait;50import org.testcontainers.utility.DockerImageName;51public class ConsulContainer extends GenericContainer<ConsulContainer> {52 public ConsulContainer() {53 this(DockerImageName.parse("consul:1.4.4"));54 }55 public ConsulContainer(String dockerImageName

Full Screen

Full Screen

ConsulContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.GenericContainer;2import org.testcontainers.containers.wait.strategy.Wait;3import org.testcontainers.utility.DockerImageName;4public class ConsulContainer extends GenericContainer<ConsulContainer> {5 private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("consul");6 private static final String DEFAULT_TAG = "1.6.0";7 private static final int CONSUL_PORT = 8500;8 public ConsulContainer() {9 this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG));10 }11 public ConsulContainer(final String dockerImageName) {12 this(DockerImageName.parse(dockerImageName));13 }14 public ConsulContainer(final DockerImageName dockerImageName) {15 super(dockerImageName);16 withExposedPorts(CONSUL_PORT);17 waitingFor(Wait.forHttp("/ui/"));18 }19 public String getHost() {20 return getContainerIpAddress();21 }22 public Integer getPort() {23 return getFirstMappedPort();24 }25}26import org.testcontainers.containers.GenericContainer;27import org.testcontainers.containers.wait.strategy.Wait;28import org.testcontainers.utility.DockerImageName;29public class ConsulContainer extends GenericContainer<ConsulContainer> {30 private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("consul");31 private static final String DEFAULT_TAG = "1.6.0";32 private static final int CONSUL_PORT = 8500;33 public ConsulContainer() {34 this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG));35 }36 public ConsulContainer(final String dockerImageName) {37 this(DockerImageName.parse(dockerImageName));38 }39 public ConsulContainer(final DockerImageName dockerImageName) {40 super(dockerImageName);41 withExposedPorts(CONSUL_PORT);42 waitingFor(Wait.forHttp("/ui/"));43 }44 public String getHost() {45 return getContainerIpAddress();46 }47 public Integer getPort() {48 return getFirstMappedPort();49 }50}51import org.testcontainers.containers.GenericContainer;52import org.testcontainers.containers.wait.strategy.Wait;53import org.testcontainers.utility.Docker

Full Screen

Full Screen

ConsulContainer

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;5import org.testcontainers.containers.output.Slf4jLogConsumer;6import org.slf4j.Logger;7import org.slf4j.LoggerFactory;8import org.testcontainers.containers.output.OutputFrame;9import org.testcontainers.containers.output.WaitingConsumer;10import org.testcontainers.containers.output.ToStringConsumer;11import org.testcontainers.containers.output.FrameConsumerResultCallback;12import org.testcontainers.containers.output.OutputFrame.OutputType;13import org.testcontainers.containers.output.FrameConsumerResultCallback;14import org.testcontainers.containers.output.FrameConsumerResultCallback;15import org.testcontainers.containers.output.FrameConsumerResultCallback;16import org.testcontainers.containers.output.FrameConsumerResultCallback;17import java.util.concurrent.TimeUnit;18import java.util.concurrent.TimeoutException;19import java.util.concurrent.ExecutionException;20import java.util.concurrent.TimeoutExcept

Full Screen

Full Screen

ConsulContainer

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.containers.ConsulContainer;2import org.testcontainers.containers.GenericContainer;3import org.testcontainers.containers.Network;4import org.testcontainers.containers.wait.strategy.Wait;5import org.testcontainers.containers.wait.strategy.WaitAllStrategy;6import org.testcontainers.containers.wait.strategy.WaitStrategy;7import org.testcontainers.utility.DockerImageName;8import java.time.Duration;9import java.util.ArrayList;10import java.util.List;11import java.util.stream.Collectors;12import java.util.stream.Stream;13public class ConsulContainerExample {14 public static void main(String[] args) {15 Network network = Network.newNetwork();16 List<GenericContainer> containers = new ArrayList<>();17 containers.add(new GenericContainer("consul:1.6.2")18 .withNetwork(network)19 .withNetworkAliases("consul")20 .withEnv("CONSUL_BIND_INTERFACE", "eth0")21 .waitingFor(Wait.forLogMessage(".*Synced node info.*", 1))22 .withExposedPorts(8500)23 .withCommand("agent", "-server", "-ui", "-client", "

Full Screen

Full Screen

ConsulContainer

Using AI Code Generation

copy

Full Screen

1package com.mycompany.app;2import org.testcontainers.containers.GenericContainer;3import org.testcontainers.containers.wait.strategy.Wait;4public class App {5 public static void main(String[] args) {6 GenericContainer consul = new GenericContainer("consul:1.7.2")7 .withExposedPorts(8500)8 .waitingFor(Wait.forHttp("/v1/status/leader"));9 consul.start();10 System.out.println(consul.getContainerIpAddress());11 System.out.println(consul.getMappedPort(8500));12 }13}

Full Screen

Full Screen

ConsulContainer

Using AI Code Generation

copy

Full Screen

1package com.example;2import org.testcontainers.containers.GenericContainer;3import org.testcontainers.containers.Network;4import org.testcontainers.containers.wait.strategy.Wait;5import org.testcontainers.utility.DockerImageName;6import java.util.Map;7public class ConsulContainer extends GenericContainer<ConsulContainer> {8 private static final int CONSUL_PORT = 8500;9 private static final int CONSUL_HTTP_PORT = 8500;10 public ConsulContainer() {11 this(DockerImageName.parse("consul:latest"));12 }13 public ConsulContainer(final String dockerImageName) {14 this(DockerImageName.parse(dockerImageName));15 }16 public ConsulContainer(final DockerImageName dockerImageName) {17 super(dockerImageName);18 withExposedPorts(CONSUL_PORT, CONSUL_HTTP_PORT);19 waitingFor(Wait.forHttp("/v1/status/leader"));20 }21 public String getHost() {22 return getContainerIpAddress();23 }24 public int getPort() {25 return getMappedPort(CONSUL_PORT);26 }27 public int getHttpPort() {28 return getMappedPort(CONSUL_HTTP_PORT);29 }30 public String getConsulUrl() {31 }32 public void joinCluster(final ConsulContainer... otherContainers) {33 for (final ConsulContainer container : otherContainers) {34 withCommand("agent", "-server", "-retry-join", container.getContainerIpAddress());35 }36 }37 public void joinCluster(final Network network, final ConsulContainer... otherContainers) {38 for (final ConsulContainer container : otherContainers) {39 withCommand("agent", "-server", "-retry-join", container.getNetworkAliases().get(0));40 }41 }42 public void withConfiguration(final Map<String, String> config) {43 withEnv(config);44 }45}46package com.example;47import org.junit.jupiter.api.Test;48import org.slf4j.Logger;49import org.slf4j.LoggerFactory;50import org.testcontainers.containers.Network;51import org.testcontainers.containers.wait.strategy.Wait;52import org.testcontainers.junit.jupiter.Container;53import org.testcontainers.junit.jupiter.Testcontainers;54public class ConsulTest {55 private static final Logger log = LoggerFactory.getLogger(ConsulTest.class);

Full Screen

Full Screen

ConsulContainer

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.WaitAllStrategy;4import org.testcontainers.containers.wait.strategy.WaitStrategy;5import org.testcontainers.containers.wait.strategy.WaitUntilHttpOk;6import org.testcontainers.containers.wait.strategy.WaitUntilNetworkStrategy;7import java.time.Duration;8import java.util.concurrent.TimeUnit;9import org.testcontainers.containers.output.Slf4jLogConsumer;10import org.testcontainers.containers.output.ToStringConsumer;11import org.testcontainers.containers.wait.strategy.WaitAllStrategy;12import org.testcontainers.containers.wait.strategy.WaitStrategy;13import org.testcontainers.containers.wait.strategy.WaitUntilHttpOk;14import org.testcontainers.containers.wait.strategy.WaitUntilNetworkStrategy;15import org.testcontainers.containers.output.Slf4jLogConsumer;16import org.testcontainers.containers.output.ToStringConsumer;17import org.testcontainers.containers.wait.strategy.WaitAllStrategy;18import org.testcontainers.containers.wait.strategy.WaitStrategy;19import org.testcontainers.containers.wait.strategy.WaitUntilHttpOk;20import org.testcontainers.containers.wait.strategy.WaitUntilNetworkStrategy;21import org.testcontainers.containers.output.Slf4jLogConsumer;22import org.testcontainers.containers.output.ToStringConsumer;23import org.testcontainers.containers.wait.strategy.WaitAllStrategy;24import org.testcontainers.containers.wait.strategy.WaitStrategy;25import org.testcontainers.containers.wait.strategy.WaitUntilHttpOk;26import org.testcontainers.containers.wait.strategy.WaitUntilNetworkStrategy;27import org.testcontainers.containers.output.Slf4jLogConsumer;28import org.testcontainers.containers.output.ToStringConsumer;29import org.testcontainers.containers.wait.strategy.WaitAllStrategy;30import org.testcontainers.containers.wait.strategy.WaitStrategy;31import org.testcontainers.containers.wait.strategy.WaitUntilHttpOk;32import org.testcontainers.containers.wait.strategy.WaitUntilNetworkStrategy;33import org.testcontainers.containers.output.Slf4jLogConsumer;34import org.testcontainers.containers.output.ToStringConsumer;35import org.testcontainers.containers.wait.strategy.WaitAllStrategy;36import org.testcontainers.containers.wait.strategy.WaitStrategy;37import org.testcontainers.containers

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