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 + + + + ${project.build.directory}/generated-sources/camel-salesforce + + + + + + + + + + + + + \ 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 - - - - ${project.build.directory}/generated-sources/camel-salesforce - - - - - - - - - -