diff --git a/core/build.gradle b/core/build.gradle index b4ed66c2852..9545670ef3f 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -53,8 +53,7 @@ tasks.japicmp { methodExcludes = [ "org.testcontainers.containers.Container#getDockerClient()", "org.testcontainers.containers.ContainerState#getDockerClient()", - "org.testcontainers.containers.ContainerState#execInContainerWithUser(java.lang.String,java.lang.String[])", - "org.testcontainers.containers.ContainerState#execInContainerWithUser(java.nio.charset.Charset,java.lang.String,java.lang.String[])", + "org.testcontainers.containers.Network#ofContainer(java.lang.String)", ] fieldExcludes = [] diff --git a/core/src/main/java/org/testcontainers/containers/Network.java b/core/src/main/java/org/testcontainers/containers/Network.java index 88ddd6dd906..6219fe8fa4f 100644 --- a/core/src/main/java/org/testcontainers/containers/Network.java +++ b/core/src/main/java/org/testcontainers/containers/Network.java @@ -3,6 +3,7 @@ import com.github.dockerjava.api.command.CreateNetworkCmd; import lombok.Builder; import lombok.Getter; +import lombok.NonNull; import lombok.Singular; import org.junit.rules.ExternalResource; import org.junit.rules.TestRule; @@ -38,6 +39,21 @@ static NetworkImpl.NetworkImplBuilder builder() { return NetworkImpl.builder(); } + static Network ofContainer(@NonNull String containerId) { + class ContainerNetwork extends ExternalResource implements Network { + + @Override + public String getId() { + return "container:" + containerId; + } + + @Override + public void close() {} + } + + return new ContainerNetwork(); + } + @Builder @Getter class NetworkImpl extends ExternalResource implements Network { diff --git a/modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java b/modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java index a5525cb5bdf..34c26a2cc07 100644 --- a/modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java +++ b/modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java @@ -196,16 +196,6 @@ protected void configure() { throw new ContainerLaunchException("Exception while trying to create temp directory", e); } } - - if (getNetwork() == null) { - withNetwork(Network.SHARED); - } - - vncRecordingContainer = - new VncRecordingContainer(this) - .withVncPassword(DEFAULT_PASSWORD) - .withVncPort(VNC_PORT) - .withVideoFormat(recordingFormat); } if (customImageName != null) { @@ -318,8 +308,14 @@ public int getPort() { @Override protected void containerIsStarted(InspectContainerResponse containerInfo) { - if (vncRecordingContainer != null) { + if (recordingMode != VncRecordingMode.SKIP) { LOGGER.debug("Starting VNC recording"); + vncRecordingContainer = + new VncRecordingContainer(Network.ofContainer(containerInfo.getId()), "localhost") + .withVncPassword(DEFAULT_PASSWORD) + .withVncPort(VNC_PORT) + .withVideoFormat(recordingFormat); + vncRecordingContainer.start(); } }