From a2aeaabdf78fcc01e0ba42e1ab3db08fa464e408 Mon Sep 17 00:00:00 2001 From: irasikhin Date: Fri, 9 Feb 2018 17:28:26 +0300 Subject: [PATCH 1/3] Add ability to specify docker image in KafkaContainer. --- .../java/org/testcontainers/containers/KafkaContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index 924dc122442..2989697fd44 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -19,11 +19,11 @@ public class KafkaContainer extends GenericContainer { protected SocatContainer proxy; public KafkaContainer() { - this("4.0.0"); + this("confluentinc/cp-kafka:4.0.0"); } - public KafkaContainer(String confluentPlatformVersion) { - super("confluentinc/cp-kafka:" + confluentPlatformVersion); + public KafkaContainer(String confluentPlatformImage) { + super(confluentPlatformImage); withNetwork(Network.newNetwork()); String networkAlias = "kafka-" + Base58.randomString(6); From 4b3cb68c0286789e4adb3b9797dcf7d44c7ee59a Mon Sep 17 00:00:00 2001 From: irasikhin Date: Fri, 9 Feb 2018 19:23:47 +0300 Subject: [PATCH 2/3] Added 'kafka.container.image' property to TestcontainersConfiguration in order to have an opportunity to replace default image with testcontainers.properties. --- .../utility/TestcontainersConfiguration.java | 4 ++++ docs/usage/properties.md | 3 +++ .../java/org/testcontainers/containers/KafkaContainer.java | 7 ++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java index d62728a4338..929f5b94d4c 100644 --- a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java +++ b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java @@ -50,6 +50,10 @@ public String getRyukImage() { return (String) properties.getOrDefault("ryuk.container.image", "bsideup/moby-ryuk:0.2.2"); } + public String getKafkaImage() { + return (String) properties.getOrDefault("kafka.container.image", "confluentinc/cp-kafka:4.0.0"); + } + public boolean isDisableChecks() { return Boolean.parseBoolean((String) properties.getOrDefault("checks.disable", "false")); } diff --git a/docs/usage/properties.md b/docs/usage/properties.md index 8890c5581e0..28f039b4630 100644 --- a/docs/usage/properties.md +++ b/docs/usage/properties.md @@ -34,5 +34,8 @@ It takes a couple of seconds, but if you want to speed up your tests, you can di > **compose.container.image = docker/compose:1.8.0** > Used by Docker Compose integration +> **kafka.container.image = confluentinc/cp-kafka:4.0.0** +> Used by KafkaContainer + Testcontainers uses public Docker images to perform different actions like startup checks, VNC recording and others. Some companies disallow the usage of Docker Hub, but you can override `*.image` properties with your own images from your private registry to workaround that. diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index 2989697fd44..8fb177e9311 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -1,6 +1,7 @@ package org.testcontainers.containers; import org.testcontainers.utility.Base58; +import org.testcontainers.utility.TestcontainersConfiguration; import java.util.stream.Stream; @@ -19,11 +20,7 @@ public class KafkaContainer extends GenericContainer { protected SocatContainer proxy; public KafkaContainer() { - this("confluentinc/cp-kafka:4.0.0"); - } - - public KafkaContainer(String confluentPlatformImage) { - super(confluentPlatformImage); + super(TestcontainersConfiguration.getInstance().getKafkaImage()); withNetwork(Network.newNetwork()); String networkAlias = "kafka-" + Base58.randomString(6); From 9c22ea8be6ad26d413f76d6c58fbb1d65a60a29d Mon Sep 17 00:00:00 2001 From: irasikhin Date: Fri, 9 Feb 2018 19:39:45 +0300 Subject: [PATCH 3/3] Return version argument to KafkaContainer constructor. --- .../testcontainers/utility/TestcontainersConfiguration.java | 2 +- docs/usage/properties.md | 4 ++-- .../java/org/testcontainers/containers/KafkaContainer.java | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java index 929f5b94d4c..3a6ef4d2537 100644 --- a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java +++ b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java @@ -51,7 +51,7 @@ public String getRyukImage() { } public String getKafkaImage() { - return (String) properties.getOrDefault("kafka.container.image", "confluentinc/cp-kafka:4.0.0"); + return (String) properties.getOrDefault("kafka.container.image", "confluentinc/cp-kafka"); } public boolean isDisableChecks() { diff --git a/docs/usage/properties.md b/docs/usage/properties.md index 28f039b4630..bfe9233dcb5 100644 --- a/docs/usage/properties.md +++ b/docs/usage/properties.md @@ -34,8 +34,8 @@ It takes a couple of seconds, but if you want to speed up your tests, you can di > **compose.container.image = docker/compose:1.8.0** > Used by Docker Compose integration -> **kafka.container.image = confluentinc/cp-kafka:4.0.0** -> Used by KafkaContainer +> **kafka.container.image = confluentinc/cp-kafka** +> Used by KafkaContainer Testcontainers uses public Docker images to perform different actions like startup checks, VNC recording and others. Some companies disallow the usage of Docker Hub, but you can override `*.image` properties with your own images from your private registry to workaround that. diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index 8fb177e9311..b9d7afeeaa5 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -20,7 +20,11 @@ public class KafkaContainer extends GenericContainer { protected SocatContainer proxy; public KafkaContainer() { - super(TestcontainersConfiguration.getInstance().getKafkaImage()); + this("4.0.0"); + } + + public KafkaContainer(String confluentPlatformVersion) { + super(TestcontainersConfiguration.getInstance().getKafkaImage() + ":" + confluentPlatformVersion); withNetwork(Network.newNetwork()); String networkAlias = "kafka-" + Base58.randomString(6);