diff --git a/docs/modules/ROOT/pages/try-it-out-locally.adoc b/docs/modules/ROOT/pages/try-it-out-locally.adoc
index ab5cd5bffc..52c39fb4dd 100644
--- a/docs/modules/ROOT/pages/try-it-out-locally.adoc
+++ b/docs/modules/ROOT/pages/try-it-out-locally.adoc
@@ -338,7 +338,7 @@ This is the sample Transformer used in the integration test code that transforms
[source,bash]
----
-transforms.ElasticSearchTransformer.type=org.apache.camel.kafkaconnector.sink.elasticsearch.transforms.ConnectRecordValueToMapTransformer
+transforms.ElasticSearchTransformer.type=org.apache.camel.kafkaconnector.elasticsearch.sink.transforms.ConnectRecordValueToMapTransformer
----
This is a configuration for the sample transformer that defines the key used in the map:
diff --git a/examples/CamelElasticSearchSinkConnector.properties b/examples/CamelElasticSearchSinkConnector.properties
index 02e966f022..c1906d3503 100644
--- a/examples/CamelElasticSearchSinkConnector.properties
+++ b/examples/CamelElasticSearchSinkConnector.properties
@@ -29,7 +29,7 @@ value.converter=org.apache.kafka.connect.storage.StringConverter
# This is the sample Transformer used in the integration test code that transforms
# Kafka's ConnectRecord to a Map.
-# transforms.ElasticSearchTransformer.type=org.apache.camel.kafkaconnector.sink.elasticsearch.transforms.ConnectRecordValueToMapTransformer
+# transforms.ElasticSearchTransformer.type=org.apache.camel.kafkaconnector.elasticsearch.sink.transforms.ConnectRecordValueToMapTransformer
# This is a configuration for the sample transformer that defines the
# key used in the map.
diff --git a/parent/pom.xml b/parent/pom.xml
index a6b79e1e1c..d99abaa6e8 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -51,6 +51,7 @@
3.1.0
3.0.0-M4
+
3.0
1.6.2
2.5.8
@@ -336,6 +337,12 @@
${version.maven.resources}
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${version.maven.jar}
+
+
org.apache.maven.plugins
maven-surefire-plugin
diff --git a/tests/itests-aws/pom.xml b/tests/itests-aws/pom.xml
new file mode 100644
index 0000000000..330c91c2b5
--- /dev/null
+++ b/tests/itests-aws/pom.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+
+ 4.0.0
+
+ itests-aws
+ Camel-Kafka-Connector :: Tests :: AWS
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-aws-sqs
+
+
+ org.apache.camel
+ camel-aws-s3
+
+
+ org.apache.camel
+ camel-aws-sns
+
+
+ org.apache.camel
+ camel-aws-kinesis
+
+
+
+ org.testcontainers
+ localstack
+ test
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSClientUtils.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSClientUtils.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSClientUtils.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSClientUtils.java
index 625bc045e9..f87bd39176 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSClientUtils.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSClientUtils.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.clients;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
@@ -29,8 +29,8 @@
import com.amazonaws.services.sns.AmazonSNSClientBuilder;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.TestAWSCredentialsProvider;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.TestAWSCredentialsProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/AWSSQSClient.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSSQSClient.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/AWSSQSClient.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSSQSClient.java
index 76025c28fa..a596a3627a 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/AWSSQSClient.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/clients/AWSSQSClient.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.clients;
import java.util.HashMap;
import java.util.List;
diff --git a/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSCommon.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSCommon.java
new file mode 100644
index 0000000000..b4a2436f8c
--- /dev/null
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSCommon.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.kafkaconnector.aws.common;
+
+public final class AWSCommon {
+ /**
+ * The default SQS queue name used during the tests
+ */
+ public static final String DEFAULT_SQS_QUEUE = "ckc";
+
+ /**
+ * The default SQS queue name used during the tests
+ */
+ public static final String DEFAULT_SQS_QUEUE_FOR_SNS = "ckcsns";
+
+ /**
+ * The default SNS queue name used during the tests
+ */
+ public static final String DEFAULT_SNS_QUEUE = "ckc-sns";
+
+ /**
+ * The default S3 bucket name used during the tests
+ */
+ public static final String DEFAULT_S3_BUCKET = "ckc-s3";
+
+ /**
+ * The default Kinesis stream name used during the tests
+ */
+ public static final String DEFAULT_KINESIS_STREAM = "ckc-kin-stream";
+
+ private AWSCommon() {
+
+ }
+}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/AWSConfigs.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSConfigs.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/AWSConfigs.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSConfigs.java
index 50385421fc..613ecc1b5d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/AWSConfigs.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/AWSConfigs.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.aws;
+package org.apache.camel.kafkaconnector.aws.common;
public final class AWSConfigs {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/TestAWSCredentialsProvider.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/TestAWSCredentialsProvider.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/TestAWSCredentialsProvider.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/TestAWSCredentialsProvider.java
index e348f407e2..e90e515897 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/aws/sqs/TestAWSCredentialsProvider.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/common/TestAWSCredentialsProvider.java
@@ -14,11 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.common;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
public class TestAWSCredentialsProvider implements AWSCredentialsProvider {
private static class TestAWSCredentials implements AWSCredentials {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelAWSKinesisPropertyFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelAWSKinesisPropertyFactory.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelAWSKinesisPropertyFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelAWSKinesisPropertyFactory.java
index f4f8745c26..4d06fe2dfe 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelAWSKinesisPropertyFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelAWSKinesisPropertyFactory.java
@@ -15,16 +15,17 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.kinesis;
+package org.apache.camel.kafkaconnector.aws.kinesis.source;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
+
/**
* Creates the set of properties used by a Camel Kinesis Source Connector
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelSourceAWSKinesisITCase.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelSourceAWSKinesisITCase.java
similarity index 86%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelSourceAWSKinesisITCase.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelSourceAWSKinesisITCase.java
index 3fe6184436..41ee4d9dd2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/CamelSourceAWSKinesisITCase.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/CamelSourceAWSKinesisITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.kinesis;
+package org.apache.camel.kafkaconnector.aws.kinesis.source;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -30,12 +30,13 @@
import com.amazonaws.services.kinesis.model.PutRecordsRequest;
import com.amazonaws.services.kinesis.model.PutRecordsRequestEntry;
import com.amazonaws.services.kinesis.model.PutRecordsResult;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.aws.AWSService;
-import org.apache.camel.kafkaconnector.services.aws.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.aws.common.AWSCommon;
+import org.apache.camel.kafkaconnector.aws.services.AWSService;
+import org.apache.camel.kafkaconnector.aws.services.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -61,13 +62,18 @@ public class CamelSourceAWSKinesisITCase extends AbstractKafkaTest {
private volatile int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-aws-kinesis-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
awsKinesisClient = service.getClient();
received = 0;
- CreateStreamResult result = awsKinesisClient.createStream(TestCommon.DEFAULT_KINESIS_STREAM, 1);
+ CreateStreamResult result = awsKinesisClient.createStream(AWSCommon.DEFAULT_KINESIS_STREAM, 1);
if (result.getSdkHttpMetadata().getHttpStatusCode() != 200) {
fail("Failed to create the stream");
} else {
@@ -77,7 +83,7 @@ public void setUp() {
@AfterEach
public void tearDown() {
- DeleteStreamResult result = awsKinesisClient.deleteStream(TestCommon.DEFAULT_KINESIS_STREAM);
+ DeleteStreamResult result = awsKinesisClient.deleteStream(AWSCommon.DEFAULT_KINESIS_STREAM);
if (result.getSdkHttpMetadata().getHttpStatusCode() != 200) {
fail("Failed to delete the stream");
@@ -117,7 +123,7 @@ public void runtTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
@@ -128,10 +134,10 @@ public void runtTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
public void testBasicSendReceive() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSKinesisPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withAmazonConfig(service.getConnectionProperties())
.withConfiguration(TestKinesisConfiguration.class.getName())
- .withStreamName(TestCommon.DEFAULT_KINESIS_STREAM);
+ .withStreamName(AWSCommon.DEFAULT_KINESIS_STREAM);
runtTest(connectorPropertyFactory);
}
@@ -141,10 +147,10 @@ public void testBasicSendReceive() throws ExecutionException, InterruptedExcepti
public void testBasicSendReceiveWithKafkaStyle() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSKinesisPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withAmazonConfig(service.getConnectionProperties(), CamelAWSKinesisPropertyFactory.KAFKA_STYLE)
.withConfiguration(TestKinesisConfiguration.class.getName())
- .withStreamName(TestCommon.DEFAULT_KINESIS_STREAM);
+ .withStreamName(AWSCommon.DEFAULT_KINESIS_STREAM);
runtTest(connectorPropertyFactory);
}
@@ -154,10 +160,10 @@ public void testBasicSendReceiveWithKafkaStyle() throws ExecutionException, Inte
public void testBasicSendReceiveUsingUrl() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSKinesisPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withAmazonConfig(service.getConnectionProperties())
.withConfiguration(TestKinesisConfiguration.class.getName())
- .withUrl(TestCommon.DEFAULT_KINESIS_STREAM)
+ .withUrl(AWSCommon.DEFAULT_KINESIS_STREAM)
.buildUrl();
runtTest(connectorPropertyFactory);
@@ -165,7 +171,7 @@ public void testBasicSendReceiveUsingUrl() throws ExecutionException, Interrupte
private void putRecords() {
PutRecordsRequest putRecordsRequest = new PutRecordsRequest();
- putRecordsRequest.setStreamName(TestCommon.DEFAULT_KINESIS_STREAM);
+ putRecordsRequest.setStreamName(AWSCommon.DEFAULT_KINESIS_STREAM);
List putRecordsRequestEntryList = new ArrayList<>();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/TestKinesisConfiguration.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/TestKinesisConfiguration.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/TestKinesisConfiguration.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/TestKinesisConfiguration.java
index b2a97be511..5efac167be 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/kinesis/TestKinesisConfiguration.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/kinesis/source/TestKinesisConfiguration.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.kinesis;
+package org.apache.camel.kafkaconnector.aws.kinesis.source;
import com.amazonaws.services.kinesis.AmazonKinesis;
import org.apache.camel.component.aws.kinesis.KinesisConfiguration;
-import org.apache.camel.kafkaconnector.services.aws.AWSClientUtils;
+import org.apache.camel.kafkaconnector.aws.clients.AWSClientUtils;
public class TestKinesisConfiguration extends KinesisConfiguration {
private AmazonKinesis amazonKinesis;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelAWSS3PropertyFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelAWSS3PropertyFactory.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelAWSS3PropertyFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelAWSS3PropertyFactory.java
index a56fe5e126..ab8487deb0 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelAWSS3PropertyFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelAWSS3PropertyFactory.java
@@ -15,16 +15,16 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.s3;
+package org.apache.camel.kafkaconnector.aws.s3.source;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
/**
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelSourceAWSS3ITCase.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelSourceAWSS3ITCase.java
similarity index 75%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelSourceAWSS3ITCase.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelSourceAWSS3ITCase.java
index 2ca219f658..224345af03 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/CamelSourceAWSS3ITCase.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/CamelSourceAWSS3ITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.s3;
+package org.apache.camel.kafkaconnector.aws.s3.source;
import java.io.File;
import java.util.Properties;
@@ -23,16 +23,18 @@
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.aws.AWSService;
-import org.apache.camel.kafkaconnector.services.aws.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.aws.common.AWSCommon;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.services.AWSService;
+import org.apache.camel.kafkaconnector.aws.services.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -55,13 +57,18 @@ public class CamelSourceAWSS3ITCase extends AbstractKafkaTest {
private volatile int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-aws-s3-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
awsS3Client = service.getClient();
received = 0;
try {
- awsS3Client.createBucket(TestCommon.DEFAULT_S3_BUCKET);
+ awsS3Client.createBucket(AWSCommon.DEFAULT_S3_BUCKET);
} catch (Exception e) {
LOG.error("Unable to create bucket: {}", e.getMessage(), e);
fail("Unable to create bucket");
@@ -72,7 +79,7 @@ public void setUp() {
@AfterEach
public void tearDown() {
try {
- awsS3Client.deleteBucket(TestCommon.DEFAULT_S3_BUCKET);
+ awsS3Client.deleteBucket(AWSCommon.DEFAULT_S3_BUCKET);
} catch (Exception e) {
LOG.warn("Unable to delete bucked: {}", e.getMessage(), e);
}
@@ -99,13 +106,13 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
String file = this.getClass().getResource(name).getFile();
LOG.trace("Putting file {}", file);
- awsS3Client.putObject(TestCommon.DEFAULT_S3_BUCKET, name, new File(file));
+ awsS3Client.putObject(AWSCommon.DEFAULT_S3_BUCKET, name, new File(file));
}
LOG.debug("Done putting S3S objects");
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
@@ -116,9 +123,9 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
public void testBasicSendReceive() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSS3PropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withConfiguration(TestS3Configuration.class.getName())
- .withBucketNameOrArn(TestCommon.DEFAULT_S3_BUCKET)
+ .withBucketNameOrArn(AWSCommon.DEFAULT_S3_BUCKET)
.withAmazonConfig(service.getConnectionProperties());
runTest(connectorPropertyFactory);
@@ -129,10 +136,10 @@ public void testBasicSendReceive() throws ExecutionException, InterruptedExcepti
public void testBasicSendReceiveWithMaxMessagesPerPoll() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSS3PropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withConfiguration(TestS3Configuration.class.getName())
.withMaxMessagesPerPoll(5)
- .withBucketNameOrArn(TestCommon.DEFAULT_S3_BUCKET)
+ .withBucketNameOrArn(AWSCommon.DEFAULT_S3_BUCKET)
.withAmazonConfig(service.getConnectionProperties());
runTest(connectorPropertyFactory);
@@ -143,15 +150,16 @@ public void testBasicSendReceiveWithMaxMessagesPerPoll() throws ExecutionExcepti
public void testBasicSendReceiveWithKafkaStyle() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSS3PropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withConfiguration(TestS3Configuration.class.getName())
- .withBucketNameOrArn(TestCommon.DEFAULT_S3_BUCKET)
+ .withBucketNameOrArn(AWSCommon.DEFAULT_S3_BUCKET)
.withAmazonConfig(service.getConnectionProperties(), CamelAWSS3PropertyFactory.KAFKA_STYLE);
runTest(connectorPropertyFactory);
}
+ @Disabled("Disabled due to issue #260")
@Test
@Timeout(180)
public void testBasicSendReceiveUsingUrl() throws ExecutionException, InterruptedException {
@@ -159,12 +167,11 @@ public void testBasicSendReceiveUsingUrl() throws ExecutionException, Interrupte
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSS3PropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withUrl(TestCommon.DEFAULT_S3_BUCKET)
- .append("configuration", "#class:" + TestS3Configuration.class.getName())
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withUrl(AWSCommon.DEFAULT_S3_BUCKET)
+ .append("configuration", CamelAWSS3PropertyFactory.classRef(TestS3Configuration.class.getName()))
.append("accessKey", amazonProperties.getProperty(AWSConfigs.ACCESS_KEY))
.append("secretKey", amazonProperties.getProperty(AWSConfigs.SECRET_KEY))
- .append("protocol", amazonProperties.getProperty(AWSConfigs.PROTOCOL))
.append("region", amazonProperties.getProperty(AWSConfigs.REGION, Regions.US_EAST_1.name()))
.buildUrl();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/TestS3Configuration.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/TestS3Configuration.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/TestS3Configuration.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/TestS3Configuration.java
index e2e78bbf5b..0e8679099f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/s3/TestS3Configuration.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/s3/source/TestS3Configuration.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.s3;
+package org.apache.camel.kafkaconnector.aws.s3.source;
import com.amazonaws.services.s3.AmazonS3;
import org.apache.camel.component.aws.s3.S3Configuration;
-import org.apache.camel.kafkaconnector.services.aws.AWSClientUtils;
+import org.apache.camel.kafkaconnector.aws.clients.AWSClientUtils;
public class TestS3Configuration extends S3Configuration {
private AmazonS3 amazonS3;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSKinesisLocalContainerService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSKinesisLocalContainerService.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSKinesisLocalContainerService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSKinesisLocalContainerService.java
index 921687f54c..dfa1f23b01 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSKinesisLocalContainerService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSKinesisLocalContainerService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSLocalContainerService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSLocalContainerService.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSLocalContainerService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSLocalContainerService.java
index 25d2f502fe..c029f2188d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSLocalContainerService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSLocalContainerService.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import java.util.Properties;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.localstack.LocalStackContainer;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSRemoteService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSRemoteService.java
similarity index 87%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSRemoteService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSRemoteService.java
index 2a4c23a917..3ac71bf3fb 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSRemoteService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSRemoteService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import java.util.Properties;
import java.util.function.Supplier;
@@ -24,9 +24,10 @@
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.sqs.AmazonSQS;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.TestAWSCredentialsProvider;
+import org.apache.camel.kafkaconnector.aws.clients.AWSClientUtils;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.TestAWSCredentialsProvider;
public class AWSRemoteService implements AWSService {
private static final AWSCredentialsProvider CREDENTIALS_PROVIDER = new TestAWSCredentialsProvider();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSS3LocalContainerService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSS3LocalContainerService.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSS3LocalContainerService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSS3LocalContainerService.java
index 624546aac9..488f6ceb53 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSS3LocalContainerService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSS3LocalContainerService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSNSLocalContainerService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSNSLocalContainerService.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSNSLocalContainerService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSNSLocalContainerService.java
index 8f1b8e0af9..61c770d22a 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSNSLocalContainerService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSNSLocalContainerService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
import org.testcontainers.containers.localstack.LocalStackContainer;
public class AWSSNSLocalContainerService extends AWSLocalContainerService {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSQSLocalContainerService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSQSLocalContainerService.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSQSLocalContainerService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSQSLocalContainerService.java
index 1e7ffd9f9e..bb50a36bda 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSSQSLocalContainerService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSSQSLocalContainerService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
import org.testcontainers.containers.localstack.LocalStackContainer;
public class AWSSQSLocalContainerService extends AWSLocalContainerService {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSService.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSService.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSService.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSService.java
index ffff0527fe..d2fd83478d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSService.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSServiceFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSServiceFactory.java
similarity index 85%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSServiceFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSServiceFactory.java
index d26d2b6f73..20e8380121 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/aws/AWSServiceFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/services/AWSServiceFactory.java
@@ -15,11 +15,12 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.aws;
+package org.apache.camel.kafkaconnector.aws.services;
import com.amazonaws.services.kinesis.AmazonKinesis;
import com.amazonaws.services.s3.AmazonS3;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.clients.AWSClientUtils;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,9 +30,13 @@ public final class AWSServiceFactory {
private AWSServiceFactory() {
}
+ private static String getInstanceTypeName(String awsInstanceType) {
+ return awsInstanceType == null ? "default" : awsInstanceType;
+ }
+
public static AWSService createSQSService() {
String awsInstanceType = System.getProperty("aws-service.instance.type");
- LOG.info("Creating a {} AWS SQS instance", awsInstanceType);
+ LOG.info("Creating a {} AWS SQS instance", getInstanceTypeName(awsInstanceType));
if (awsInstanceType == null || awsInstanceType.equals("local-aws-container")) {
return new AWSSQSLocalContainerService();
@@ -42,13 +47,14 @@ public static AWSService createSQSService() {
}
LOG.error("Invalid AWS instance type: {}. Must be either 'remote' or 'local-aws-container'",
- awsInstanceType);
+ getInstanceTypeName(awsInstanceType));
throw new UnsupportedOperationException("Invalid AWS instance type");
}
+
public static AWSService createSNSService() {
String awsInstanceType = System.getProperty("aws-service.instance.type");
- LOG.info("Creating a {} AWS SNS instance", awsInstanceType);
+ LOG.info("Creating a {} AWS SNS instance", getInstanceTypeName(awsInstanceType));
if (awsInstanceType == null || awsInstanceType.equals("local-aws-container")) {
return new AWSSNSLocalContainerService();
@@ -66,7 +72,7 @@ public static AWSService createSNSService() {
public static AWSService createKinesisService() {
String awsInstanceType = System.getProperty("aws-service.kinesis.instance.type");
- LOG.info("Creating a {} AWS kinesis instance", awsInstanceType);
+ LOG.info("Creating a {} AWS kinesis instance", getInstanceTypeName(awsInstanceType));
if (awsInstanceType == null || awsInstanceType.equals("local-aws-container")) {
return new AWSKinesisLocalContainerService();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelAWSSNSPropertyFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelAWSSNSPropertyFactory.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelAWSSNSPropertyFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelAWSSNSPropertyFactory.java
index 6025ff9f77..68138f565d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelAWSSNSPropertyFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelAWSSNSPropertyFactory.java
@@ -15,16 +15,16 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.aws.sns;
+package org.apache.camel.kafkaconnector.aws.sns.sink;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
/**
* Creates the set of properties used by a Camel JMS Sink Connector
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelSinkAWSSNSITCase.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelSinkAWSSNSITCase.java
similarity index 78%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelSinkAWSSNSITCase.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelSinkAWSSNSITCase.java
index c6ad714cd4..acad483f44 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/CamelSinkAWSSNSITCase.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/CamelSinkAWSSNSITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.aws.sns;
+package org.apache.camel.kafkaconnector.aws.sns.sink;
import java.util.List;
import java.util.Properties;
@@ -27,14 +27,15 @@
import com.amazonaws.regions.Regions;
import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.aws.AWSService;
-import org.apache.camel.kafkaconnector.services.aws.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.common.AWSCommon;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.services.AWSService;
+import org.apache.camel.kafkaconnector.aws.services.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
@@ -58,6 +59,11 @@ public class CamelSinkAWSSNSITCase extends AbstractKafkaTest {
private volatile int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-aws-sns-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
awsSqsClient = service.getClient();
@@ -81,7 +87,7 @@ private boolean checkMessages(List messages) {
private void consumeMessages(CountDownLatch latch) {
try {
- awsSqsClient.receive(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS, this::checkMessages);
+ awsSqsClient.receive(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS, this::checkMessages);
} catch (Throwable t) {
LOG.error("Failed to consume messages: {}", t.getMessage(), t);
fail(t.getMessage());
@@ -91,7 +97,7 @@ private void consumeMessages(CountDownLatch latch) {
}
public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws ExecutionException, InterruptedException {
- final String sqsQueue = awsSqsClient.getQueue(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
+ final String sqsQueue = awsSqsClient.getQueue(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
LOG.info("Created SQS queue {}", sqsQueue);
connectorPropertyFactory.log();
@@ -107,7 +113,7 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
for (int i = 0; i < expect; i++) {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
}
LOG.debug("Created the consumer ... About to receive messages");
@@ -125,15 +131,15 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
@Timeout(value = 90)
public void testBasicSendReceive() {
try {
- final String sqsQueue = awsSqsClient.getQueue(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
+ final String sqsQueue = awsSqsClient.getQueue(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
LOG.info("Created SQS queue {}", sqsQueue);
Properties amazonProperties = service.getConnectionProperties();
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSNSPropertyFactory.basic()
.withName("CamelAWSSNSSinkConnectorDefault")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
- .withTopicOrArn(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withTopicOrArn(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
.withSubscribeSNStoSQS(sqsQueue)
.withConfiguration(TestSNSConfiguration.class.getName())
.withAmazonConfig(amazonProperties);
@@ -149,15 +155,15 @@ public void testBasicSendReceive() {
@Timeout(value = 90)
public void testBasicSendReceiveUsingKafkaStyle() {
try {
- final String sqsQueue = awsSqsClient.getQueue(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
+ final String sqsQueue = awsSqsClient.getQueue(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
LOG.info("Created SQS queue {}", sqsQueue);
Properties amazonProperties = service.getConnectionProperties();
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSNSPropertyFactory.basic()
.withName("CamelAWSSNSSinkKafkaStyleConnector")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
- .withTopicOrArn(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withTopicOrArn(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
.withSubscribeSNStoSQS(sqsQueue)
.withConfiguration(TestSNSConfiguration.class.getName())
.withAmazonConfig(amazonProperties, CamelAWSSNSPropertyFactory.KAFKA_STYLE);
@@ -173,15 +179,15 @@ public void testBasicSendReceiveUsingKafkaStyle() {
@Timeout(value = 90)
public void testBasicSendReceiveUsingUrl() {
try {
- final String sqsQueue = awsSqsClient.getQueue(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
+ final String sqsQueue = awsSqsClient.getQueue(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS);
LOG.info("Created SQS queue {}", sqsQueue);
Properties amazonProperties = service.getConnectionProperties();
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSNSPropertyFactory.basic()
.withName("CamelAWSSNSSinkKafkaStyleConnector")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
- .withUrl(TestCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withUrl(AWSCommon.DEFAULT_SQS_QUEUE_FOR_SNS)
.append("queueUrl", sqsQueue)
.append("subscribeSNStoSQS", "true")
.append("accessKey", amazonProperties.getProperty(AWSConfigs.ACCESS_KEY))
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/TestSNSConfiguration.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/TestSNSConfiguration.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/TestSNSConfiguration.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/TestSNSConfiguration.java
index 11ded505b1..c0dc409683 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sns/TestSNSConfiguration.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sns/sink/TestSNSConfiguration.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.aws.sns;
+package org.apache.camel.kafkaconnector.aws.sns.sink;
import com.amazonaws.services.sns.AmazonSNS;
import com.amazonaws.services.sqs.AmazonSQS;
import org.apache.camel.component.aws.sns.SnsConfiguration;
-import org.apache.camel.kafkaconnector.services.aws.AWSClientUtils;
+import org.apache.camel.kafkaconnector.aws.clients.AWSClientUtils;
public class TestSNSConfiguration extends SnsConfiguration {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelAWSSQSPropertyFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelAWSSQSPropertyFactory.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelAWSSQSPropertyFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelAWSSQSPropertyFactory.java
index e6c709fa97..c70ef7fe76 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelAWSSQSPropertyFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelAWSSQSPropertyFactory.java
@@ -15,16 +15,16 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.sqs.sink;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
/**
* Creates the set of properties used by a Camel JMS Sink Connector
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelSinkAWSSQSITCase.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelSinkAWSSQSITCase.java
similarity index 81%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelSinkAWSSQSITCase.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelSinkAWSSQSITCase.java
index f08b03882b..f0dc2afad4 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/aws/sqs/CamelSinkAWSSQSITCase.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/sink/CamelSinkAWSSQSITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.sqs.sink;
import java.util.List;
import java.util.Properties;
@@ -26,14 +26,15 @@
import com.amazonaws.regions.Regions;
import com.amazonaws.services.sqs.model.Message;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.aws.AWSService;
-import org.apache.camel.kafkaconnector.services.aws.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.common.AWSCommon;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.services.AWSService;
+import org.apache.camel.kafkaconnector.aws.services.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.RepeatedTest;
@@ -44,8 +45,8 @@
import org.slf4j.LoggerFactory;
import org.testcontainers.junit.jupiter.Testcontainers;
-import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
@Testcontainers
public class CamelSinkAWSSQSITCase extends AbstractKafkaTest {
@@ -59,11 +60,16 @@ public class CamelSinkAWSSQSITCase extends AbstractKafkaTest {
private volatile int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-aws-sqs-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
awssqsClient = awsService.getClient();
- String queueUrl = awssqsClient.getQueue(TestCommon.DEFAULT_SQS_QUEUE);
+ String queueUrl = awssqsClient.getQueue(AWSCommon.DEFAULT_SQS_QUEUE);
LOG.debug("Using queue {} for the test", queueUrl);
received = 0;
@@ -71,7 +77,7 @@ public void setUp() {
@AfterEach
public void tearDown() {
- if (!awssqsClient.deleteQueue(TestCommon.DEFAULT_SQS_QUEUE)) {
+ if (!awssqsClient.deleteQueue(AWSCommon.DEFAULT_SQS_QUEUE)) {
fail("Failed to delete queue");
}
}
@@ -93,7 +99,7 @@ private boolean checkMessages(List messages) {
private void consumeMessages(CountDownLatch latch) {
try {
- awssqsClient.receive(TestCommon.DEFAULT_SQS_QUEUE, this::checkMessages);
+ awssqsClient.receive(AWSCommon.DEFAULT_SQS_QUEUE, this::checkMessages);
} catch (Throwable t) {
LOG.error("Failed to consume messages: {}", t.getMessage(), t);
} finally {
@@ -106,7 +112,7 @@ private void produceMessages() {
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
for (int i = 0; i < expect; i++) {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
}
} catch (Throwable t) {
LOG.error("Unable to publish messages to the broker: {}", t.getMessage(), t);
@@ -148,9 +154,9 @@ public void testBasicSendReceive() {
ConnectorPropertyFactory testProperties = CamelAWSSQSPropertyFactory
.basic()
.withName("CamelAwssqsSinkConnectorSpringBootStyle")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withAmazonConfig(amazonProperties)
- .withQueueNameOrArn(TestCommon.DEFAULT_SQS_QUEUE);
+ .withQueueNameOrArn(AWSCommon.DEFAULT_SQS_QUEUE);
runTest(testProperties);
@@ -170,9 +176,9 @@ public void testBasicSendReceiveUsingKafkaStyle() {
ConnectorPropertyFactory testProperties = CamelAWSSQSPropertyFactory
.basic()
.withName("CamelAwssqsSinkConnectorKafkaStyle")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withAmazonConfig(amazonProperties, CamelAWSSQSPropertyFactory.KAFKA_STYLE)
- .withQueueNameOrArn(TestCommon.DEFAULT_SQS_QUEUE);
+ .withQueueNameOrArn(AWSCommon.DEFAULT_SQS_QUEUE);
runTest(testProperties);
@@ -192,8 +198,8 @@ public void testBasicSendReceiveUsingUrl() {
ConnectorPropertyFactory testProperties = CamelAWSSQSPropertyFactory
.basic()
.withName("CamelAwssqsSinkConnectorUsingUrl")
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
- .withUrl(TestCommon.DEFAULT_SQS_QUEUE)
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withUrl(AWSCommon.DEFAULT_SQS_QUEUE)
.append("autoCreateQueue", "true")
.append("accessKey", amazonProperties.getProperty(AWSConfigs.ACCESS_KEY))
.append("secretKey", amazonProperties.getProperty(AWSConfigs.SECRET_KEY))
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelAWSSQSPropertyFactory.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelAWSSQSPropertyFactory.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelAWSSQSPropertyFactory.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelAWSSQSPropertyFactory.java
index 445c9b04b8..cc42da90a4 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelAWSSQSPropertyFactory.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelAWSSQSPropertyFactory.java
@@ -15,16 +15,16 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.sqs.source;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
/**
* Creates the set of properties used by a Camel JMS Sink Connector
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelSourceAWSSQSITCase.java b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelSourceAWSSQSITCase.java
similarity index 76%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelSourceAWSSQSITCase.java
rename to tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelSourceAWSSQSITCase.java
index 07bb9554a2..4509f720ab 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/aws/sqs/CamelSourceAWSSQSITCase.java
+++ b/tests/itests-aws/src/test/java/org/apache/camel/kafkaconnector/aws/sqs/source/CamelSourceAWSSQSITCase.java
@@ -15,20 +15,21 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.aws.sqs;
+package org.apache.camel.kafkaconnector.aws.sqs.source;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
import com.amazonaws.regions.Regions;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.aws.AWSConfigs;
-import org.apache.camel.kafkaconnector.clients.aws.sqs.AWSSQSClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.aws.AWSService;
-import org.apache.camel.kafkaconnector.services.aws.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.aws.clients.AWSSQSClient;
+import org.apache.camel.kafkaconnector.aws.common.AWSCommon;
+import org.apache.camel.kafkaconnector.aws.common.AWSConfigs;
+import org.apache.camel.kafkaconnector.aws.services.AWSService;
+import org.apache.camel.kafkaconnector.aws.services.AWSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -40,8 +41,8 @@
import org.slf4j.LoggerFactory;
import org.testcontainers.junit.jupiter.Testcontainers;
-import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
@Testcontainers
public class CamelSourceAWSSQSITCase extends AbstractKafkaTest {
@@ -55,6 +56,11 @@ public class CamelSourceAWSSQSITCase extends AbstractKafkaTest {
private volatile int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-aws-sqs-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
awssqsClient = service.getClient();
@@ -63,7 +69,7 @@ public void setUp() {
@AfterEach
public void tearDown() {
- if (!awssqsClient.deleteQueue(TestCommon.DEFAULT_SQS_QUEUE)) {
+ if (!awssqsClient.deleteQueue(AWSCommon.DEFAULT_SQS_QUEUE)) {
fail("Failed to delete queue");
}
}
@@ -85,13 +91,13 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
LOG.debug("Sending SQS messages");
for (int i = 0; i < expect; i++) {
- awssqsClient.send(TestCommon.DEFAULT_SQS_QUEUE, "Source test message " + i);
+ awssqsClient.send(AWSCommon.DEFAULT_SQS_QUEUE, "Source test message " + i);
}
LOG.debug("Done sending SQS messages");
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
@@ -102,8 +108,8 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
public void testBasicSendReceive() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSQSPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withQueueOrArn(TestCommon.DEFAULT_SQS_QUEUE)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withQueueOrArn(AWSCommon.DEFAULT_SQS_QUEUE)
.withAmazonConfig(service.getConnectionProperties());
runTest(connectorPropertyFactory);
@@ -117,8 +123,8 @@ public void testBasicSendReceive() throws ExecutionException, InterruptedExcepti
public void testBasicSendReceiveWithKafkaStyle() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSQSPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withQueueOrArn(TestCommon.DEFAULT_SQS_QUEUE)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withQueueOrArn(AWSCommon.DEFAULT_SQS_QUEUE)
.withAmazonConfig(service.getConnectionProperties(), CamelAWSSQSPropertyFactory.KAFKA_STYLE);
runTest(connectorPropertyFactory);
@@ -134,11 +140,12 @@ public void testBasicSendReceiveUsingUrl() throws ExecutionException, Interrupte
ConnectorPropertyFactory connectorPropertyFactory = CamelAWSSQSPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withUrl(TestCommon.DEFAULT_SQS_QUEUE)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withUrl(AWSCommon.DEFAULT_SQS_QUEUE)
.append("accessKey", amazonProperties.getProperty(AWSConfigs.ACCESS_KEY))
.append("secretKey", amazonProperties.getProperty(AWSConfigs.SECRET_KEY))
.append("protocol", amazonProperties.getProperty(AWSConfigs.PROTOCOL))
+ .appendIfAvailable("amazonAWSHost", amazonProperties.getProperty(AWSConfigs.AMAZON_AWS_HOST))
.append("region", amazonProperties.getProperty(AWSConfigs.REGION, Regions.US_EAST_1.name()))
.buildUrl();
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file0.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file0.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file0.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file0.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file1.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file1.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file1.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file1.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file2.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file2.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file2.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file2.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file3.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file3.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file3.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file3.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file4.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file4.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file4.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file4.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file5.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file5.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file5.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file5.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file6.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file6.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file6.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file6.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file7.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file7.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file7.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file7.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file8.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file8.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file8.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file8.test
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file9.test b/tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file9.test
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/source/aws/s3/file9.test
rename to tests/itests-aws/src/test/resources/org/apache/camel/kafkaconnector/aws/s3/source/file9.test
diff --git a/tests/itests-cassandra/pom.xml b/tests/itests-cassandra/pom.xml
new file mode 100644
index 0000000000..b2f5e471f8
--- /dev/null
+++ b/tests/itests-cassandra/pom.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-cassandra
+ Camel-Kafka-Connector :: Tests :: Cassandra
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-cassandraql
+
+
+ com.google.guava
+ guava
+
+
+
+
+
+ org.apache.camel
+ camel-netty
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/CassandraClient.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/CassandraClient.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/CassandraClient.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/CassandraClient.java
index 6cf56ef79a..2c26f243c1 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/CassandraClient.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/CassandraClient.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.clients;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
-import org.apache.camel.kafkaconnector.clients.cassandra.dao.TestDataDao;
+import org.apache.camel.kafkaconnector.cassandra.clients.dao.TestDataDao;
/**
* A simple client for Cassandra for testing purposes
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/dao/TestDataDao.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/dao/TestDataDao.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/dao/TestDataDao.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/dao/TestDataDao.java
index 973f759cd2..c0628f3a74 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/cassandra/dao/TestDataDao.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/clients/dao/TestDataDao.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.cassandra.dao;
+package org.apache.camel.kafkaconnector.cassandra.clients.dao;
import java.util.HashMap;
import java.util.Iterator;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraContainer.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraContainer.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraContainer.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraContainer.java
index 49a1bd0e17..d8d94f5145 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraContainer.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraContainer.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.services;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraLocalContainerService.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraLocalContainerService.java
index 81420bf43e..d3b3a5f4e9 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraLocalContainerService.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.services;
-import org.apache.camel.kafkaconnector.clients.cassandra.CassandraClient;
+import org.apache.camel.kafkaconnector.cassandra.clients.CassandraClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraService.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraService.java
index 883284d9e4..de012c1221 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraService.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.services;
-import org.apache.camel.kafkaconnector.clients.cassandra.CassandraClient;
+import org.apache.camel.kafkaconnector.cassandra.clients.CassandraClient;
import org.junit.jupiter.api.extension.AfterAllCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraServiceFactory.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraServiceFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraServiceFactory.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraServiceFactory.java
index a04bfc9f06..279d962c42 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraServiceFactory.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/CassandraServiceFactory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.services;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/RemoteCassandraService.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/RemoteCassandraService.java
index fec8076fab..1a8e8bdcad 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/services/RemoteCassandraService.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.services;
-import org.apache.camel.kafkaconnector.clients.cassandra.CassandraClient;
+import org.apache.camel.kafkaconnector.cassandra.clients.CassandraClient;
/**
* A remote instance of Apache Cassandra
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelCassandraPropertyFactory.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelCassandraPropertyFactory.java
similarity index 92%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelCassandraPropertyFactory.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelCassandraPropertyFactory.java
index 091b021299..12220102de 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelCassandraPropertyFactory.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelCassandraPropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.sink;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
final class CamelCassandraPropertyFactory extends SinkConnectorPropertyFactory {
private CamelCassandraPropertyFactory() {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelSinkCassandraITCase.java
similarity index 82%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java
rename to tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelSinkCassandraITCase.java
index ea2e8b7b45..5f26b9b88c 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java
+++ b/tests/itests-cassandra/src/test/java/org/apache/camel/kafkaconnector/cassandra/sink/CamelSinkCassandraITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.cassandra;
+package org.apache.camel.kafkaconnector.cassandra.sink;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
@@ -23,14 +23,14 @@
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.cassandra.CassandraClient;
-import org.apache.camel.kafkaconnector.clients.cassandra.dao.TestDataDao;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.cassandra.CassandraService;
-import org.apache.camel.kafkaconnector.services.cassandra.CassandraServiceFactory;
+import org.apache.camel.kafkaconnector.cassandra.clients.CassandraClient;
+import org.apache.camel.kafkaconnector.cassandra.clients.dao.TestDataDao;
+import org.apache.camel.kafkaconnector.cassandra.services.CassandraService;
+import org.apache.camel.kafkaconnector.cassandra.services.CassandraServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -39,8 +39,8 @@
import org.slf4j.LoggerFactory;
import org.testcontainers.junit.jupiter.Testcontainers;
-import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
@Testcontainers
public class CamelSinkCassandraITCase extends AbstractKafkaTest {
@@ -55,6 +55,11 @@ public class CamelSinkCassandraITCase extends AbstractKafkaTest {
private final int expect = 10;
private int received;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-cql-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
cassandraClient = cassandraService.getClient();
@@ -81,7 +86,7 @@ private void putRecords(CountDownLatch latch) {
try {
for (int i = 0; i < expect; i++) {
try {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "test " + i);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "test " + i);
} catch (ExecutionException e) {
LOG.error("Unable to produce messages: {}", e.getMessage(), e);
} catch (InterruptedException e) {
@@ -112,7 +117,7 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
fail("Timed out wait for data to be added to the Kafka cluster");
}
- TestCommon.waitFor(testDataDao::hasEnoughData, (long) expect);
+ TestUtils.waitFor(testDataDao::hasEnoughData, (long) expect);
testDataDao.getData(this::checkRetrievedData);
assertTrue(received >= expect,
String.format("Did not receive as much data as expected: %d < %d", received, expect));
@@ -121,7 +126,7 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
@Test
public void testFetchFromCassandra() throws ExecutionException, InterruptedException {
- String topic = TestCommon.getDefaultTestTopic(this.getClass());
+ String topic = TestUtils.getDefaultTestTopic(this.getClass());
ConnectorPropertyFactory connectorPropertyFactory = CamelCassandraPropertyFactory
.basic()
@@ -137,7 +142,7 @@ public void testFetchFromCassandra() throws ExecutionException, InterruptedExcep
@Test
public void testFetchFromCassandraWithUrl() throws ExecutionException, InterruptedException {
- String topic = TestCommon.getDefaultTestTopic(this.getClass());
+ String topic = TestUtils.getDefaultTestTopic(this.getClass());
ConnectorPropertyFactory connectorPropertyFactory = CamelCassandraPropertyFactory
.basic()
diff --git a/tests/itests-common/pom.xml b/tests/itests-common/pom.xml
new file mode 100644
index 0000000000..6adeb58cb3
--- /dev/null
+++ b/tests/itests-common/pom.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-common
+ Camel-Kafka-Connector :: Tests :: Common
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ test-compile
+
+ test-jar
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/AbstractKafkaTest.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/AbstractKafkaTest.java
similarity index 54%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/AbstractKafkaTest.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/AbstractKafkaTest.java
index 19eb3c2b3a..a7a6b33a49 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/AbstractKafkaTest.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/AbstractKafkaTest.java
@@ -15,45 +15,47 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
-import org.apache.camel.kafkaconnector.services.kafka.KafkaService;
-import org.apache.camel.kafkaconnector.services.kafka.KafkaServiceFactory;
-import org.apache.camel.kafkaconnector.services.kafkaconnect.KafkaConnectRunnerFactory;
-import org.apache.camel.kafkaconnector.services.kafkaconnect.KafkaConnectService;
+import org.apache.camel.kafkaconnector.common.services.kafka.KafkaService;
+import org.apache.camel.kafkaconnector.common.services.kafka.KafkaServiceFactory;
+import org.apache.camel.kafkaconnector.common.services.kafkaconnect.KafkaConnectRunnerFactory;
+import org.apache.camel.kafkaconnector.common.services.kafkaconnect.KafkaConnectService;
+import org.apache.camel.kafkaconnector.common.utils.PropertyUtils;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.junit.jupiter.Testcontainers;
@Testcontainers
-public class AbstractKafkaTest {
+public abstract class AbstractKafkaTest {
@RegisterExtension
- public static final KafkaService KAFKA_SERVICE;
+ public final KafkaService kafkaService;
@RegisterExtension
- public static final KafkaConnectService KAFKA_CONNECT_RUNNER_SERVICE;
+ public final KafkaConnectService kafkaConnectService;
static {
PropertyUtils.load();
-
- KAFKA_SERVICE = KafkaServiceFactory.createService();
-
- KAFKA_SERVICE.initialize();
-
- KAFKA_CONNECT_RUNNER_SERVICE = KafkaConnectRunnerFactory.createService(KAFKA_SERVICE);
}
public AbstractKafkaTest() {
+ PluginPathHelper.getInstance().registerConnector(getConnectorsInTest());
+
+ kafkaService = KafkaServiceFactory.createService();
+
+ kafkaService.initialize();
+ kafkaConnectService = KafkaConnectRunnerFactory.createService(kafkaService);
}
+ protected abstract String[] getConnectorsInTest();
public KafkaService getKafkaService() {
- return KAFKA_SERVICE;
+ return kafkaService;
}
public KafkaConnectService getKafkaConnectService() {
- return KAFKA_CONNECT_RUNNER_SERVICE;
+ return kafkaConnectService;
}
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/BasicConnectorPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/BasicConnectorPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java
index ffc66211a2..a70bac47f6 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/BasicConnectorPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
import java.util.Map;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/ConnectorPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/ConnectorPropertyFactory.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/ConnectorPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/ConnectorPropertyFactory.java
index e3648b219d..8ce678d293 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/ConnectorPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/ConnectorPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/EndpointUrlBuilder.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/EndpointUrlBuilder.java
similarity index 89%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/EndpointUrlBuilder.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/EndpointUrlBuilder.java
index 122fcaa18d..d791e884e3 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/EndpointUrlBuilder.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/EndpointUrlBuilder.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
import java.util.function.Function;
@@ -52,6 +52,14 @@ public EndpointUrlBuilder append(String name, String value) {
return this;
}
+ public EndpointUrlBuilder appendIfAvailable(String name, String value) {
+ if (value != null && !value.isEmpty()) {
+ return append(name, value);
+ }
+
+ return this;
+ }
+
public EndpointUrlBuilder append(String name, int value) {
if (!started) {
start();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/PluginPathHelper.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/PluginPathHelper.java
similarity index 71%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/PluginPathHelper.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/PluginPathHelper.java
index 394ca42893..fdda6db55f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/PluginPathHelper.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/PluginPathHelper.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
import java.io.File;
import java.io.IOException;
@@ -23,6 +23,7 @@
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,17 +32,15 @@
public final class PluginPathHelper {
private static final Logger LOG = LoggerFactory.getLogger(PluginPathHelper.class);
- private static final String[] MODULES = {
- "connectors/camel-sjms2-kafka-connector", "connectors/camel-cql-kafka-connector",
- "connectors/camel-aws-sns-kafka-connector", "connectors/camel-aws-sqs-kafka-connector",
- "connectors/camel-aws-s3-kafka-connector", "connectors/camel-aws-kinesis-kafka-connector",
- "connectors/camel-elasticsearch-rest-kafka-connector", "connectors/camel-http-kafka-connector",
- "connectors/camel-timer-kafka-connector", "connectors/camel-file-kafka-connector",
- "connectors/camel-salesforce-kafka-connector", "connectors/camel-slack-kafka-connector",
- "connectors/camel-syslog-kafka-connector",
- };
+ private static PluginPathHelper instance;
+ private List connectors;
private static class PluginWalker extends DirectoryWalker {
+
+ public PluginWalker() {
+ super(null, 2);
+ }
+
@Override
protected void handleFile(File file, int depth, Collection results) throws IOException {
String fileName = file.getName();
@@ -50,24 +49,22 @@ protected void handleFile(File file, int depth, Collection results) thro
if (fileName.contains("kafka-connector") && fileName.contains("camel")) {
String parentDir = file.getParentFile().getCanonicalPath();
if (parentDir.endsWith("target")) {
- String pluginDir = file.getParentFile().getCanonicalPath();
- LOG.debug("Adding directory: {}", pluginDir);
+ LOG.debug("Adding directory (1): {}: {}", depth, parentDir);
- results.add(pluginDir);
+ results.add(parentDir);
}
}
}
}
-
@Override
protected boolean handleDirectory(File directory, int depth, Collection results) throws IOException {
String directoryName = directory.getName();
if (directoryName.equals("target")) {
String pluginDir = directory.getCanonicalPath();
- LOG.debug("Adding directory: {}", pluginDir);
+ LOG.debug("Adding directory (2): {}: {}", depth, pluginDir);
results.add(pluginDir);
}
@@ -91,29 +88,25 @@ private PluginPathHelper() {
}
- private static List findPlugins(String...moduleDirs) {
- List ret = new ArrayList<>();
+ private List findPluginPaths() {
+ List pluginPaths = new ArrayList<>();
- for (String module : moduleDirs) {
+ for (String module : connectors) {
String path = System.getProperty("project.basedir") + File.separator + module;
- LOG.debug("Base dir used for search: {}", path);
+ File pathFile = new File(path);
+ try {
+ LOG.debug("Base dir used for search: {}", pathFile.getCanonicalPath());
+ } catch (IOException e) {
+ LOG.error("I/O exception: {}", e.getMessage(), e);
+ }
PluginWalker pluginWalker = new PluginWalker();
- ret.addAll(pluginWalker.findPlugins(new File(path)));
+ pluginPaths.addAll(pluginWalker.findPlugins(pathFile));
}
- return ret;
+ return pluginPaths;
}
- private static List findPlugins() {
- /*
- * Only load the subset of modules that has a related test, otherwise the startup time for the
- * Kafka Connect runtime is extremely long
- */
- return findPlugins(MODULES);
- }
-
-
/*
* We need to construct a list of directories containing *only* the connector classes (ie.: those that
* specialize Kafka's Connector abstract class.
@@ -129,7 +122,7 @@ private static List findPlugins() {
* 2) is located in the target directory
* 3) contains the strings 'camel' and 'kafka-connector' as part of their name.
*
- * Then for every connector jar file that it finds, it configures the embedded runtime to includes the parent dir
+ * Then for every connector jar file that it finds, it configures the embedded runtime to includes the parent dir
* into the configuration.
*
* Why it does this?
@@ -141,10 +134,25 @@ private static List findPlugins() {
*
* ref: https://docs.confluent.io/current/connect/userguide.html
*/
- public static String pluginPaths() {
- String ret = findPlugins().stream().collect(Collectors.joining(","));
+ public String pluginPaths() {
+ String ret = findPluginPaths().stream().collect(Collectors.joining(","));
LOG.info("Returning the following directories for the plugin path: {}", ret);
return ret;
}
+
+ public void registerConnector(String[] connectorNames) {
+ // prepend "connectors/" to all connectors name
+ connectors = Stream.of(connectorNames)
+ .map(connectorName -> "connectors" + File.separator + connectorName)
+ .collect(Collectors.toList());
+ }
+
+ public static PluginPathHelper getInstance() {
+ if (instance == null) {
+ instance = new PluginPathHelper();
+ }
+
+ return instance;
+ }
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/SinkConnectorPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SinkConnectorPropertyFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/SinkConnectorPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SinkConnectorPropertyFactory.java
index 56620ce975..0684164b0a 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/SinkConnectorPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SinkConnectorPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
public abstract class SinkConnectorPropertyFactory> extends BasicConnectorPropertyFactory {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/SourceConnectorPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SourceConnectorPropertyFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/SourceConnectorPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SourceConnectorPropertyFactory.java
index ecab0db351..8a6d661b4b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/SourceConnectorPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/SourceConnectorPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
public abstract class SourceConnectorPropertyFactory> extends BasicConnectorPropertyFactory {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/TransformsConfigBuilder.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/TransformsConfigBuilder.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/TransformsConfigBuilder.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/TransformsConfigBuilder.java
index 4fc4425361..13518730d7 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/TransformsConfigBuilder.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/TransformsConfigBuilder.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ConsumerPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ConsumerPropertyFactory.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ConsumerPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ConsumerPropertyFactory.java
index 1638b631b9..1498aabfa4 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ConsumerPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ConsumerPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.kafka;
+package org.apache.camel.kafkaconnector.common.clients.kafka;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultConsumerPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultConsumerPropertyFactory.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultConsumerPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultConsumerPropertyFactory.java
index ae51354bf7..93a5352956 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultConsumerPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultConsumerPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.kafka;
+package org.apache.camel.kafkaconnector.common.clients.kafka;
import java.util.Properties;
import java.util.UUID;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultProducerPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultProducerPropertyFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultProducerPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultProducerPropertyFactory.java
index 94b3578c7f..ce9e668563 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/DefaultProducerPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/DefaultProducerPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.kafka;
+package org.apache.camel.kafkaconnector.common.clients.kafka;
import java.util.Properties;
import java.util.UUID;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/KafkaClient.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/KafkaClient.java
similarity index 81%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/KafkaClient.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/KafkaClient.java
index 439a301982..d634eeb298 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/KafkaClient.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/KafkaClient.java
@@ -15,11 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.kafka;
+package org.apache.camel.kafkaconnector.common.clients.kafka;
import java.time.Duration;
import java.util.Arrays;
-import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.function.Predicate;
@@ -38,8 +37,8 @@
* @param Value type
*/
public class KafkaClient {
- private final ConsumerPropertyFactory propertyProducer;
- private final ProducerPropertyFactory producerPropertyFactory;
+ private KafkaProducer producer;
+ private KafkaConsumer consumer;
/**
@@ -49,8 +48,11 @@ public class KafkaClient {
* PLAINTEXT://${address}:${port}
*/
public KafkaClient(String bootstrapServer) {
- this.propertyProducer = new DefaultConsumerPropertyFactory(bootstrapServer);
- this.producerPropertyFactory = new DefaultProducerPropertyFactory(bootstrapServer);
+ ConsumerPropertyFactory consumerPropertyFactory = new DefaultConsumerPropertyFactory(bootstrapServer);
+ ProducerPropertyFactory producerPropertyFactory = new DefaultProducerPropertyFactory(bootstrapServer);
+
+ producer = new KafkaProducer<>(producerPropertyFactory.getProperties());
+ consumer = new KafkaConsumer<>(consumerPropertyFactory.getProperties());
}
@@ -61,9 +63,6 @@ public KafkaClient(String bootstrapServer) {
* @param predicate the predicate to test when the messages arrive
*/
public void consume(String topic, Predicate> predicate) {
- Properties props = propertyProducer.getProperties();
-
- KafkaConsumer consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList(topic));
// TODO: handle failures, timeouts, etc
@@ -87,9 +86,6 @@ public void consume(String topic, Predicate> predicate) {
* @throws InterruptedException
*/
public void produce(String topic, V message) throws ExecutionException, InterruptedException {
- Properties props = producerPropertyFactory.getProperties();
-
- KafkaProducer producer = new KafkaProducer<>(props);
ProducerRecord record = new ProducerRecord<>(topic, message);
Future future = producer.send(record);
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ProducerPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ProducerPropertyFactory.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ProducerPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ProducerPropertyFactory.java
index 95b7062a5a..3b5dd2932d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/kafka/ProducerPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/clients/kafka/ProducerPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.kafka;
+package org.apache.camel.kafkaconnector.common.clients.kafka;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ContainerLocalKafkaService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ContainerLocalKafkaService.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ContainerLocalKafkaService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ContainerLocalKafkaService.java
index 77f32837d1..1924dc80ab 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ContainerLocalKafkaService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ContainerLocalKafkaService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,4 +35,9 @@ public void initialize() {
LOG.info("Kafka bootstrap server running at address {}", kafka.getBootstrapServers());
}
+
+ @Override
+ public void shutdown() {
+ kafka.stop();
+ }
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/EmbeddedKafkaService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/EmbeddedKafkaService.java
similarity index 76%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/EmbeddedKafkaService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/EmbeddedKafkaService.java
index 1eec742f7b..b8391129de 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/EmbeddedKafkaService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/EmbeddedKafkaService.java
@@ -15,17 +15,16 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.PluginPathHelper;
+import org.apache.camel.kafkaconnector.common.PluginPathHelper;
import org.apache.kafka.connect.runtime.WorkerConfig;
import org.apache.kafka.connect.util.clusters.EmbeddedConnectCluster;
-import org.junit.jupiter.api.extension.ExtensionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,8 +33,13 @@ public class EmbeddedKafkaService implements KafkaService {
private static final long OFFSET_COMMIT_INTERVAL_MS = TimeUnit.SECONDS.toMillis(30);
private EmbeddedConnectCluster cluster;
+ private boolean started;
public EmbeddedKafkaService() {
+ buildCluster();
+ }
+
+ private void buildCluster() {
LOG.info("Creating the embedded Kafka connect instance");
EmbeddedConnectCluster.Builder builder = new EmbeddedConnectCluster.Builder();
@@ -45,7 +49,7 @@ public EmbeddedKafkaService() {
Map workerProps = new HashMap<>();
workerProps.put(WorkerConfig.OFFSET_COMMIT_INTERVAL_MS_CONFIG, String.valueOf(OFFSET_COMMIT_INTERVAL_MS));
- String pluginPaths = PluginPathHelper.pluginPaths();
+ String pluginPaths = PluginPathHelper.getInstance().pluginPaths();
LOG.info("Adding the returned directories to the plugin path. This may take A VERY long time to complete");
workerProps.put(WorkerConfig.PLUGIN_PATH_CONFIG, pluginPaths);
@@ -64,24 +68,40 @@ public EmbeddedKafkaService() {
}
-
@Override
- public void beforeAll(ExtensionContext extensionContext) throws Exception {
+ public String getBootstrapServers() {
+ return cluster.kafka().bootstrapServers();
}
@Override
- public String getBootstrapServers() {
- return cluster.kafka().bootstrapServers();
+ public void initialize() {
+ if (!started) {
+ cluster.start();
+ started = true;
+
+ LOG.info("Kafka bootstrap server running at address {}", getBootstrapServers());
+ }
}
@Override
- public void initialize() {
- cluster.start();
- LOG.info("Kafka bootstrap server running at address {}", getBootstrapServers());
+ public void shutdown() {
+ LOG.info("Stopping the embedded kafka cluster service");
+
+ if (started) {
+ cluster.stop();
+ cluster = null;
+ started = false;
+ }
}
+
+ // WARNING: this may come uninitialized
public EmbeddedConnectCluster getCluster() {
+ if (!started) {
+ LOG.warn("Returning a non-initialized cluster");
+ }
+
return cluster;
}
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaService.java
similarity index 62%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaService.java
index d93555cbff..21f6c4a6c9 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaService.java
@@ -15,15 +15,19 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
+import org.junit.jupiter.api.extension.AfterAllCallback;
+import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback;
+import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
/**
* Provides an interface for any type of Kafka service: remote instances, local container, etc
*/
-public interface KafkaService extends BeforeAllCallback {
+public interface KafkaService extends BeforeAllCallback, BeforeTestExecutionCallback, AfterAllCallback, AfterTestExecutionCallback {
+
/**
* Gets the addresses of the bootstrap servers in the format host1:port,host2:port,etc
@@ -37,9 +41,29 @@ public interface KafkaService extends BeforeAllCallback {
*/
void initialize();
+ /**
+ * Shutdown the service
+ */
+ void shutdown();
+
@Override
default void beforeAll(ExtensionContext extensionContext) throws Exception {
initialize();
}
+
+ @Override
+ default void beforeTestExecution(ExtensionContext extensionContext) throws Exception {
+ initialize();
+ }
+
+ @Override
+ default void afterAll(ExtensionContext extensionContext) throws Exception {
+ shutdown();
+ }
+
+ @Override
+ default void afterTestExecution(ExtensionContext extensionContext) throws Exception {
+ shutdown();
+ }
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaServiceFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaServiceFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaServiceFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaServiceFactory.java
index 209a33239d..c17ff421c5 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/KafkaServiceFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/KafkaServiceFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/RemoteKafkaService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/RemoteKafkaService.java
similarity index 90%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/RemoteKafkaService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/RemoteKafkaService.java
index c203993785..be7460aa20 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/RemoteKafkaService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/RemoteKafkaService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,4 +32,9 @@ public String getBootstrapServers() {
public void initialize() {
LOG.info("Kafka bootstrap server running at address {}", getBootstrapServers());
}
+
+ @Override
+ public void shutdown() {
+ // NO-OP
+ }
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziContainer.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziContainer.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziContainer.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziContainer.java
index fa42561b40..71745475fd 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziContainer.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziContainer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import java.util.function.Consumer;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziService.java
similarity index 85%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziService.java
index 71bb6e1a2d..57e8b64dda 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/StrimziService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/StrimziService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,4 +53,15 @@ public void initialize() {
LOG.info("Kafka bootstrap server running at address {}", getBootstrapServers());
}
+
+ @Override
+ public void shutdown() {
+ try {
+ LOG.info("Stopping Kafka container");
+ strimziContainer.stop();
+ } finally {
+ LOG.info("Stopping Zookeeper container");
+ zookeeperContainer.stop();
+ }
+ }
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ZookeeperContainer.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ZookeeperContainer.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ZookeeperContainer.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ZookeeperContainer.java
index 87eeaf2adf..7b1ac0481e 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafka/ZookeeperContainer.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafka/ZookeeperContainer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafka;
+package org.apache.camel.kafkaconnector.common.services.kafka;
import java.util.function.Consumer;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java
index e22710b76e..39b935168b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/DefaultKafkaConnectPropertyFactory.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.PluginPathHelper;
+import org.apache.camel.kafkaconnector.common.PluginPathHelper;
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
@@ -50,7 +50,7 @@ public Properties getProperties() {
props.put(StandaloneConfig.OFFSET_COMMIT_INTERVAL_MS_CONFIG, "10000");
props.put(StandaloneConfig.LISTENERS_CONFIG, "http://localhost:9999");
- String pluginPaths = PluginPathHelper.pluginPaths();
+ String pluginPaths = PluginPathHelper.getInstance().pluginPaths();
props.put(StandaloneConfig.PLUGIN_PATH_CONFIG, pluginPaths);
return props;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectEmbedded.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectEmbedded.java
similarity index 92%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectEmbedded.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectEmbedded.java
index d064094d93..fe5d9b5570 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectEmbedded.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectEmbedded.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.HashMap;
import java.util.Map;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.services.kafka.EmbeddedKafkaService;
-import org.apache.camel.kafkaconnector.services.kafka.KafkaService;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.services.kafka.EmbeddedKafkaService;
+import org.apache.camel.kafkaconnector.common.services.kafka.KafkaService;
import org.apache.kafka.connect.runtime.AbstractStatus;
import org.apache.kafka.connect.runtime.ConnectorConfig;
import org.apache.kafka.connect.runtime.rest.entities.ConnectorStateInfo;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectPropertyFactory.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectPropertyFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectPropertyFactory.java
index 12ad49c155..1cf5f50484 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectPropertyFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectPropertyFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.Properties;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunner.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunner.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunner.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunner.java
index 89be0dac3e..754dbd7a3d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunner.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunner.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.ArrayList;
import java.util.List;
@@ -26,7 +26,7 @@
import java.util.function.BiConsumer;
import java.util.function.Consumer;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
import org.apache.kafka.common.utils.Time;
import org.apache.kafka.common.utils.Utils;
import org.apache.kafka.connect.connector.policy.AllConnectorClientConfigOverridePolicy;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerFactory.java
similarity index 86%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerFactory.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerFactory.java
index 4cdc1216b6..5d7e974c67 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerFactory.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
-import org.apache.camel.kafkaconnector.services.kafka.EmbeddedKafkaService;
-import org.apache.camel.kafkaconnector.services.kafka.KafkaService;
+import org.apache.camel.kafkaconnector.common.services.kafka.EmbeddedKafkaService;
+import org.apache.camel.kafkaconnector.common.services.kafka.KafkaService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerService.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerService.java
index ed13369d5c..6ceaeda6e2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectRunnerService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectRunnerService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.Map;
import java.util.Objects;
@@ -25,8 +25,8 @@
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.services.kafka.KafkaService;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.services.kafka.KafkaService;
import org.apache.kafka.connect.runtime.ConnectorConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectService.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectService.java
similarity index 92%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectService.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectService.java
index a6b6dc0d03..36acbf43f8 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/kafkaconnect/KafkaConnectService.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/services/kafkaconnect/KafkaConnectService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.kafkaconnect;
+package org.apache.camel.kafkaconnector.common.services.kafkaconnect;
import java.util.concurrent.ExecutionException;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/utils/NetworkUtils.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/NetworkUtils.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/utils/NetworkUtils.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/NetworkUtils.java
index cb409fa7bf..4b1437ee5b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/utils/NetworkUtils.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/NetworkUtils.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.utils;
+package org.apache.camel.kafkaconnector.common.utils;
import java.io.IOException;
import java.net.DatagramSocket;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/PropertyUtils.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/PropertyUtils.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/PropertyUtils.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/PropertyUtils.java
index 4081b784f5..18b36c7b02 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/PropertyUtils.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/PropertyUtils.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common.utils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/TestCommon.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/TestUtils.java
similarity index 69%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/TestCommon.java
rename to tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/TestUtils.java
index 4365023688..202ad82b33 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/TestCommon.java
+++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/utils/TestUtils.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector;
+package org.apache.camel.kafkaconnector.common.utils;
import java.util.concurrent.TimeUnit;
import java.util.function.BooleanSupplier;
@@ -25,55 +25,20 @@
/**
- * Common test constants and utilities
+ * Test utilities
*/
-public final class TestCommon {
- /**
- * The default JMS queue name used during the tests
- */
- public static final String DEFAULT_JMS_QUEUE = "ckc.queue";
-
- /**
- * The default SQS queue name used during the tests
- */
- public static final String DEFAULT_SQS_QUEUE = "ckc";
-
- /**
- * The default SQS queue name used during the tests
- */
- public static final String DEFAULT_SQS_QUEUE_FOR_SNS = "ckcsns";
-
- /**
- * The default SNS queue name used during the tests
- */
- public static final String DEFAULT_SNS_QUEUE = "ckc-sns";
-
- /**
- * The default S3 bucket name used during the tests
- */
- public static final String DEFAULT_S3_BUCKET = "ckc-s3";
+public final class TestUtils {
+ private static final Logger LOG = LoggerFactory.getLogger(TestUtils.class);
- /**
- * The default Kinesis stream name used during the tests
- */
- public static final String DEFAULT_KINESIS_STREAM = "ckc-kin-stream";
+ private TestUtils() {
+ }
- /**
- * The default ElasticSearch cluster name for usage during the tests
- */
- public static final String DEFAULT_ELASTICSEARCH_CLUSTER = "docker-cluster";
/**
- * The default ElasticSearch index for usage during the tests
+ * Gets a topic name for the test class
+ * @param clazz
+ * @return
*/
- public static final String DEFAULT_ELASTICSEARCH_INDEX = "ckc-index";
-
- private static final Logger LOG = LoggerFactory.getLogger(TestCommon.class);
-
- private TestCommon() {
- }
-
-
public static String getDefaultTestTopic(Class> clazz) {
return clazz.getName();
}
@@ -132,6 +97,12 @@ public static void waitFor(BooleanSupplier resourceCheck) {
} while (!state && retries > 0);
}
+ /**
+ * Gets a random number within range
+ * @param min
+ * @param max
+ * @return
+ */
public static int randomWithRange(int min, int max) {
int range = (max - min) + 1;
diff --git a/tests/src/test/resources/log4j2.properties b/tests/itests-common/src/test/resources/log4j2.properties
similarity index 78%
rename from tests/src/test/resources/log4j2.properties
rename to tests/itests-common/src/test/resources/log4j2.properties
index 03086d8497..d8e155cd15 100644
--- a/tests/src/test/resources/log4j2.properties
+++ b/tests/itests-common/src/test/resources/log4j2.properties
@@ -28,43 +28,49 @@ appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
rootLogger.level = INFO
rootLogger.appenderRef.file.ref = file
-logger.reflections.name = org.reflections
-logger.reflections.level = FATAL
-logger.reflections.appenderRef.file.ref = file
+logger.connector.name = org.apache.camel.kafkaconnector
+logger.connector.level = DEBUG
+logger.connector.additivity = false
+logger.connector.appenderRef.file.ref = file
-logger.camel-aws.name = org.apache.camel.component.aws
-logger.camel-aws.level = WARN
-logger.camel-aws.appenderRef.file.ref = file
+# Camel
+logger.camel.name = org.apache.camel
+logger.camel.level = INFO
+logger.camel.additivity = false
+logger.camel.appenderRef.file.ref = file
-logger.camel-elasticsearch.name = org.apache.camel.component.elasticsearch
-logger.camel-elasticsearch.level = WARN
-logger.camel-elasticsearch.appenderRef.file.ref = file
+logger.camel-components.name = org.apache.camel.component.aws
+logger.camel-components.level = TRACE
+logger.camel-components.additivity = false
+logger.camel-components.appenderRef.file.ref = file
+# Useful for the embedded Kafka/Kafka Connect runtime
logger.zookeeper.name = org.apache.zookeeper
logger.zookeeper.level = WARN
+logger.zookeeper.additivity = false
logger.zookeeper.appenderRef.file.ref = file
logger.kafka.name = org.apache.kafka
logger.kafka.level = WARN
+logger.kafka.additivity = false
logger.kafka.appenderRef.file.ref = file
-logger.kafka-delegating.name = org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader
-logger.kafka-delegating.level = INFO
-logger.kafka-delegating.appenderRef.file.ref = file
-
+# Useful to find problems on the connector startup and rest interface
logger.glassfish.name = org.glassfish.jersey.internal
logger.glassfish.level = FATAL
+logger.glassfish.additivity = false
logger.glassfish.appenderRef.file.ref = file
-logger.connector.name = org.apache.camel.kafkaconnector
-logger.connector.level = DEBUG
-logger.connector.additivity = false
-logger.connector.appenderRef.file.ref = file
+# Useful to find broken deps
+logger.reflections.name = org.reflections
+logger.reflections.level = FATAL
+logger.reflections.additivity = false
+logger.reflections.appenderRef.file.ref = file
-logger.camel-salesforce.name = org.apache.camel.component.salesforce
-logger.camel-salesforce.level = DEBUG
-logger.camel-salesforce.additivity = false
-logger.camel-salesforce.appenderRef.file.ref = file
+logger.kafka-delegating.name = org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader
+logger.kafka-delegating.level = INFO
+logger.kafka-delegating.additivity = false
+logger.kafka-delegating.appenderRef.file.ref = file
# This is useful for debugging Salesforce message exchanges.
logger.cometd.name = org.cometd
diff --git a/tests/itests-elasticsearch/pom.xml b/tests/itests-elasticsearch/pom.xml
new file mode 100644
index 0000000000..b22796dc83
--- /dev/null
+++ b/tests/itests-elasticsearch/pom.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-elasticsearch
+ Camel-Kafka-Connector :: Tests :: Elasticsearch
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-elasticsearch-rest
+
+
+
+
+ org.apache.camel.kafkaconnector
+ camel-kafka-connector
+ ${project.version}
+ provided
+
+
+
+ org.testcontainers
+ elasticsearch
+ test
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/elasticsearch/ElasticSearchClient.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/clients/ElasticSearchClient.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/elasticsearch/ElasticSearchClient.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/clients/ElasticSearchClient.java
index 53944a400c..c8120263e6 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/elasticsearch/ElasticSearchClient.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/clients/ElasticSearchClient.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.clients;
import java.io.IOException;
@@ -33,7 +33,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.camel.kafkaconnector.TestCommon.waitFor;
+import static org.apache.camel.kafkaconnector.common.utils.TestUtils.waitFor;
public class ElasticSearchClient {
private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchClient.class);
diff --git a/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/common/ElasticSearchCommon.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/common/ElasticSearchCommon.java
new file mode 100644
index 0000000000..7db85291bb
--- /dev/null
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/common/ElasticSearchCommon.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.kafkaconnector.elasticsearch.common;
+
+public final class ElasticSearchCommon {
+ /**
+ * The default ElasticSearch cluster name for usage during the tests
+ */
+ public static final String DEFAULT_ELASTICSEARCH_CLUSTER = "docker-cluster";
+
+ /**
+ * The default ElasticSearch index for usage during the tests
+ */
+ public static final String DEFAULT_ELASTICSEARCH_INDEX = "ckc-index";
+
+ private ElasticSearchCommon() {
+
+ }
+}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchLocalContainerService.java
similarity index 89%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchLocalContainerService.java
index aa4177ae19..5641633f65 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchLocalContainerService.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.services;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.elasticsearch.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.clients.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.common.ElasticSearchCommon;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.elasticsearch.ElasticsearchContainer;
@@ -61,6 +61,6 @@ public void shutdown() {
@Override
public ElasticSearchClient getClient() {
return new ElasticSearchClient(container.getContainerIpAddress(), container.getMappedPort(ELASTIC_SEARCH_PORT),
- TestCommon.DEFAULT_ELASTICSEARCH_INDEX);
+ ElasticSearchCommon.DEFAULT_ELASTICSEARCH_INDEX);
}
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchService.java
similarity index 92%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchService.java
index 4a3373bedc..2b848655ca 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchService.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.services;
-import org.apache.camel.kafkaconnector.clients.elasticsearch.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.clients.ElasticSearchClient;
import org.junit.jupiter.api.extension.AfterAllCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchServiceFactory.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchServiceFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchServiceFactory.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchServiceFactory.java
index 4a56893552..71bc55cd7b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchServiceFactory.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/ElasticSearchServiceFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.services;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/RemoteElasticSearchService.java
similarity index 83%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/RemoteElasticSearchService.java
index b087dc1669..07f185653f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/services/RemoteElasticSearchService.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.services;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.elasticsearch.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.clients.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.common.ElasticSearchCommon;
public class RemoteElasticSearchService implements ElasticSearchService {
private static final int ELASTIC_SEARCH_PORT = 9200;
@@ -54,6 +54,6 @@ public void shutdown() {
@Override
public ElasticSearchClient getClient() {
- return new ElasticSearchClient(getHost(), getPort(), TestCommon.DEFAULT_ELASTICSEARCH_INDEX);
+ return new ElasticSearchClient(getHost(), getPort(), ElasticSearchCommon.DEFAULT_ELASTICSEARCH_INDEX);
}
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelElasticSearchPropertyFactory.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelElasticSearchPropertyFactory.java
similarity index 92%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelElasticSearchPropertyFactory.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelElasticSearchPropertyFactory.java
index b8d6147ae2..e0c8118f2e 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelElasticSearchPropertyFactory.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelElasticSearchPropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.sink;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
final class CamelElasticSearchPropertyFactory extends SinkConnectorPropertyFactory {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelSinkElasticSearchITCase.java
similarity index 80%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelSinkElasticSearchITCase.java
index 520186ee7c..80834dde01 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/CamelSinkElasticSearchITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.elasticsearch;
+package org.apache.camel.kafkaconnector.elasticsearch.sink;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
@@ -23,13 +23,14 @@
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.elasticsearch.ElasticSearchClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.elasticsearch.ElasticSearchService;
-import org.apache.camel.kafkaconnector.services.elasticsearch.ElasticSearchServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.elasticsearch.clients.ElasticSearchClient;
+import org.apache.camel.kafkaconnector.elasticsearch.common.ElasticSearchCommon;
+import org.apache.camel.kafkaconnector.elasticsearch.services.ElasticSearchService;
+import org.apache.camel.kafkaconnector.elasticsearch.services.ElasticSearchServiceFactory;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.junit.jupiter.api.BeforeEach;
@@ -59,6 +60,11 @@ public class CamelSinkElasticSearchITCase extends AbstractKafkaTest {
private int received;
private final String transformKey = "index-test";
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-elasticsearch-rest-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
client = elasticSearch.getClient();
@@ -71,7 +77,7 @@ private void putRecords(CountDownLatch latch) {
try {
for (int i = 0; i < expect; i++) {
try {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "test");
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "test");
} catch (ExecutionException e) {
LOG.error("Unable to produce messages: {}", e.getMessage(), e);
} catch (InterruptedException e) {
@@ -131,17 +137,17 @@ public void runTest(ConnectorPropertyFactory propertyFactory) throws ExecutionEx
@Timeout(90)
public void testIndexOperation() {
try {
- String topic = TestCommon.getDefaultTestTopic(this.getClass());
+ String topic = TestUtils.getDefaultTestTopic(this.getClass());
ConnectorPropertyFactory propertyFactory = CamelElasticSearchPropertyFactory
.basic()
.withTopics(topic)
.withOperation("Index")
- .withClusterName(TestCommon.DEFAULT_ELASTICSEARCH_CLUSTER)
+ .withClusterName(ElasticSearchCommon.DEFAULT_ELASTICSEARCH_CLUSTER)
.withHostAddress(elasticSearch.getHttpHostAddress())
- .withIndexName(TestCommon.DEFAULT_ELASTICSEARCH_INDEX)
+ .withIndexName(ElasticSearchCommon.DEFAULT_ELASTICSEARCH_INDEX)
.withTransformsConfig("ElasticSearchTransformer")
- .withEntry("type", "org.apache.camel.kafkaconnector.sink.elasticsearch.transforms.ConnectRecordValueToMapTransformer")
+ .withEntry("type", "org.apache.camel.kafkaconnector.elasticsearch.sink.transform.ConnectRecordValueToMapTransformer")
.withEntry("key", transformKey)
.end();
@@ -158,18 +164,18 @@ public void testIndexOperation() {
@Timeout(90)
public void testIndexOperationUsingUrl() {
try {
- String topic = TestCommon.getDefaultTestTopic(this.getClass());
+ String topic = TestUtils.getDefaultTestTopic(this.getClass());
ConnectorPropertyFactory propertyFactory = CamelElasticSearchPropertyFactory
.basic()
.withTopics(topic)
- .withUrl(TestCommon.DEFAULT_ELASTICSEARCH_CLUSTER)
+ .withUrl(ElasticSearchCommon.DEFAULT_ELASTICSEARCH_CLUSTER)
.append("hostAddresses", elasticSearch.getHttpHostAddress())
.append("operation", "Index")
- .append("indexName", TestCommon.DEFAULT_ELASTICSEARCH_INDEX)
+ .append("indexName", ElasticSearchCommon.DEFAULT_ELASTICSEARCH_INDEX)
.buildUrl()
.withTransformsConfig("ElasticSearchTransformer")
- .withEntry("type", "org.apache.camel.kafkaconnector.sink.elasticsearch.transforms.ConnectRecordValueToMapTransformer")
+ .withEntry("type", "org.apache.camel.kafkaconnector.elasticsearch.sink.transform.ConnectRecordValueToMapTransformer")
.withEntry("key", transformKey)
.end();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/transforms/ConnectRecordValueToMapTransformer.java b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/transform/ConnectRecordValueToMapTransformer.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/transforms/ConnectRecordValueToMapTransformer.java
rename to tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/transform/ConnectRecordValueToMapTransformer.java
index 37c3766f96..14ee8e849c 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/transforms/ConnectRecordValueToMapTransformer.java
+++ b/tests/itests-elasticsearch/src/test/java/org/apache/camel/kafkaconnector/elasticsearch/sink/transform/ConnectRecordValueToMapTransformer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.elasticsearch.transforms;
+package org.apache.camel.kafkaconnector.elasticsearch.sink.transform;
import java.util.HashMap;
import java.util.Map;
diff --git a/tests/itests-file/pom.xml b/tests/itests-file/pom.xml
new file mode 100644
index 0000000000..4ddb38e568
--- /dev/null
+++ b/tests/itests-file/pom.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-file
+ Camel-Kafka-Connector :: Tests :: File
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-file
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelFilePropertyFactory.java b/tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelFilePropertyFactory.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelFilePropertyFactory.java
rename to tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelFilePropertyFactory.java
index e0150c01b1..19bbb9eb85 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelFilePropertyFactory.java
+++ b/tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelFilePropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.file;
+package org.apache.camel.kafkaconnector.file.sink;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
final class CamelFilePropertyFactory extends SinkConnectorPropertyFactory {
private CamelFilePropertyFactory() {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelSinkFileITCase.java b/tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelSinkFileITCase.java
similarity index 90%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelSinkFileITCase.java
rename to tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelSinkFileITCase.java
index eba4fb411f..2b3e71d415 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/file/CamelSinkFileITCase.java
+++ b/tests/itests-file/src/test/java/org/apache/camel/kafkaconnector/file/sink/CamelSinkFileITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.file;
+package org.apache.camel.kafkaconnector.file.sink;
import java.io.BufferedReader;
import java.io.File;
@@ -30,10 +30,10 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -56,6 +56,10 @@ public class CamelSinkFileITCase extends AbstractKafkaTest {
private final int expect = 1;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-file-kafka-connector"};
+ }
@BeforeEach
public void setUp() {
@@ -79,7 +83,7 @@ private void putRecords() {
for (int i = 0; i < expect; i++) {
try {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "test");
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "test");
} catch (ExecutionException e) {
LOG.error("Unable to produce messages: {}", e.getMessage(), e);
} catch (InterruptedException e) {
@@ -112,7 +116,7 @@ public void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws Ex
public void testBasicSendReceive() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelFilePropertyFactory.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withDirectoryName(SINK_DIR)
.withFileName(FILENAME)
.withDoneFileName("${file:name}.done");
@@ -130,7 +134,7 @@ public void testBasicSendReceive() {
public void testBasicSendReceiveUsingUrl() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelFilePropertyFactory.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withUrl(SINK_DIR)
.append("fileName", FILENAME)
.append("doneFileName", "${file:name}.done")
diff --git a/tests/itests-http/pom.xml b/tests/itests-http/pom.xml
new file mode 100644
index 0000000000..5f47c48dcb
--- /dev/null
+++ b/tests/itests-http/pom.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-http
+ Camel-Kafka-Connector :: Tests :: HTTP
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-http
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelHTTPPropertyFactory.java b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelHTTPPropertyFactory.java
similarity index 90%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelHTTPPropertyFactory.java
rename to tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelHTTPPropertyFactory.java
index 0a1f22fc4c..d4697564b7 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelHTTPPropertyFactory.java
+++ b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelHTTPPropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.http;
+package org.apache.camel.kafkaconnector.http.sink;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
final class CamelHTTPPropertyFactory extends SinkConnectorPropertyFactory {
private CamelHTTPPropertyFactory() {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelSinkHTTPITCase.java b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelSinkHTTPITCase.java
similarity index 86%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelSinkHTTPITCase.java
rename to tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelSinkHTTPITCase.java
index e243f8021a..f23ac4dda2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/CamelSinkHTTPITCase.java
+++ b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/CamelSinkHTTPITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.http;
+package org.apache.camel.kafkaconnector.http.sink;
import java.io.IOException;
import java.net.InetAddress;
@@ -26,11 +26,11 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.http.impl.bootstrap.HttpServer;
import org.apache.http.impl.bootstrap.ServerBootstrap;
import org.junit.jupiter.api.AfterEach;
@@ -55,6 +55,11 @@ public class CamelSinkHTTPITCase extends AbstractKafkaTest {
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-http-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() throws IOException {
validationHandler = new HTTPTestValidationHandler(10);
@@ -84,7 +89,7 @@ private void putRecords() {
for (int i = 0; i < expect; i++) {
try {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "test");
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "test");
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
@@ -122,7 +127,7 @@ public void testBasicSendReceive() {
String url = localServer.getInetAddress().getHostName() + ":" + HTTP_PORT + "/ckc";
ConnectorPropertyFactory connectorPropertyFactory = CamelHTTPPropertyFactory.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withHttpUri(url);
runTest(connectorPropertyFactory);
@@ -139,7 +144,7 @@ public void testBasicSendReceiveUsingUrl() {
String hostName = localServer.getInetAddress().getHostName() + ":" + HTTP_PORT + "/ckc";
ConnectorPropertyFactory connectorPropertyFactory = CamelHTTPPropertyFactory.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withUrl(hostName)
.buildUrl();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/HTTPTestValidationHandler.java b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/HTTPTestValidationHandler.java
similarity index 98%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/HTTPTestValidationHandler.java
rename to tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/HTTPTestValidationHandler.java
index d08157e6b5..c5de4c2cbf 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/http/HTTPTestValidationHandler.java
+++ b/tests/itests-http/src/test/java/org/apache/camel/kafkaconnector/http/sink/HTTPTestValidationHandler.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.http;
+package org.apache.camel.kafkaconnector.http.sink;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/tests/itests-parent/pom.xml b/tests/itests-parent/pom.xml
new file mode 100644
index 0000000000..ae2b5c1cf4
--- /dev/null
+++ b/tests/itests-parent/pom.xml
@@ -0,0 +1,204 @@
+
+
+
+
+
+ tests
+ org.apache.camel.kafkaconnector
+ 0.3.0-SNAPSHOT
+ ../pom.xml
+
+ 4.0.0
+
+ itests-parent
+ pom
+
+ Camel-Kafka-Connector :: Tests :: Parent
+ Camel Kafka Connector Integration Tests Parent
+
+
+
+ org.apache.camel.kafkaconnector
+ camel-kafka-connector
+ ${project.version}
+ provided
+
+
+
+ org.apache.camel
+ camel-main
+
+
+ org.apache.camel
+ camel-direct
+
+
+
+ org.apache.logging.log4j
+ log4j-api
+ test
+
+
+ org.apache.logging.log4j
+ log4j-1.2-api
+ test
+
+
+ org.apache.logging.log4j
+ log4j-core
+ test
+
+
+ org.apache.logging.log4j
+ log4j-slf4j-impl
+ test
+
+
+ org.apache.logging.log4j
+ log4j-jcl
+ test
+
+
+
+ org.apache.logging.log4j
+ log4j-jul
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-params
+ test
+
+
+
+ org.scala-lang
+ scala-library
+ test
+
+
+ org.apache.kafka
+ kafka_2.12
+ test
+
+
+ org.apache.kafka
+ kafka_2.12
+ test
+ test-jar
+ test
+
+
+ org.apache.kafka
+ connect-runtime
+ test
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+ log4j
+ log4j
+
+
+
+
+ org.apache.kafka
+ connect-runtime
+ test
+ test-jar
+ test
+
+
+ org.apache.kafka
+ kafka-clients
+ test
+
+
+ org.apache.kafka
+ kafka-clients
+ test
+ test-jar
+
+
+
+ org.testcontainers
+ testcontainers
+ test
+
+
+ org.testcontainers
+ junit-jupiter
+ test
+
+
+ org.testcontainers
+ kafka
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${version.maven.surefire.plugin}
+
+ false
+
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+
+
+ -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dcom.datastax.driver.FORCE_NIO=true -Dproject.basedir=${project.basedir}/../.. -Dcom.amazonaws.sdk.disableCbor=true -Ditest.strimzi.container.image=${itest.strimzi.container.image} -Ditest.zookeeper.container.image=${itest.zookeeper.container.image}
+ ${skipIntegrationTests}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/itests-salesforce/pom.xml b/tests/itests-salesforce/pom.xml
new file mode 100644
index 0000000000..c2ede6743a
--- /dev/null
+++ b/tests/itests-salesforce/pom.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-salesforce
+ Camel-Kafka-Connector :: Tests :: Salesforce
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ javax.annotation
+ javax.annotation-api
+
+
+
+ org.apache.camel
+ camel-salesforce
+
+
+
+
+
+
+ salesforce
+
+ false
+
+
+
+
+
+ org.apache.camel.maven
+ camel-salesforce-maven-plugin
+
+
+ generate
+
+ generate
+
+
+
+
+ ${it.test.salesforce.client.id}
+ ${it.test.salesforce.client.secret}
+ ${it.test.salesforce.username}
+ ${it.test.salesforce.password}
+ ${it.test.salesforce.login.url}
+
+ Account
+ Contacts
+
+ ${it.test.salesforce.httpProxyHost}
+ ${it.test.salesforce.httpProxyPort}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ generate-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SalesforceCliContainer.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SalesforceCliContainer.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SalesforceCliContainer.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SalesforceCliContainer.java
index dceb37983d..efba5644a7 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SalesforceCliContainer.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SalesforceCliContainer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.clients;
import java.io.IOException;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SfdxCommand.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SfdxCommand.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SfdxCommand.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SfdxCommand.java
index b6d0c31274..02339441ed 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/salesforce/SfdxCommand.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/clients/SfdxCommand.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.clients;
import java.util.ArrayList;
import java.util.List;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSalesforcePropertyFactory.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSalesforcePropertyFactory.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSalesforcePropertyFactory.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSalesforcePropertyFactory.java
index 58a1077c83..6c1abee0b1 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSalesforcePropertyFactory.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSalesforcePropertyFactory.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.sink;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
public class CamelSalesforcePropertyFactory extends SourceConnectorPropertyFactory {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSinkSalesforceITCase.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSinkSalesforceITCase.java
similarity index 88%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSinkSalesforceITCase.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSinkSalesforceITCase.java
index ffcbf6e166..6f05bde66b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/salesforce/CamelSinkSalesforceITCase.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/sink/CamelSinkSalesforceITCase.java
@@ -15,17 +15,17 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.sink;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.clients.salesforce.SalesforceCliContainer;
-import org.apache.camel.kafkaconnector.clients.salesforce.SfdxCommand;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.salesforce.clients.SalesforceCliContainer;
+import org.apache.camel.kafkaconnector.salesforce.clients.SfdxCommand;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -37,7 +37,7 @@
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
-import static org.apache.camel.kafkaconnector.clients.salesforce.SalesforceCliContainer.verifyCommand;
+import static org.apache.camel.kafkaconnector.salesforce.clients.SalesforceCliContainer.verifyCommand;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@@ -96,9 +96,14 @@ public class CamelSinkSalesforceITCase extends AbstractKafkaTest {
private String accountName;
private boolean recordCreated;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-salesforce-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
- accountName = "TestSinkAccount" + TestCommon.randomWithRange(1, 100);
+ accountName = "TestSinkAccount" + TestUtils.randomWithRange(1, 100);
}
@AfterEach
@@ -158,14 +163,14 @@ private void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
LOG.info("Sending new account {}", data);
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), data);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), data);
}
@Test
@Timeout(180)
public void testBasicProduce() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory factory = CamelSalesforcePropertyFactory.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUserName(userName)
.withPassword(password)
.withClientId(clientId)
@@ -177,7 +182,7 @@ public void testBasicProduce() throws ExecutionException, InterruptedException {
runTest(factory);
- TestCommon.waitFor(this::waitForRecordCreation);
+ TestUtils.waitFor(this::waitForRecordCreation);
assertTrue(recordCreated, "The record was not created");
}
}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSalesforcePropertyFactory.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSalesforcePropertyFactory.java
similarity index 96%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSalesforcePropertyFactory.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSalesforcePropertyFactory.java
index dac56dd26f..cbbeaedf82 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSalesforcePropertyFactory.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSalesforcePropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.source;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
final class CamelSalesforcePropertyFactory extends SourceConnectorPropertyFactory {
private CamelSalesforcePropertyFactory() {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSourceSalesforceITCase.java b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSourceSalesforceITCase.java
similarity index 90%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSourceSalesforceITCase.java
rename to tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSourceSalesforceITCase.java
index 189f7bfb54..d0e542aee3 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/salesforce/CamelSourceSalesforceITCase.java
+++ b/tests/itests-salesforce/src/test/java/org/apache/camel/kafkaconnector/salesforce/source/CamelSourceSalesforceITCase.java
@@ -15,19 +15,19 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.salesforce;
+package org.apache.camel.kafkaconnector.salesforce.source;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.clients.salesforce.SalesforceCliContainer;
-import org.apache.camel.kafkaconnector.clients.salesforce.SfdxCommand;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.salesforce.clients.SalesforceCliContainer;
+import org.apache.camel.kafkaconnector.salesforce.clients.SfdxCommand;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -41,7 +41,7 @@
import org.testcontainers.junit.jupiter.Testcontainers;
-import static org.apache.camel.kafkaconnector.clients.salesforce.SalesforceCliContainer.verifyCommand;
+import static org.apache.camel.kafkaconnector.salesforce.clients.SalesforceCliContainer.verifyCommand;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@@ -99,11 +99,16 @@ public class CamelSourceSalesforceITCase extends AbstractKafkaTest {
private volatile boolean received;
private String account;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-salesforce-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() throws IOException, InterruptedException {
received = false;
- account = "TestAccount" + TestCommon.randomWithRange(1, 100);
+ account = "TestAccount" + TestUtils.randomWithRange(1, 100);
SfdxCommand sfdxCommand = SfdxCommand.forceDataRecordCreate()
.withArgument("--sobjecttype", "Account")
@@ -143,7 +148,7 @@ public void runBasicTest(ConnectorPropertyFactory connectorPropertyFactory) thro
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertTrue(received, "Didn't receive any messages");
@@ -197,7 +202,7 @@ private boolean updateTestAccount() {
@Timeout(180)
public void testBasicConsume() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory factory = CamelSalesforcePropertyFactory.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUserName(userName)
.withPassword(password)
.withClientId(clientId)
@@ -220,7 +225,7 @@ public void testBasicConsume() throws ExecutionException, InterruptedException {
@Timeout(180)
public void testBasicConsumeUsingUrl() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory factory = CamelSalesforcePropertyFactory.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUserName(userName)
.withPassword(password)
.withClientId(clientId)
@@ -263,7 +268,7 @@ public void testBasicCDC() throws ExecutionException, InterruptedException {
* HTTP error 500 without much details.
*/
ConnectorPropertyFactory factory = CamelSalesforcePropertyFactory.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUserName(userName)
.withPassword(password)
.withClientId(clientId)
@@ -281,7 +286,7 @@ public void testBasicCDC() throws ExecutionException, InterruptedException {
@Timeout(180)
public void testBasicCDCUsingUrl() throws ExecutionException, InterruptedException {
ConnectorPropertyFactory factory = CamelSalesforcePropertyFactory.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUserName(userName)
.withPassword(password)
.withClientId(clientId)
diff --git a/tests/itests-sjms2/pom.xml b/tests/itests-sjms2/pom.xml
new file mode 100644
index 0000000000..47ba6d7a8d
--- /dev/null
+++ b/tests/itests-sjms2/pom.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-sjms2
+ Camel-Kafka-Connector :: Tests :: Simple JMS2
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-sjms2
+
+
+
+ org.apache.qpid
+ qpid-jms-client
+ test
+
+
+
+ org.apache.activemq
+ activemq-client
+ test
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/jms/JMSClient.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java
similarity index 99%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/clients/jms/JMSClient.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java
index 4949126616..0e5a175dbd 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/clients/jms/JMSClient.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.clients.jms;
+package org.apache.camel.kafkaconnector.sjms2.clients;
import java.util.function.Function;
import java.util.function.Predicate;
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java
new file mode 100644
index 0000000000..24e9f9af68
--- /dev/null
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.kafkaconnector.sjms2.common;
+
+public final class SJMS2Common {
+ /**
+ * The default JMS queue name used during the tests
+ */
+ public static final String DEFAULT_JMS_QUEUE = "ckc.queue";
+
+ private SJMS2Common() {
+
+ }
+}
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ArtemisContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java
similarity index 95%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ArtemisContainer.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java
index c419034096..b06ba3fe1e 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ArtemisContainer.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.images.builder.ImageFromDockerfile;
@@ -33,7 +33,7 @@ public class ArtemisContainer extends JMSContainer {
public ArtemisContainer() {
super(new ImageFromDockerfile("apache-artemis:ckc", false)
.withFileFromClasspath("Dockerfile",
- "org/apache/camel/kafkaconnector/services/jms/artemis/Dockerfile"));
+ "org/apache/camel/kafkaconnector/sjms2/services/artemis/Dockerfile"));
withExposedPorts(DEFAULT_MQTT_PORT, DEFAULT_AMQP_PORT,
DEFAULT_ADMIN_PORT, DEFAULT_ACCEPTOR_PORT);
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java
index 4de77f1284..6e186e83a2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSContainer.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java
index de72add083..5a2375595f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSContainer.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.images.builder.ImageFromDockerfile;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java
similarity index 94%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java
index 1669013cfe..cc0d8fc1f2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
import org.junit.jupiter.api.extension.AfterAllCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSServiceFactory.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSServiceFactory.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSServiceFactory.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSServiceFactory.java
index 0855010c3d..e74370e7b2 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSServiceFactory.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSServiceFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/QpidDispatchRouterContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/QpidDispatchRouterContainer.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java
index 687005787a..952be2ea57 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/QpidDispatchRouterContainer.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.images.builder.ImageFromDockerfile;
@@ -30,7 +30,7 @@ public class QpidDispatchRouterContainer extends JMSContainer {
public QpidDispatchRouterContainer() {
super(new ImageFromDockerfile("qpid-dispatch:ckc", false)
.withFileFromClasspath("Dockerfile",
- "org/apache/camel/kafkaconnector/services/jms/qpid-dispatch-router/Dockerfile"));
+ "org/apache/camel/kafkaconnector/sjms2/services/qpid-dispatch-router/Dockerfile"));
withExposedPorts(DEFAULT_AMQP_PORT);
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java
similarity index 89%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java
index a368d6de4c..2f39b8a679 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.jms;
+package org.apache.camel.kafkaconnector.sjms2.services;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.PropertyUtils;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.apache.camel.kafkaconnector.common.utils.PropertyUtils;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
public class RemoteJMSService implements JMSService {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelJMSPropertyFactory.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelJMSPropertyFactory.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelJMSPropertyFactory.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelJMSPropertyFactory.java
index e2ce13a4da..6e44f108f3 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelJMSPropertyFactory.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelJMSPropertyFactory.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.jms;
+package org.apache.camel.kafkaconnector.sjms2.sink;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
/**
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
similarity index 81%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
index 970ab1040a..0f3db92fb6 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.jms;
+package org.apache.camel.kafkaconnector.sjms2.sink;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
@@ -27,13 +27,14 @@
import javax.jms.Message;
import javax.jms.TextMessage;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.jms.JMSService;
-import org.apache.camel.kafkaconnector.services.jms.JMSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
+import org.apache.camel.kafkaconnector.sjms2.services.JMSService;
+import org.apache.camel.kafkaconnector.sjms2.services.JMSServiceFactory;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
@@ -58,6 +59,11 @@ public class CamelSinkJMSITCase extends AbstractKafkaTest {
private int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-sjms2-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
LOG.info("JMS service running at {}", jmsService.getDefaultEndpoint());
@@ -99,7 +105,7 @@ private void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
for (int i = 0; i < expect; i++) {
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "Sink test message " + i);
}
LOG.debug("Created the consumer ... About to receive messages");
@@ -117,9 +123,9 @@ public void testBasicSendReceive() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelJMSPropertyFactory
.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withConnectionProperties(jmsService.getConnectionProperties())
- .withDestinationName(TestCommon.DEFAULT_JMS_QUEUE);
+ .withDestinationName(SJMS2Common.DEFAULT_JMS_QUEUE);
runTest(connectorPropertyFactory);
@@ -135,9 +141,9 @@ public void testBasicSendReceiveUsingUrl() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelJMSPropertyFactory
.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withConnectionProperties(jmsService.getConnectionProperties())
- .withUrl(TestCommon.DEFAULT_JMS_QUEUE)
+ .withUrl(SJMS2Common.DEFAULT_JMS_QUEUE)
.buildUrl();
runTest(connectorPropertyFactory);
@@ -157,7 +163,7 @@ private void consumeJMSMessages(CountDownLatch latch) {
jmsClient.start();
for (int i = 0; i < expect; i++) {
- jmsClient.receive(TestCommon.DEFAULT_JMS_QUEUE, this::checkRecord);
+ jmsClient.receive(SJMS2Common.DEFAULT_JMS_QUEUE, this::checkRecord);
}
} catch (Exception e) {
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelJMSPropertyFactory.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelJMSPropertyFactory.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelJMSPropertyFactory.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelJMSPropertyFactory.java
index 471e73ef8e..752b8e1b64 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelJMSPropertyFactory.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelJMSPropertyFactory.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.jms;
+package org.apache.camel.kafkaconnector.sjms2.source;
import java.util.Properties;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
/**
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
similarity index 81%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java
rename to tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
index 2cf8b9bf48..1dd8caec4d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
@@ -15,19 +15,20 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.jms;
+package org.apache.camel.kafkaconnector.sjms2.source;
import java.util.concurrent.ExecutionException;
import javax.jms.JMSException;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.jms.JMSService;
-import org.apache.camel.kafkaconnector.services.jms.JMSServiceFactory;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
+import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
+import org.apache.camel.kafkaconnector.sjms2.services.JMSService;
+import org.apache.camel.kafkaconnector.sjms2.services.JMSServiceFactory;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -55,6 +56,11 @@ public class CamelSourceJMSITCase extends AbstractKafkaTest {
private int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-sjms2-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
received = 0;
@@ -117,11 +123,11 @@ public void runBasicStringTest(ConnectorPropertyFactory connectorPropertyFactory
connectorPropertyFactory.log();
getKafkaConnectService().initializeConnector(connectorPropertyFactory);
- produceMessages(TestCommon.DEFAULT_JMS_QUEUE, "Test string message");
+ produceMessages(SJMS2Common.DEFAULT_JMS_QUEUE, "Test string message");
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
@@ -133,8 +139,8 @@ public void testBasicSendReceive() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelJMSPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withDestinationName(TestCommon.DEFAULT_JMS_QUEUE)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withDestinationName(SJMS2Common.DEFAULT_JMS_QUEUE)
.withConnectionProperties(jmsService.getConnectionProperties());
runBasicStringTest(connectorPropertyFactory);
@@ -151,8 +157,8 @@ public void testBasicSendReceiveUsingUrl() {
ConnectorPropertyFactory connectorPropertyFactory = CamelJMSPropertyFactory
.basic()
.withConnectionProperties(jmsService.getConnectionProperties())
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
- .withUrl(TestCommon.DEFAULT_JMS_QUEUE)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
+ .withUrl(SJMS2Common.DEFAULT_JMS_QUEUE)
.buildUrl();
runBasicStringTest(connectorPropertyFactory);
@@ -171,7 +177,7 @@ public void testIntSendReceive() {
ConnectorPropertyFactory connectorPropertyFactory = CamelJMSPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()) + jmsQueueName)
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()) + jmsQueueName)
.withDestinationName(jmsQueueName)
.withConnectionProperties(jmsService.getConnectionProperties());
@@ -182,7 +188,7 @@ public void testIntSendReceive() {
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()) + "testIntSendReceive", this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()) + "testIntSendReceive", this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/services/jms/artemis/Dockerfile b/tests/itests-sjms2/src/test/resources/org/apache/camel/kafkaconnector/sjms2/services/artemis/Dockerfile
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/services/jms/artemis/Dockerfile
rename to tests/itests-sjms2/src/test/resources/org/apache/camel/kafkaconnector/sjms2/services/artemis/Dockerfile
diff --git a/tests/src/test/resources/org/apache/camel/kafkaconnector/services/jms/qpid-dispatch-router/Dockerfile b/tests/itests-sjms2/src/test/resources/org/apache/camel/kafkaconnector/sjms2/services/qpid-dispatch-router/Dockerfile
similarity index 100%
rename from tests/src/test/resources/org/apache/camel/kafkaconnector/services/jms/qpid-dispatch-router/Dockerfile
rename to tests/itests-sjms2/src/test/resources/org/apache/camel/kafkaconnector/sjms2/services/qpid-dispatch-router/Dockerfile
diff --git a/tests/itests-slack/pom.xml b/tests/itests-slack/pom.xml
new file mode 100644
index 0000000000..67d459ecb3
--- /dev/null
+++ b/tests/itests-slack/pom.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-slack
+ Camel-Kafka-Connector :: Tests :: Slack
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-slack
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSinkSlackITCase.java b/tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSinkSlackITCase.java
similarity index 83%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSinkSlackITCase.java
rename to tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSinkSlackITCase.java
index 7193e4c994..eb12700de9 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSinkSlackITCase.java
+++ b/tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSinkSlackITCase.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.slack;
+package org.apache.camel.kafkaconnector.slack.sink;
import java.util.concurrent.ExecutionException;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
@@ -49,6 +49,10 @@ public class CamelSinkSlackITCase extends AbstractKafkaTest {
private String slackChannel = System.getProperty("it.test.slack.channel");
private String webhookUrl = System.getProperty("it.test.slack.webhookUrl");
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-slack-kafka-connector"};
+ }
private void runTest(ConnectorPropertyFactory connectorPropertyFactory, String message) throws ExecutionException, InterruptedException {
connectorPropertyFactory.log();
@@ -56,7 +60,7 @@ private void runTest(ConnectorPropertyFactory connectorPropertyFactory, String m
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), message);
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), message);
LOG.debug("Created the consumer ... About to receive messages");
@@ -68,7 +72,7 @@ public void testBasicSendReceive() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelSlackPropertyFactory
.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withChannel(slackChannel)
.withWebhookUrl(webhookUrl);
@@ -86,7 +90,7 @@ public void testBasicSendReceiveWithUrl() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelSlackPropertyFactory
.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withUrl(slackChannel)
.append("webhookUrl", webhookUrl)
.buildUrl();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSlackPropertyFactory.java b/tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSlackPropertyFactory.java
similarity index 91%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSlackPropertyFactory.java
rename to tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSlackPropertyFactory.java
index 513461f79e..34f077f8f9 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/slack/CamelSlackPropertyFactory.java
+++ b/tests/itests-slack/src/test/java/org/apache/camel/kafkaconnector/slack/sink/CamelSlackPropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.slack;
+package org.apache.camel.kafkaconnector.slack.sink;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
/**
diff --git a/tests/itests-syslog/pom.xml b/tests/itests-syslog/pom.xml
new file mode 100644
index 0000000000..10cba7bf27
--- /dev/null
+++ b/tests/itests-syslog/pom.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-syslog
+ Camel-Kafka-Connector :: Tests :: Syslog
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-syslog
+
+
+
+ org.apache.camel.kafkaconnector
+ camel-netty-kafka-connector
+ ${project.version}
+ provided
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/syslog/SyslogService.java b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/services/SyslogService.java
similarity index 97%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/services/syslog/SyslogService.java
rename to tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/services/SyslogService.java
index 9b06ee6ea3..3b3a508f7d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/syslog/SyslogService.java
+++ b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/services/SyslogService.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.services.syslog;
+package org.apache.camel.kafkaconnector.syslog.services;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSinkSyslogITCase.java b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSinkSyslogITCase.java
similarity index 77%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSinkSyslogITCase.java
rename to tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSinkSyslogITCase.java
index 1dc6923499..f62afd914f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSinkSyslogITCase.java
+++ b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSinkSyslogITCase.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.syslog;
+package org.apache.camel.kafkaconnector.syslog.sink;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.services.syslog.SyslogService;
-import org.apache.camel.kafkaconnector.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
+import org.apache.camel.kafkaconnector.syslog.services.SyslogService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
@@ -51,6 +51,11 @@ public class CamelSinkSyslogITCase extends AbstractKafkaTest {
private int received;
private final int expect = 1;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-syslog-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
received = 0;
@@ -62,7 +67,7 @@ private void runBasicProduceTest(ConnectorPropertyFactory connectorPropertyFacto
LOG.debug("Creating the producer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.produce(TestCommon.getDefaultTestTopic(this.getClass()), "<13>1 2020-05-14T14:47:01.198+02:00 nathannever myapp - - [timeQuality tzKnown=\"1\" isSynced=\"1\" syncAccuracy=\"11266\"] FOO BAR!");
+ kafkaClient.produce(TestUtils.getDefaultTestTopic(this.getClass()), "<13>1 2020-05-14T14:47:01.198+02:00 nathannever myapp - - [timeQuality tzKnown=\"1\" isSynced=\"1\" syncAccuracy=\"11266\"] FOO BAR!");
LOG.debug("Created the producer ...");
assertEquals("<13>1 2020-05-14T14:47:01.198+02:00 nathannever myapp - - [timeQuality tzKnown=\"1\" isSynced=\"1\" syncAccuracy=\"11266\"] FOO BAR!", syslogService.getFirstExchangeToBeReceived().getIn().getBody(String.class));
@@ -74,7 +79,7 @@ public void testBasicReceive() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelSyslogPropertyFactory
.basic()
- .withTopics(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withTopics(TestUtils.getDefaultTestTopic(this.getClass()))
.withHost("localhost")
.withPort(FREE_PORT)
.withProtocol("udp");
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSyslogPropertyFactory.java b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSyslogPropertyFactory.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSyslogPropertyFactory.java
rename to tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSyslogPropertyFactory.java
index 5f9929256e..4d3ce24996 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/syslog/CamelSyslogPropertyFactory.java
+++ b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/sink/CamelSyslogPropertyFactory.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.sink.syslog;
+package org.apache.camel.kafkaconnector.syslog.sink;
-import org.apache.camel.kafkaconnector.SinkConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory;
/**
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSourceSyslogITCase.java b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSourceSyslogITCase.java
similarity index 87%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSourceSyslogITCase.java
rename to tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSourceSyslogITCase.java
index 978af6b70f..16df742ed8 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSourceSyslogITCase.java
+++ b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSourceSyslogITCase.java
@@ -15,18 +15,18 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.syslog;
+package org.apache.camel.kafkaconnector.syslog.source;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.syslog.SyslogDataFormat;
import org.apache.camel.component.syslog.netty.Rfc5425Encoder;
import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
-import org.apache.camel.kafkaconnector.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.NetworkUtils;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -52,6 +52,11 @@ public class CamelSourceSyslogITCase extends AbstractKafkaTest {
private int received;
private final int expect = 1;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-syslog-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
received = 0;
@@ -101,7 +106,7 @@ private void runBasicStringTest(ConnectorPropertyFactory connectorPropertyFactor
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect, "Didn't process the expected amount of messages");
@@ -113,7 +118,7 @@ public void testBasicSend() {
try {
ConnectorPropertyFactory connectorPropertyFactory = CamelSyslogPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withHost("localhost")
.withPort(FREE_PORT)
.withProtocol("udp");
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSyslogPropertyFactory.java b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSyslogPropertyFactory.java
similarity index 93%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSyslogPropertyFactory.java
rename to tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSyslogPropertyFactory.java
index 15b42a1f7f..5e4cd2a4db 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/syslog/CamelSyslogPropertyFactory.java
+++ b/tests/itests-syslog/src/test/java/org/apache/camel/kafkaconnector/syslog/source/CamelSyslogPropertyFactory.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.syslog;
+package org.apache.camel.kafkaconnector.syslog.source;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
/**
diff --git a/tests/itests-timer/pom.xml b/tests/itests-timer/pom.xml
new file mode 100644
index 0000000000..da17160f79
--- /dev/null
+++ b/tests/itests-timer/pom.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-parent
+ 0.3.0-SNAPSHOT
+ ../itests-parent/pom.xml
+
+ 4.0.0
+
+ itests-timer
+ Camel-Kafka-Connector :: Tests :: Timer
+
+
+
+ org.apache.camel.kafkaconnector
+ itests-common
+ ${project.version}
+ test-jar
+ test
+
+
+
+ org.apache.camel
+ camel-timer
+
+
+
\ No newline at end of file
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelSourceTimerITCase.java b/tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelSourceTimerITCase.java
similarity index 81%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelSourceTimerITCase.java
rename to tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelSourceTimerITCase.java
index 56301ef531..9f89ff1309 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelSourceTimerITCase.java
+++ b/tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelSourceTimerITCase.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.timer;
+package org.apache.camel.kafkaconnector.timer.source;
import java.util.concurrent.ExecutionException;
-import org.apache.camel.kafkaconnector.AbstractKafkaTest;
-import org.apache.camel.kafkaconnector.ConnectorPropertyFactory;
-import org.apache.camel.kafkaconnector.TestCommon;
-import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.AbstractKafkaTest;
+import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.clients.kafka.KafkaClient;
+import org.apache.camel.kafkaconnector.common.utils.TestUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -44,6 +44,11 @@ public class CamelSourceTimerITCase extends AbstractKafkaTest {
private int received;
private final int expect = 10;
+ @Override
+ protected String[] getConnectorsInTest() {
+ return new String[] {"camel-timer-kafka-connector"};
+ }
+
@BeforeEach
public void setUp() {
received = 0;
@@ -65,7 +70,7 @@ private void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
LOG.debug("Creating the consumer ...");
KafkaClient kafkaClient = new KafkaClient<>(getKafkaService().getBootstrapServers());
- kafkaClient.consume(TestCommon.getDefaultTestTopic(this.getClass()), this::checkRecord);
+ kafkaClient.consume(TestUtils.getDefaultTestTopic(this.getClass()), this::checkRecord);
LOG.debug("Created the consumer ...");
assertEquals(received, expect);
@@ -76,7 +81,7 @@ private void runTest(ConnectorPropertyFactory connectorPropertyFactory) throws E
public void testLaunchConnector() throws ExecutionException, InterruptedException {
CamelTimerPropertyFactory connectorPropertyFactory = CamelTimerPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withTimerName("launchTest")
.withRepeatCount(expect);
@@ -88,7 +93,7 @@ public void testLaunchConnector() throws ExecutionException, InterruptedExceptio
public void testLaunchConnectorUsingUrl() throws ExecutionException, InterruptedException {
CamelTimerPropertyFactory connectorPropertyFactory = CamelTimerPropertyFactory
.basic()
- .withKafkaTopic(TestCommon.getDefaultTestTopic(this.getClass()))
+ .withKafkaTopic(TestUtils.getDefaultTestTopic(this.getClass()))
.withUrl("launchTestUsingUrl")
.append("repeatCount", expect)
.buildUrl();
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelTimerPropertyFactory.java b/tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelTimerPropertyFactory.java
similarity index 90%
rename from tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelTimerPropertyFactory.java
rename to tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelTimerPropertyFactory.java
index 8e821350d9..dc94abba5a 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/timer/CamelTimerPropertyFactory.java
+++ b/tests/itests-timer/src/test/java/org/apache/camel/kafkaconnector/timer/source/CamelTimerPropertyFactory.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.camel.kafkaconnector.source.timer;
+package org.apache.camel.kafkaconnector.timer.source;
-import org.apache.camel.kafkaconnector.EndpointUrlBuilder;
-import org.apache.camel.kafkaconnector.SourceConnectorPropertyFactory;
+import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder;
+import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory;
final class CamelTimerPropertyFactory extends SourceConnectorPropertyFactory {
diff --git a/tests/pom.xml b/tests/pom.xml
index 0e5900719d..7dc3aed387 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -27,7 +27,7 @@
../parent/pom.xml
- jar
+ pom
Camel-Kafka-Connector :: Tests
Camel Kafka Connector Tests
@@ -37,329 +37,21 @@
true
-
-
-
- org.apache.camel.kafkaconnector
- camel-kafka-connector
- ${project.version}
- provided
-
-
- org.apache.camel.kafkaconnector
- camel-netty-kafka-connector
- ${project.version}
- provided
-
-
- org.apache.camel
- camel-cassandraql
-
-
- com.google.guava
- guava
-
-
-
-
- org.apache.camel
- camel-aws-sqs
-
-
- org.apache.camel
- camel-elasticsearch-rest
-
-
- org.apache.camel
- camel-aws-s3
-
-
- org.apache.camel
- camel-aws-sns
-
-
- org.apache.camel
- camel-aws-kinesis
-
-
- org.apache.camel
- camel-syslog
-
-
- org.apache.camel
- camel-http
-
-
- org.apache.camel
- camel-sjms2
-
-
- org.apache.camel
- camel-main
-
-
- org.apache.camel
- camel-direct
-
-
- org.apache.camel
- camel-timer
-
-
- org.apache.camel
- camel-slack
-
+
+ itests-parent
+ itests-common
+ itests-aws
+ itests-cassandra
+ itests-elasticsearch
+ itests-sjms2
+ itests-syslog
+ itests-file
+ itests-http
+ itests-timer
+ itests-slack
+ itests-salesforce
+
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.junit.jupiter
- junit-jupiter-engine
- test
-
-
- org.junit.jupiter
- junit-jupiter-params
- test
-
-
- org.apache.logging.log4j
- log4j-api
- test
-
-
- org.apache.logging.log4j
- log4j-1.2-api
- test
-
-
- org.apache.logging.log4j
- log4j-core
- test
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
- test
-
-
- org.apache.logging.log4j
- log4j-jcl
- test
-
-
- org.apache.logging.log4j
- log4j-jul
- test
-
-
- org.scala-lang
- scala-library
- test
-
-
- org.apache.kafka
- kafka_2.12
- test
-
-
- org.apache.kafka
- kafka_2.12
- test
- test-jar
- test
-
-
- org.apache.kafka
- connect-runtime
- test
-
-
- org.slf4j
- slf4j-log4j12
-
-
- log4j
- log4j
-
-
-
-
- org.apache.kafka
- connect-runtime
- test
- test-jar
- test
-
-
- org.apache.kafka
- kafka-clients
- test
-
-
- org.apache.kafka
- kafka-clients
- test
- test-jar
-
-
- org.testcontainers
- testcontainers
- test
-
-
- org.testcontainers
- junit-jupiter
- test
-
-
-
- org.testcontainers
- kafka
- test
-
-
-
- org.testcontainers
- localstack
- test
-
-
-
- org.testcontainers
- elasticsearch
- test
-
-
-
- org.apache.qpid
- qpid-jms-client
- test
-
-
-
- org.apache.activemq
- activemq-client
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${version.maven.surefire.plugin}
-
- false
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
- -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dcom.datastax.driver.FORCE_NIO=true -Dproject.basedir=${project.basedir}/.. -Dcom.amazonaws.sdk.disableCbor=true -Ditest.strimzi.container.image=${itest.strimzi.container.image} -Ditest.zookeeper.container.image=${itest.zookeeper.container.image}
- ${skipIntegrationTests}
-
-
-
-
-
-
-
- salesforce
-
- false
-
-
-
-
- com.fasterxml.jackson.core
- jackson-annotations
-
-
- javax.annotation
- javax.annotation-api
-
-
-
- org.apache.camel
- camel-salesforce
-
-
-
-
-
-
- org.apache.camel.maven
- camel-salesforce-maven-plugin
-
-
- generate
-
- generate
-
-
-
-
- ${it.test.salesforce.client.id}
- ${it.test.salesforce.client.secret}
- ${it.test.salesforce.username}
- ${it.test.salesforce.password}
- ${it.test.salesforce.login.url}
-
- Account
- Contacts
-
- ${it.test.salesforce.httpProxyHost}
- ${it.test.salesforce.httpProxyPort}
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
-
-
- generate-sources
-
- add-source
-
-
-
-
-
-
-
-
-
-
-
-
-
-