From 83f4b01ebccea27b2a62375e3a9a8ec6da625a3d Mon Sep 17 00:00:00 2001 From: orange-buffalo Date: Mon, 25 Sep 2017 20:52:48 +0200 Subject: [PATCH] adding fluent builder withLink for addLink method --- .../java/org/testcontainers/containers/Container.java | 11 ++++++++++- .../testcontainers/containers/GenericContainer.java | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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)); }