This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 8ce4b46 #2490 fix camel-quarkus-hbase-integration-test 8ce4b46 is described below commit 8ce4b466fde503c5485e26a3efa36b0c2aa982b6 Author: Freeman Fang <freeman.f...@gmail.com> AuthorDate: Thu Apr 22 19:12:07 2021 -0400 #2490 fix camel-quarkus-hbase-integration-test --- .../component/hbase/it/HBaseTestResource.java | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HBaseTestResource.java b/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HBaseTestResource.java index fc7c27a..375c264 100644 --- a/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HBaseTestResource.java +++ b/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HBaseTestResource.java @@ -16,9 +16,15 @@ */ package org.apache.camel.quarkus.component.hbase.it; +import java.net.InetAddress; import java.util.Collections; import java.util.Map; +import java.util.function.Consumer; +import com.github.dockerjava.api.command.CreateContainerCmd; +import com.github.dockerjava.api.model.ExposedPort; +import com.github.dockerjava.api.model.PortBinding; +import com.github.dockerjava.api.model.Ports; import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; import org.jboss.logging.Logger; import org.testcontainers.containers.GenericContainer; @@ -35,12 +41,21 @@ public class HBaseTestResource implements QuarkusTestResourceLifecycleManager { public Map<String, String> start() { try { - //there is only one tag for this docker image - latest. See https://hub.docker.com/r/dajobe/hbase/tags - //Hbase is using zookeeper. Hbase client gets location of hbase master from zookeeper, which means that - //location uses internal hostnames from the docker. Network mode `host` is the only way how to avoid - //manipulation with the hosts configuration at the test server. + String hostname = InetAddress.getLocalHost().getHostName(); + Consumer<CreateContainerCmd> cmd = e -> { + e + .withPortBindings(new PortBinding(Ports.Binding.bindPort(2181), + new ExposedPort(2181)), + new PortBinding(Ports.Binding.bindPort(16000), + new ExposedPort(16000)), + new PortBinding(Ports.Binding.bindPort(16020), + new ExposedPort(16020))); + e.withHostName(hostname); + }; + container = new GenericContainer<>("dajobe/hbase:latest") - .withNetworkMode("host") + .withExposedPorts(2181, 16000, 16020) + .withCreateContainerCmdModifier(cmd) .withLogConsumer(frame -> System.out.print(frame.getUtf8String())) .waitingFor( Wait.forLogMessage(".*Finished refreshing block distribution cache for 2 regions\\n", 1));