diff --git a/core/src/main/java/org/testcontainers/containers/Container.java b/core/src/main/java/org/testcontainers/containers/Container.java index e8ad7f0ba75..283f332d81f 100644 --- a/core/src/main/java/org/testcontainers/containers/Container.java +++ b/core/src/main/java/org/testcontainers/containers/Container.java @@ -100,7 +100,8 @@ default void addFileSystemBind(final String hostPath, final String containerPath void addFileSystemBind(String hostPath, String containerPath, BindMode mode, SelinuxContext selinuxContext); /** - * Add a link to another container. + * Add a link to another container. Consider using {@link #withLink(LinkableContainer, String)} + * for building a container in a fluent style. * * @param otherContainer the other container object to link to * @param alias the alias (for the other container) that this container should be able to use @@ -151,6 +152,14 @@ default void addFileSystemBind(final String hostPath, final String containerPath */ SELF withVolumesFrom(Container container, BindMode mode); + /** + * Add a link to another container. + * + * @param otherContainer the other container object to link to + * @param alias the alias (for the other container) that this container should be able to use + */ + SELF withLink(LinkableContainer otherContainer, String alias); + /** * Set the ports that this container listens on * diff --git a/core/src/main/java/org/testcontainers/containers/GenericContainer.java b/core/src/main/java/org/testcontainers/containers/GenericContainer.java index 14f09448817..220cbfeb00f 100644 --- a/core/src/main/java/org/testcontainers/containers/GenericContainer.java +++ b/core/src/main/java/org/testcontainers/containers/GenericContainer.java @@ -518,6 +518,12 @@ public SELF withVolumesFrom(Container container, BindMode mode) { return self(); } + @Override + public SELF withLink(LinkableContainer otherContainer, String alias) { + addLink(otherContainer, alias); + return self(); + } + private void addVolumesFrom(Container container, BindMode mode) { volumesFroms.add(new VolumesFrom(container.getContainerName(), mode.accessMode)); }