This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-examples.git
The following commit(s) were added to refs/heads/main by this push:
new 0c04f26 Simplify the tests by using the testcontainers' extension
0c04f26 is described below
commit 0c04f263aa72cc45dd758b6db190d63123e3129f
Author: Nicolas Filotto <[email protected]>
AuthorDate: Mon Feb 21 13:16:14 2022 +0100
Simplify the tests by using the testcontainers' extension
---
.../org/apache/camel/example/AwsS3KafkaTest.java | 40 ++++-------
.../java/org/apache/camel/example/AwsS3Test.java | 30 +++-----
.../java/org/apache/camel/example/AwsS3Test.java | 31 +++------
.../java/org/apache/camel/example/AwsSQSTest.java | 34 +++------
.../org/apache/camel/example/KafkaAwsS3Test.java | 40 ++++-------
.../org/apache/camel/example/KafkaAwsS3Test.java | 40 ++++-------
examples/aws/pom.xml | 6 ++
examples/couchbase-log/pom.xml | 6 ++
.../org/apache/camel/example/CouchbaseTest.java | 65 +++++++++--------
examples/debezium/pom.xml | 6 ++
.../camel/example/debezium/DebeziumTest.java | 81 +++++++++++-----------
examples/kafka/pom.xml | 6 ++
.../org/apache/camel/example/kafka/KafkaTest.java | 24 ++-----
examples/mongodb/pom.xml | 6 ++
.../apache/camel/example/mongodb/MongoDBTest.java | 22 ++----
examples/vertx-kafka/pom.xml | 6 ++
.../camel/example/vertx/kafka/VertxKafkaTest.java | 24 ++-----
17 files changed, 197 insertions(+), 270 deletions(-)
diff --git
a/examples/aws/main-endpointdsl-aws2-s3-kafka/src/test/java/org/apache/camel/example/AwsS3KafkaTest.java
b/examples/aws/main-endpointdsl-aws2-s3-kafka/src/test/java/org/apache/camel/example/AwsS3KafkaTest.java
index 9c031b8..8b22514 100644
---
a/examples/aws/main-endpointdsl-aws2-s3-kafka/src/test/java/org/apache/camel/example/AwsS3KafkaTest.java
+++
b/examples/aws/main-endpointdsl-aws2-s3-kafka/src/test/java/org/apache/camel/example/AwsS3KafkaTest.java
@@ -26,12 +26,12 @@ import org.apache.camel.component.aws2.s3.AWS2S3Component;
import org.apache.camel.component.aws2.s3.AWS2S3Constants;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -45,32 +45,18 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can poll an Amazon S3 bucket and put the
data into a Kafka topic.
*/
+@Testcontainers
class AwsS3KafkaTest extends CamelMainTestSupport {
private static final String AWS_IMAGE = "localstack/localstack:0.13.3";
private static final String KAFKA_IMAGE = "confluentinc/cp-kafka:6.2.2";
- private static LocalStackContainer AWS_CONTAINER;
- private static KafkaContainer KAFKA_CONTAINER;
- @BeforeAll
- static void init() {
- AWS_CONTAINER = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
- .withServices(S3)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));;
- AWS_CONTAINER.start();
- KAFKA_CONTAINER = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
- KAFKA_CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (AWS_CONTAINER != null) {
- AWS_CONTAINER.stop();
- }
- if (KAFKA_CONTAINER != null) {
- KAFKA_CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer awsContainer = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
+ .withServices(S3)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
+ @Container
+ private final KafkaContainer kafkaContainer = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -78,13 +64,13 @@ class AwsS3KafkaTest extends CamelMainTestSupport {
AWS2S3Component s3 = camelContext.getComponent("aws2-s3",
AWS2S3Component.class);
s3.getConfiguration().setAmazonS3Client(
S3Client.builder()
- .endpointOverride(AWS_CONTAINER.getEndpointOverride(S3))
+ .endpointOverride(awsContainer.getEndpointOverride(S3))
.credentialsProvider(
StaticCredentialsProvider.create(
-
AwsBasicCredentials.create(AWS_CONTAINER.getAccessKey(),
AWS_CONTAINER.getSecretKey())
+
AwsBasicCredentials.create(awsContainer.getAccessKey(),
awsContainer.getSecretKey())
)
)
- .region(Region.of(AWS_CONTAINER.getRegion()))
+ .region(Region.of(awsContainer.getRegion()))
.build()
);
return camelContext;
@@ -93,7 +79,7 @@ class AwsS3KafkaTest extends CamelMainTestSupport {
@Override
protected Properties useOverridePropertiesWithPropertiesComponent() {
return asProperties(
- "kafkaBrokers", String.format("%s:%d", KAFKA_CONTAINER.getHost(),
KAFKA_CONTAINER.getMappedPort(9093))
+ "kafkaBrokers", String.format("%s:%d", kafkaContainer.getHost(),
kafkaContainer.getMappedPort(9093))
);
}
diff --git
a/examples/aws/main-endpointdsl-aws2-s3/src/test/java/org/apache/camel/example/AwsS3Test.java
b/examples/aws/main-endpointdsl-aws2-s3/src/test/java/org/apache/camel/example/AwsS3Test.java
index 9fd16ce..48bf872 100644
---
a/examples/aws/main-endpointdsl-aws2-s3/src/test/java/org/apache/camel/example/AwsS3Test.java
+++
b/examples/aws/main-endpointdsl-aws2-s3/src/test/java/org/apache/camel/example/AwsS3Test.java
@@ -25,11 +25,11 @@ import org.apache.camel.component.aws2.s3.AWS2S3Component;
import org.apache.camel.component.aws2.s3.AWS2S3Constants;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -42,25 +42,15 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can poll an Amazon S3 bucket.
*/
+@Testcontainers
class AwsS3Test extends CamelMainTestSupport {
private static final String IMAGE = "localstack/localstack:0.13.3";
- private static LocalStackContainer CONTAINER;
- @BeforeAll
- static void init() {
- CONTAINER = new LocalStackContainer(DockerImageName.parse(IMAGE))
- .withServices(S3)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));;
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer container = new
LocalStackContainer(DockerImageName.parse(IMAGE))
+ .withServices(S3)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -68,13 +58,13 @@ class AwsS3Test extends CamelMainTestSupport {
AWS2S3Component s3 = camelContext.getComponent("aws2-s3",
AWS2S3Component.class);
s3.getConfiguration().setAmazonS3Client(
S3Client.builder()
- .endpointOverride(CONTAINER.getEndpointOverride(S3))
+ .endpointOverride(container.getEndpointOverride(S3))
.credentialsProvider(
StaticCredentialsProvider.create(
- AwsBasicCredentials.create(CONTAINER.getAccessKey(),
CONTAINER.getSecretKey())
+ AwsBasicCredentials.create(container.getAccessKey(),
container.getSecretKey())
)
)
- .region(Region.of(CONTAINER.getRegion()))
+ .region(Region.of(container.getRegion()))
.build()
);
return camelContext;
diff --git
a/examples/aws/main-endpointdsl-aws2/aws2-s3-events-inject/src/test/java/org/apache/camel/example/AwsS3Test.java
b/examples/aws/main-endpointdsl-aws2/aws2-s3-events-inject/src/test/java/org/apache/camel/example/AwsS3Test.java
index a54d130..01ad71c 100644
---
a/examples/aws/main-endpointdsl-aws2/aws2-s3-events-inject/src/test/java/org/apache/camel/example/AwsS3Test.java
+++
b/examples/aws/main-endpointdsl-aws2/aws2-s3-events-inject/src/test/java/org/apache/camel/example/AwsS3Test.java
@@ -22,13 +22,12 @@ import org.apache.camel.CamelContext;
import org.apache.camel.builder.NotifyBuilder;
import org.apache.camel.component.aws2.s3.AWS2S3Component;
import org.apache.camel.main.MainConfigurationProperties;
-import org.apache.camel.spi.Registry;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -41,25 +40,15 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can store content into an Amazon S3 bucket.
*/
+@Testcontainers
class AwsS3Test extends CamelMainTestSupport {
private static final String IMAGE = "localstack/localstack:0.13.3";
- private static LocalStackContainer CONTAINER;
- @BeforeAll
- static void init() {
- CONTAINER = new LocalStackContainer(DockerImageName.parse(IMAGE))
- .withServices(S3)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));;
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer container = new
LocalStackContainer(DockerImageName.parse(IMAGE))
+ .withServices(S3)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -67,13 +56,13 @@ class AwsS3Test extends CamelMainTestSupport {
AWS2S3Component s3 = camelContext.getComponent("aws2-s3",
AWS2S3Component.class);
s3.getConfiguration().setAmazonS3Client(
S3Client.builder()
- .endpointOverride(CONTAINER.getEndpointOverride(S3))
+ .endpointOverride(container.getEndpointOverride(S3))
.credentialsProvider(
StaticCredentialsProvider.create(
- AwsBasicCredentials.create(CONTAINER.getAccessKey(),
CONTAINER.getSecretKey())
+ AwsBasicCredentials.create(container.getAccessKey(),
container.getSecretKey())
)
)
- .region(Region.of(CONTAINER.getRegion()))
+ .region(Region.of(container.getRegion()))
.build()
);
return camelContext;
diff --git
a/examples/aws/main-endpointdsl-aws2/aws2-sqs-consumer/src/test/java/org/apache/camel/example/AwsSQSTest.java
b/examples/aws/main-endpointdsl-aws2/aws2-sqs-consumer/src/test/java/org/apache/camel/example/AwsSQSTest.java
index 8d396fd..46a1ec6 100644
---
a/examples/aws/main-endpointdsl-aws2/aws2-sqs-consumer/src/test/java/org/apache/camel/example/AwsSQSTest.java
+++
b/examples/aws/main-endpointdsl-aws2/aws2-sqs-consumer/src/test/java/org/apache/camel/example/AwsSQSTest.java
@@ -24,11 +24,11 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.aws2.sqs.Sqs2Component;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -41,25 +41,15 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can consume messages from Amazon SQS.
*/
+@Testcontainers
class AwsSQSTest extends CamelMainTestSupport {
private static final String IMAGE = "localstack/localstack:0.13.3";
- private static LocalStackContainer CONTAINER;
- @BeforeAll
- static void init() {
- CONTAINER = new LocalStackContainer(DockerImageName.parse(IMAGE))
- .withServices(SQS)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));;
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer container = new
LocalStackContainer(DockerImageName.parse(IMAGE))
+ .withServices(SQS)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -67,13 +57,13 @@ class AwsSQSTest extends CamelMainTestSupport {
Sqs2Component sqs = camelContext.getComponent("aws2-sqs",
Sqs2Component.class);
sqs.getConfiguration().setAmazonSQSClient(
SqsClient.builder()
- .endpointOverride(CONTAINER.getEndpointOverride(SQS))
+ .endpointOverride(container.getEndpointOverride(SQS))
.credentialsProvider(
StaticCredentialsProvider.create(
- AwsBasicCredentials.create(CONTAINER.getAccessKey(),
CONTAINER.getSecretKey())
+ AwsBasicCredentials.create(container.getAccessKey(),
container.getSecretKey())
)
)
- .region(Region.of(CONTAINER.getRegion()))
+ .region(Region.of(container.getRegion()))
.build()
);
return camelContext;
@@ -82,9 +72,7 @@ class AwsSQSTest extends CamelMainTestSupport {
@Test
void should_poll_sqs_queue() {
// Add a message first
- template.send("direct:publishMessage", exchange -> {
- exchange.getIn().setBody("Camel rocks!");
- });
+ template.send("direct:publishMessage", exchange ->
exchange.getIn().setBody("Camel rocks!"));
NotifyBuilder notify = new
NotifyBuilder(context).from("aws2-sqs:*").whenCompleted(1).create();
assertTrue(
diff --git
a/examples/aws/main-endpointdsl-kafka-aws2-s3-restarting-policy/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
b/examples/aws/main-endpointdsl-kafka-aws2-s3-restarting-policy/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
index 8db62bd..b96fc05 100644
---
a/examples/aws/main-endpointdsl-kafka-aws2-s3-restarting-policy/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
+++
b/examples/aws/main-endpointdsl-kafka-aws2-s3-restarting-policy/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
@@ -25,12 +25,12 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.aws2.s3.AWS2S3Component;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -44,32 +44,18 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can poll data from a Kafka topic and put it
into an Amazon S3 bucket.
*/
+@Testcontainers
class KafkaAwsS3Test extends CamelMainTestSupport {
private static final String AWS_IMAGE = "localstack/localstack:0.13.3";
private static final String KAFKA_IMAGE = "confluentinc/cp-kafka:6.2.2";
- private static LocalStackContainer AWS_CONTAINER;
- private static KafkaContainer KAFKA_CONTAINER;
- @BeforeAll
- static void init() {
- AWS_CONTAINER = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
- .withServices(S3)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
- AWS_CONTAINER.start();
- KAFKA_CONTAINER = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
- KAFKA_CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (AWS_CONTAINER != null) {
- AWS_CONTAINER.stop();
- }
- if (KAFKA_CONTAINER != null) {
- KAFKA_CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer awsContainer = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
+ .withServices(S3)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
+ @Container
+ private final KafkaContainer kafkaContainer = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -77,13 +63,13 @@ class KafkaAwsS3Test extends CamelMainTestSupport {
AWS2S3Component s3 = camelContext.getComponent("aws2-s3",
AWS2S3Component.class);
s3.getConfiguration().setAmazonS3Client(
S3Client.builder()
- .endpointOverride(AWS_CONTAINER.getEndpointOverride(S3))
+ .endpointOverride(awsContainer.getEndpointOverride(S3))
.credentialsProvider(
StaticCredentialsProvider.create(
-
AwsBasicCredentials.create(AWS_CONTAINER.getAccessKey(),
AWS_CONTAINER.getSecretKey())
+
AwsBasicCredentials.create(awsContainer.getAccessKey(),
awsContainer.getSecretKey())
)
)
- .region(Region.of(AWS_CONTAINER.getRegion()))
+ .region(Region.of(awsContainer.getRegion()))
.build()
);
return camelContext;
@@ -92,7 +78,7 @@ class KafkaAwsS3Test extends CamelMainTestSupport {
@Override
protected Properties useOverridePropertiesWithPropertiesComponent() {
return asProperties(
- "kafkaBrokers", String.format("%s:%d", KAFKA_CONTAINER.getHost(),
KAFKA_CONTAINER.getMappedPort(9093))
+ "kafkaBrokers", String.format("%s:%d", kafkaContainer.getHost(),
kafkaContainer.getMappedPort(9093))
);
}
diff --git
a/examples/aws/main-endpointdsl-kafka-aws2-s3/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
b/examples/aws/main-endpointdsl-kafka-aws2-s3/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
index 78bbe93..b0ff334 100644
---
a/examples/aws/main-endpointdsl-kafka-aws2-s3/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
+++
b/examples/aws/main-endpointdsl-kafka-aws2-s3/src/test/java/org/apache/camel/example/KafkaAwsS3Test.java
@@ -25,12 +25,12 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.aws2.s3.AWS2S3Component;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -44,32 +44,18 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can poll data from a Kafka topic and put it
into an Amazon S3 bucket.
*/
+@Testcontainers
class KafkaAwsS3Test extends CamelMainTestSupport {
private static final String AWS_IMAGE = "localstack/localstack:0.13.3";
private static final String KAFKA_IMAGE = "confluentinc/cp-kafka:6.2.2";
- private static LocalStackContainer AWS_CONTAINER;
- private static KafkaContainer KAFKA_CONTAINER;
- @BeforeAll
- static void init() {
- AWS_CONTAINER = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
- .withServices(S3)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
- AWS_CONTAINER.start();
- KAFKA_CONTAINER = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
- KAFKA_CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (AWS_CONTAINER != null) {
- AWS_CONTAINER.stop();
- }
- if (KAFKA_CONTAINER != null) {
- KAFKA_CONTAINER.stop();
- }
- }
+ @Container
+ private final LocalStackContainer awsContainer = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
+ .withServices(S3)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
+ @Container
+ private final KafkaContainer kafkaContainer = new
KafkaContainer(DockerImageName.parse(KAFKA_IMAGE));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -77,13 +63,13 @@ class KafkaAwsS3Test extends CamelMainTestSupport {
AWS2S3Component s3 = camelContext.getComponent("aws2-s3",
AWS2S3Component.class);
s3.getConfiguration().setAmazonS3Client(
S3Client.builder()
- .endpointOverride(AWS_CONTAINER.getEndpointOverride(S3))
+ .endpointOverride(awsContainer.getEndpointOverride(S3))
.credentialsProvider(
StaticCredentialsProvider.create(
-
AwsBasicCredentials.create(AWS_CONTAINER.getAccessKey(),
AWS_CONTAINER.getSecretKey())
+
AwsBasicCredentials.create(awsContainer.getAccessKey(),
awsContainer.getSecretKey())
)
)
- .region(Region.of(AWS_CONTAINER.getRegion()))
+ .region(Region.of(awsContainer.getRegion()))
.build()
);
return camelContext;
@@ -92,7 +78,7 @@ class KafkaAwsS3Test extends CamelMainTestSupport {
@Override
protected Properties useOverridePropertiesWithPropertiesComponent() {
return asProperties(
- "kafkaBrokers", String.format("%s:%d", KAFKA_CONTAINER.getHost(),
KAFKA_CONTAINER.getMappedPort(9093))
+ "kafkaBrokers", String.format("%s:%d", kafkaContainer.getHost(),
kafkaContainer.getMappedPort(9093))
);
}
diff --git a/examples/aws/pom.xml b/examples/aws/pom.xml
index bdaab06..a3e3d28 100644
--- a/examples/aws/pom.xml
+++ b/examples/aws/pom.xml
@@ -59,6 +59,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.12.150</version>
diff --git a/examples/couchbase-log/pom.xml b/examples/couchbase-log/pom.xml
index 822d36c..35c5100 100644
--- a/examples/couchbase-log/pom.xml
+++ b/examples/couchbase-log/pom.xml
@@ -89,6 +89,12 @@
<version>${testcontainers-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
diff --git
a/examples/couchbase-log/src/test/java/org/apache/camel/example/CouchbaseTest.java
b/examples/couchbase-log/src/test/java/org/apache/camel/example/CouchbaseTest.java
index 2e64b6f..825d622 100644
---
a/examples/couchbase-log/src/test/java/org/apache/camel/example/CouchbaseTest.java
+++
b/examples/couchbase-log/src/test/java/org/apache/camel/example/CouchbaseTest.java
@@ -31,11 +31,13 @@ import org.apache.camel.builder.NotifyBuilder;
import org.apache.camel.component.couchbase.CouchbaseConstants;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.couchbase.BucketDefinition;
import org.testcontainers.couchbase.CouchbaseContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import static org.apache.camel.util.PropertiesHelper.asProperties;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -43,27 +45,28 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* A unit test checking that Camel consume data from Couchbase.
*/
+@Testcontainers
class CouchbaseTest extends CamelMainTestSupport {
private static final String IMAGE = "couchbase/server:7.0.3";
private static final String BUCKET = "test-bucket-" +
System.currentTimeMillis();
- private static CouchbaseContainer CONTAINER;
- private static Cluster CLUSTER;
- @BeforeAll
- static void init() {
- CONTAINER = new CouchbaseContainer(IMAGE) {
- {
- // Camel component tries to use the default port of the KV
Service, so we need to fix it
- final int kvPort = 11210;
- addFixedExposedPort(kvPort, kvPort);
- }
- }.withBucket(new BucketDefinition(BUCKET));
- CONTAINER.start();
- CLUSTER = Cluster.connect(
- CONTAINER.getConnectionString(),
- CONTAINER.getUsername(),
- CONTAINER.getPassword()
+ @Container
+ private final CouchbaseContainer container = new CouchbaseContainer(IMAGE)
{
+ {
+ // Camel component tries to use the default port of the KV
Service, so we need to fix it
+ final int kvPort = 11210;
+ addFixedExposedPort(kvPort, kvPort);
+ }
+ }.withBucket(new BucketDefinition(BUCKET));
+ private Cluster cluster;
+
+ @BeforeEach
+ void init() {
+ cluster = Cluster.connect(
+ container.getConnectionString(),
+ container.getUsername(),
+ container.getPassword()
);
DesignDocument designDoc = new DesignDocument(
CouchbaseConstants.DEFAULT_DESIGN_DOCUMENT_NAME,
@@ -72,36 +75,30 @@ class CouchbaseTest extends CamelMainTestSupport {
new View("function (doc, meta) { emit(meta.id, doc);}")
)
);
- CLUSTER.bucket(BUCKET).viewIndexes().upsertDesignDocument(designDoc,
DesignDocumentNamespace.PRODUCTION);
+ cluster.bucket(BUCKET).viewIndexes().upsertDesignDocument(designDoc,
DesignDocumentNamespace.PRODUCTION);
}
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- try {
- if (CLUSTER != null) {
- CLUSTER.disconnect();
- }
- } finally {
- CONTAINER.stop();
- }
+ @AfterEach
+ void destroy() {
+ if (cluster != null) {
+ cluster.disconnect();
}
}
@Override
protected Properties useOverridePropertiesWithPropertiesComponent() {
return asProperties(
- "couchbase.host", CONTAINER.getHost(),
- "couchbase.port",
Integer.toString(CONTAINER.getBootstrapHttpDirectPort()),
- "couchbase.username", CONTAINER.getUsername(),
- "couchbase.password", CONTAINER.getPassword(),
+ "couchbase.host", container.getHost(),
+ "couchbase.port",
Integer.toString(container.getBootstrapHttpDirectPort()),
+ "couchbase.username", container.getUsername(),
+ "couchbase.password", container.getPassword(),
"couchbase.bucket", BUCKET
);
}
@Test
void should_consume_bucket() {
- Bucket bucket = CLUSTER.bucket(BUCKET);
+ Bucket bucket = cluster.bucket(BUCKET);
bucket.waitUntilReady(Duration.ofSeconds(10L));
for (int i = 0; i < 10; i++) {
bucket.defaultCollection().upsert("my-doc-" + i,
JsonObject.create().put("name", "My Name " + i));
diff --git a/examples/debezium/pom.xml b/examples/debezium/pom.xml
index 3090864..6891771 100644
--- a/examples/debezium/pom.xml
+++ b/examples/debezium/pom.xml
@@ -117,6 +117,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.12.150</version>
diff --git
a/examples/debezium/src/test/java/org/apache/camel/example/debezium/DebeziumTest.java
b/examples/debezium/src/test/java/org/apache/camel/example/debezium/DebeziumTest.java
index 7cdd8bf..aa659ea 100644
---
a/examples/debezium/src/test/java/org/apache/camel/example/debezium/DebeziumTest.java
+++
b/examples/debezium/src/test/java/org/apache/camel/example/debezium/DebeziumTest.java
@@ -29,14 +29,15 @@ import
org.apache.camel.component.aws2.kinesis.Kinesis2Component;
import org.apache.camel.component.sql.SqlComponent;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.postgresql.ds.PGSimpleDataSource;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -55,48 +56,34 @@ import static
org.testcontainers.containers.localstack.LocalStackContainer.Servi
/**
* A unit test checking that Camel can propagate changes from one Database to
another thanks to Debezium.
*/
+@Testcontainers
class DebeziumTest extends CamelMainTestSupport {
private static final String AWS_IMAGE = "localstack/localstack:0.13.3";
private static final String PGSQL_IMAGE = "debezium/example-postgres:1.9";
private static final String CASSANDRA_IMAGE = "cassandra:4.0.1";
- private static LocalStackContainer AWS_CONTAINER;
- private static PostgreSQLContainer<?> PGSQL_CONTAINER;
- private static CassandraContainer<?> CASSANDRA_CONTAINER;
private static final String SOURCE_DB_NAME = "debezium-db";
private static final String SOURCE_DB_SCHEMA = "inventory";
private static final String SOURCE_DB_USERNAME = "pgsql-user";
private static final String SOURCE_DB_PASSWORD = "pgsql-pw";
- @BeforeAll
- static void init() throws IOException {
+ @Container
+ private final LocalStackContainer awsContainer = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
+ .withServices(KINESIS)
+ .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
+ @Container
+ private final PostgreSQLContainer<?> pgsqlContainer = new
PostgreSQLContainer<>(DockerImageName.parse(PGSQL_IMAGE).asCompatibleSubstituteFor("postgres"))
+ .withDatabaseName(SOURCE_DB_NAME)
+ .withUsername(SOURCE_DB_USERNAME)
+ .withPassword(SOURCE_DB_PASSWORD);
+ @Container
+ private final CassandraContainer<?> cassandraContainer = new
CassandraContainer<>(CASSANDRA_IMAGE)
+ .withInitScript("org/apache/camel/example/debezium/db-init.cql");
+
+ @BeforeEach
+ void init() throws IOException {
Files.deleteIfExists(Path.of("target/offset-01.data"));
- AWS_CONTAINER = new
LocalStackContainer(DockerImageName.parse(AWS_IMAGE))
- .withServices(KINESIS)
- .waitingFor(Wait.forLogMessage(".*Ready\\.\n", 1));
- AWS_CONTAINER.start();
- PGSQL_CONTAINER = new
PostgreSQLContainer<>(DockerImageName.parse(PGSQL_IMAGE).asCompatibleSubstituteFor("postgres"))
- .withDatabaseName(SOURCE_DB_NAME)
- .withUsername(SOURCE_DB_USERNAME)
- .withPassword(SOURCE_DB_PASSWORD);
- PGSQL_CONTAINER.start();
- CASSANDRA_CONTAINER = new CassandraContainer<>(CASSANDRA_IMAGE)
-
.withInitScript("org/apache/camel/example/debezium/db-init.cql");
- CASSANDRA_CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (AWS_CONTAINER != null) {
- AWS_CONTAINER.stop();
- }
- if (PGSQL_CONTAINER != null) {
- PGSQL_CONTAINER.stop();
- }
- if (CASSANDRA_CONTAINER != null) {
- CASSANDRA_CONTAINER.stop();
- }
}
@Override
@@ -104,13 +91,13 @@ class DebeziumTest extends CamelMainTestSupport {
CamelContext camelContext = super.createCamelContext();
Kinesis2Component component =
camelContext.getComponent("aws2-kinesis", Kinesis2Component.class);
KinesisClient kinesisClient = KinesisClient.builder()
- .endpointOverride(AWS_CONTAINER.getEndpointOverride(KINESIS))
+ .endpointOverride(awsContainer.getEndpointOverride(KINESIS))
.credentialsProvider(
StaticCredentialsProvider.create(
-
AwsBasicCredentials.create(AWS_CONTAINER.getAccessKey(),
AWS_CONTAINER.getSecretKey())
+
AwsBasicCredentials.create(awsContainer.getAccessKey(),
awsContainer.getSecretKey())
)
)
- .region(Region.of(AWS_CONTAINER.getRegion()))
+ .region(Region.of(awsContainer.getRegion()))
.build();
// Create the stream
kinesisClient.createStream(CreateStreamRequest.builder().streamName("camel-debezium-example").shardCount(1).build());
@@ -122,11 +109,11 @@ class DebeziumTest extends CamelMainTestSupport {
protected Properties useOverridePropertiesWithPropertiesComponent() {
// Override the host and port of the broker
return asProperties(
- "debezium.postgres.databaseHostName", PGSQL_CONTAINER.getHost(),
- "debezium.postgres.databasePort",
Integer.toString(PGSQL_CONTAINER.getMappedPort(5432)),
+ "debezium.postgres.databaseHostName", pgsqlContainer.getHost(),
+ "debezium.postgres.databasePort",
Integer.toString(pgsqlContainer.getMappedPort(5432)),
"debezium.postgres.databaseUser", SOURCE_DB_USERNAME,
"debezium.postgres.databasePassword", SOURCE_DB_PASSWORD,
- "cassandra.host", String.format("%s:%d",
CASSANDRA_CONTAINER.getHost(), CASSANDRA_CONTAINER.getMappedPort(9042))
+ "cassandra.host", String.format("%s:%d",
cassandraContainer.getHost(), cassandraContainer.getMappedPort(9042))
);
}
@@ -165,17 +152,29 @@ class DebeziumTest extends CamelMainTestSupport {
protected void configure(MainConfigurationProperties configuration) {
configuration.addRoutesBuilder(DebeziumPgSQLConsumerToKinesis.createRouteBuilder());
configuration.addRoutesBuilder(KinesisProducerToCassandra.createRouteBuilder());
- configuration.addRoutesBuilder(new ApplyChangesToPgSQLRouteBuilder());
+ configuration.addRoutesBuilder(
+ new ApplyChangesToPgSQLRouteBuilder(
+ pgsqlContainer.getHost(), pgsqlContainer.getMappedPort(5432)
+ )
+ );
}
private static class ApplyChangesToPgSQLRouteBuilder extends RouteBuilder {
+ private final String hostname;
+ private final int port;
+
+ ApplyChangesToPgSQLRouteBuilder(String hostname, int port) {
+ this.hostname = hostname;
+ this.port = port;
+ }
+
@Override
public void configure() {
// required for the sql component
PGSimpleDataSource db = new PGSimpleDataSource();
- db.setServerNames(new String[]{PGSQL_CONTAINER.getHost()});
- db.setPortNumbers(new int[]{PGSQL_CONTAINER.getMappedPort(5432)});
+ db.setServerNames(new String[]{hostname});
+ db.setPortNumbers(new int[]{port});
db.setUser(SOURCE_DB_USERNAME);
db.setPassword(SOURCE_DB_PASSWORD);
db.setDatabaseName(SOURCE_DB_NAME);
diff --git a/examples/kafka/pom.xml b/examples/kafka/pom.xml
index a1403b8..ade4a26 100644
--- a/examples/kafka/pom.xml
+++ b/examples/kafka/pom.xml
@@ -96,6 +96,12 @@
<version>${testcontainers-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
diff --git
a/examples/kafka/src/test/java/org/apache/camel/example/kafka/KafkaTest.java
b/examples/kafka/src/test/java/org/apache/camel/example/kafka/KafkaTest.java
index 75aa1f0..5dfb813 100644
--- a/examples/kafka/src/test/java/org/apache/camel/example/kafka/KafkaTest.java
+++ b/examples/kafka/src/test/java/org/apache/camel/example/kafka/KafkaTest.java
@@ -23,11 +23,11 @@ import org.apache.camel.CamelContext;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.NotifyBuilder;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import static
org.apache.camel.example.kafka.MessagePublisherClient.setUpKafkaComponent;
@@ -37,23 +37,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* A unit test checking that Camel can produce and consume messages to / from
a Kafka broker.
*/
+@Testcontainers
class KafkaTest extends CamelTestSupport {
private static final String IMAGE = "confluentinc/cp-kafka:6.2.2";
- private static KafkaContainer CONTAINER;
- @BeforeAll
- static void init() {
- CONTAINER = new KafkaContainer(DockerImageName.parse(IMAGE));
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final KafkaContainer container = new
KafkaContainer(DockerImageName.parse(IMAGE));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -63,8 +53,8 @@ class KafkaTest extends CamelTestSupport {
// Override the host and port of the broker
camelContext.getPropertiesComponent().setOverrideProperties(
asProperties(
- "kafka.host", CONTAINER.getHost(),
- "kafka.port", Integer.toString(CONTAINER.getMappedPort(9093))
+ "kafka.host", container.getHost(),
+ "kafka.port", Integer.toString(container.getMappedPort(9093))
)
);
setUpKafkaComponent(camelContext);
diff --git a/examples/mongodb/pom.xml b/examples/mongodb/pom.xml
index 5145425..4548bde 100644
--- a/examples/mongodb/pom.xml
+++ b/examples/mongodb/pom.xml
@@ -89,6 +89,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>${rest-assured-version}</version>
diff --git
a/examples/mongodb/src/test/java/org/apache/camel/example/mongodb/MongoDBTest.java
b/examples/mongodb/src/test/java/org/apache/camel/example/mongodb/MongoDBTest.java
index e83eb8b..647c82e 100644
---
a/examples/mongodb/src/test/java/org/apache/camel/example/mongodb/MongoDBTest.java
+++
b/examples/mongodb/src/test/java/org/apache/camel/example/mongodb/MongoDBTest.java
@@ -24,10 +24,10 @@ import io.restassured.response.Response;
import org.apache.camel.main.MainConfigurationProperties;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.main.junit5.CamelMainTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.MongoDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import static io.restassured.RestAssured.given;
@@ -38,31 +38,21 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* A unit test checking that Camel can execute CRUD operations against MongoDB.
*/
+@Testcontainers
class MongoDBTest extends CamelMainTestSupport {
private static final String IMAGE = "mongo:5.0";
- private static MongoDBContainer CONTAINER;
private static final String BASE_URI = "http://localhost:8081";
- @BeforeAll
- static void init() {
- CONTAINER = new MongoDBContainer(DockerImageName.parse(IMAGE));
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final MongoDBContainer container = new
MongoDBContainer(DockerImageName.parse(IMAGE));
@Override
protected void bindToRegistry(Registry registry) throws Exception {
registry.bind(
"myDb",
- MongoClients.create(String.format("mongodb://%s:%d",
CONTAINER.getHost(), CONTAINER.getMappedPort(27017)))
+ MongoClients.create(String.format("mongodb://%s:%d",
container.getHost(), container.getMappedPort(27017)))
);
}
diff --git a/examples/vertx-kafka/pom.xml b/examples/vertx-kafka/pom.xml
index 361be63..5aad0c3 100644
--- a/examples/vertx-kafka/pom.xml
+++ b/examples/vertx-kafka/pom.xml
@@ -104,6 +104,12 @@
<version>${testcontainers-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <version>${testcontainers-version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
diff --git
a/examples/vertx-kafka/src/test/java/org/apache/camel/example/vertx/kafka/VertxKafkaTest.java
b/examples/vertx-kafka/src/test/java/org/apache/camel/example/vertx/kafka/VertxKafkaTest.java
index 14a9795..a66b741 100644
---
a/examples/vertx-kafka/src/test/java/org/apache/camel/example/vertx/kafka/VertxKafkaTest.java
+++
b/examples/vertx-kafka/src/test/java/org/apache/camel/example/vertx/kafka/VertxKafkaTest.java
@@ -23,11 +23,11 @@ import org.apache.camel.CamelContext;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.NotifyBuilder;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import static
org.apache.camel.example.vertx.kafka.MessagePublisherClient.setUpKafkaComponent;
@@ -38,23 +38,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
* A unit test checking that Camel can produce and consume messages to / from
a Kafka broker using the Kafka Vertx
* component.
*/
+@Testcontainers
class VertxKafkaTest extends CamelTestSupport {
private static final String IMAGE = "confluentinc/cp-kafka:6.2.2";
- private static KafkaContainer CONTAINER;
- @BeforeAll
- static void init() {
- CONTAINER = new KafkaContainer(DockerImageName.parse(IMAGE));
- CONTAINER.start();
- }
-
- @AfterAll
- static void destroy() {
- if (CONTAINER != null) {
- CONTAINER.stop();
- }
- }
+ @Container
+ private final KafkaContainer container = new
KafkaContainer(DockerImageName.parse(IMAGE));
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -64,8 +54,8 @@ class VertxKafkaTest extends CamelTestSupport {
// Override the host and port of the broker
camelContext.getPropertiesComponent().setOverrideProperties(
asProperties(
- "kafka.host", CONTAINER.getHost(),
- "kafka.port", Integer.toString(CONTAINER.getMappedPort(9093))
+ "kafka.host", container.getHost(),
+ "kafka.port", Integer.toString(container.getMappedPort(9093))
)
);
setUpKafkaComponent(camelContext);