Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/modules/kafka.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ More precisely Testcontainers uses the official Docker images for [Confluent OSS

## Example

The following field in your JUnit test class will prepare a container running Kafka:
Create a `KafkaContainer` to use it in your tests:
<!--codeinclude-->
[JUnit Rule](../../modules/kafka/src/test/java/org/testcontainers/containers/KafkaContainerTest.java) inside_block:junitRule
[Creating a KafkaContainer](../../modules/kafka/src/test/java/org/testcontainers/containers/KafkaContainerTest.java) inside_block:constructorWithVersion
<!--/codeinclude-->

The correspondence between Confluent Platform versions and Kafka versions can be seen [in Confluent documentation](https://docs.confluent.io/current/installation/versions-interoperability.html#cp-and-apache-kafka-compatibility)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
package org.testcontainers.containers;

import static java.util.Collections.singletonList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.tuple;

import com.google.common.collect.ImmutableMap;
import java.time.Duration;
import java.util.Collection;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.kafka.clients.admin.NewTopic;
Expand All @@ -21,22 +13,25 @@
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringDeserializer;
import org.apache.kafka.common.serialization.StringSerializer;
import org.junit.ClassRule;
import org.junit.Test;
import org.rnorth.ducttape.unreliables.Unreliables;
import org.testcontainers.Testcontainers;
import org.testcontainers.utility.DockerImageName;

import java.time.Duration;
import java.util.Collection;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

import static java.util.Collections.singletonList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.tuple;

public class KafkaContainerTest {

private static final DockerImageName KAFKA_TEST_IMAGE = DockerImageName.parse("confluentinc/cp-kafka:5.4.3");
private static final DockerImageName KAFKA_TEST_IMAGE = DockerImageName.parse("confluentinc/cp-kafka:6.2.1");
private static final DockerImageName ZOOKEEPER_TEST_IMAGE = DockerImageName.parse("confluentinc/cp-zookeeper:4.0.0");

// junitRule {
@ClassRule
public static KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.4.3"));
// }

@Test
public void testUsage() throws Exception {
try (KafkaContainer kafka = new KafkaContainer(KAFKA_TEST_IMAGE)) {
Expand All @@ -50,7 +45,7 @@ public void testUsage() throws Exception {
public void testUsageWithSpecificImage() throws Exception {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think no real need to keep the general testUsage() as well as the testUsageWithSpecificImage test. Since testUsageWithSpecificImage is used for inlining code in the docs, I would keep this one.

try (
// constructorWithVersion {
KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.4.3"))
KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:6.2.1"))
// }
) {
kafka.start();
Expand All @@ -62,11 +57,10 @@ public void testUsageWithSpecificImage() throws Exception {
}
}


@Test
public void testUsageWithVersion() throws Exception {
try (
KafkaContainer kafka = new KafkaContainer("5.5.1")
KafkaContainer kafka = new KafkaContainer("6.2.1")
) {
kafka.start();
testKafkaFunctionality(kafka.getBootstrapServers());
Expand Down Expand Up @@ -105,9 +99,9 @@ public void testExternalZookeeperWithExternalNetwork() throws Exception {
}

@Test
public void testConfluentPlatformVersion6() throws Exception {
public void testConfluentPlatformVersion5() throws Exception {
try (
KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:6.0.0"))
KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.4.3"))
) {
kafka.start();
testKafkaFunctionality(kafka.getBootstrapServers());
Expand Down