This is an automated email from the ASF dual-hosted git repository. fmariani pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 351cc7d13b0 CAMEL-18280: Reuse AWS localstack for slower modules 351cc7d13b0 is described below commit 351cc7d13b0a8416a98204f00728e91ef695a04d Author: Croway <federico.mariani.1...@gmail.com> AuthorDate: Tue May 21 12:08:40 2024 +0200 CAMEL-18280: Reuse AWS localstack for slower modules --- .../component/aws2/ddb/localstack/Aws2DDBBase.java | 2 +- .../ddbstream/Ddb2StreamConsumerHealthCheckIT.java | 2 +- .../localstack/Aws2EventbridgeBase.java | 2 +- .../localstack/EventbridgeEnableRuleIT.java | 24 ++++++++++ .../localstack/EventbridgePutRuleIT.java | 14 ++++++ .../Kinesis2ConsumerHealthCheckProfileCredsIT.java | 2 +- .../Kinesis2ConsumerHealthCheckStaticCredsIT.java | 2 +- .../Kinesis2ConsumerHealthCustomClientIT.java | 2 +- .../kinesis/integration/KinesisConsumerIT.java | 2 +- .../KinesisConsumerResumeAfterRestartIT.java | 2 +- .../integration/KinesisConsumerResumeIT.java | 2 +- .../kinesis/integration/KinesisProducerIT.java | 2 +- .../AWS2S3ConsumerHealthCheckProfileCredsIT.java | 2 +- .../s3/AWS2S3ConsumerHealthCheckStaticCredsIT.java | 2 +- .../component/aws2/s3/integration/Aws2S3Base.java | 12 ++++- .../aws2/s3/integration/S3ConsumerIT.java | 5 ++- .../s3/integration/S3ConsumerIgnoreBodyIT.java | 5 ++- .../s3/integration/S3ConsumerIncludeBodyIT.java | 5 ++- .../S3CreateDownloadLinkOperationIT.java | 10 ++--- ...wnloadLinkWithProvidedPresignerOperationIT.java | 4 +- .../s3/integration/S3DeleteBucketOperationIT.java | 4 +- .../s3/integration/S3GetObjectOperationIT.java | 4 +- .../aws2/s3/integration/S3GzipOperationIT.java | 9 ++-- .../s3/integration/S3ListObjectsOperationIT.java | 8 ++-- .../integration/S3MultipartUploadOperationIT.java | 4 +- .../S3SimpleEncryptedUploadOperationIT.java | 6 +-- .../s3/integration/S3SimpleUploadOperationIT.java | 6 +-- .../S3StreamUploadMultipartAsyncIT.java | 7 ++- .../s3/integration/S3StreamUploadMultipartIT.java | 7 ++- .../S3StreamUploadOperationAsyncIT.java | 7 ++- .../s3/integration/S3StreamUploadOperationIT.java | 7 ++- .../integration/S3StreamUploadS3MultipartIT.java | 22 ++++----- .../s3/integration/S3StreamUploadTimeoutIT.java | 7 ++- .../s3/integration/S3UploadWithUserMetadataIT.java | 4 +- .../Sqs2ConsumerHealthCheckIAMProfileCredsIT.java | 2 +- .../sqs/Sqs2ConsumerHealthCheckProfileCredsIT.java | 2 +- .../sqs/Sqs2ConsumerHealthCheckStaticCredsIT.java | 2 +- .../aws2/sqs/integration/Aws2SQSBaseTest.java | 4 +- .../infra/aws2/services/AWSServiceFactory.java | 52 ++++++++++++++++++++++ .../test/infra/common/SharedNameGenerator.java | 4 ++ .../test/infra/common/TestEntityNameGenerator.java | 8 ++++ 41 files changed, 206 insertions(+), 73 deletions(-) diff --git a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/Aws2DDBBase.java b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/Aws2DDBBase.java index 483e5c9273b..cd581f61921 100644 --- a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/Aws2DDBBase.java +++ b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/Aws2DDBBase.java @@ -30,7 +30,7 @@ import software.amazon.awssdk.services.dynamodb.DynamoDbClient; public class Aws2DDBBase extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createDynamodbService(); + public static AWSService service = AWSServiceFactory.createSingletonDynamoDBService(); protected DynamoDbClient ddbClient; diff --git a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheckIT.java b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheckIT.java index 174f0b31b42..6e23327e278 100644 --- a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheckIT.java +++ b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheckIT.java @@ -38,7 +38,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Ddb2StreamConsumerHealthCheckIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/Aws2EventbridgeBase.java b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/Aws2EventbridgeBase.java index 38fc7cb820e..19747aeed42 100644 --- a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/Aws2EventbridgeBase.java +++ b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/Aws2EventbridgeBase.java @@ -29,7 +29,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; public class Aws2EventbridgeBase extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createEventBridgeService(); + public static AWSService service = AWSServiceFactory.createSingletonEventBridgeService(); @Override protected CamelContext createCamelContext() throws Exception { diff --git a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgeEnableRuleIT.java b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgeEnableRuleIT.java index 0247a71508d..76805f07796 100644 --- a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgeEnableRuleIT.java +++ b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgeEnableRuleIT.java @@ -17,6 +17,7 @@ package org.apache.camel.component.aws2.eventbridge.localstack; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import org.apache.camel.EndpointInject; @@ -96,6 +97,25 @@ public class EventbridgeEnableRuleIT extends Aws2EventbridgeBase { assertEquals(RuleState.ENABLED, resp.rules().get(0).state()); MockEndpoint.assertIsSatisfied(context); + // Clean up eventbridge + template.send("direct:evs-deleteTargets", new Processor() { + + @Override + public void process(Exchange exchange) { + exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule"); + Collection<String> targets = new ArrayList<>(); + targets.add("sqs-queue"); + exchange.getIn().setHeader(EventbridgeConstants.TARGETS_IDS, targets); + } + }); + + template.send("direct:evs-deleteRule", new Processor() { + + @Override + public void process(Exchange exchange) { + exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule"); + } + }); } @Override @@ -106,14 +126,18 @@ public class EventbridgeEnableRuleIT extends Aws2EventbridgeBase { String putRule = "aws2-eventbridge://default?operation=putRule&eventPatternFile=file:src/test/resources/eventpattern.json"; String putTargets = "aws2-eventbridge://default?operation=putTargets"; + String removeTargets = "aws2-eventbridge://default?operation=removeTargets"; String listRule = "aws2-eventbridge://default?operation=listRules"; String disableRule = "aws2-eventbridge://default?operation=disableRule"; String enableRule = "aws2-eventbridge://default?operation=enableRule"; + String deleteRule = "aws2-eventbridge://default?operation=deleteRule"; from("direct:evs").to(putRule); from("direct:evs-targets").to(putTargets); from("direct:evs-listRules").to(listRule); from("direct:evs-disableRule").to(disableRule); + from("direct:evs-deleteRule").to(deleteRule); + from("direct:evs-deleteTargets").to(removeTargets); from("direct:evs-enableRule").to(enableRule).log("${body}").to("mock:result"); } }; diff --git a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgePutRuleIT.java b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgePutRuleIT.java index e8225c6f947..e0b93274343 100644 --- a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgePutRuleIT.java +++ b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/localstack/EventbridgePutRuleIT.java @@ -67,6 +67,16 @@ public class EventbridgePutRuleIT extends Aws2EventbridgeBase { }); MockEndpoint.assertIsSatisfied(context); + // cleanup rule + template.send("direct:evs-removeTargets", exchange -> { + exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule"); + List<String> targets = new ArrayList<>(); + targets.add("sqs-queue"); + exchange.getIn().setHeader(EventbridgeConstants.TARGETS_IDS, targets); + }); + + template.send("direct:evs-deleteRule", + exchange -> exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule")); } @Override @@ -77,8 +87,12 @@ public class EventbridgePutRuleIT extends Aws2EventbridgeBase { String awsEndpoint = "aws2-eventbridge://default?operation=putRule&eventPatternFile=file:src/test/resources/eventpattern.json"; String target = "aws2-eventbridge://default?operation=putTargets"; + String removeTarget = "aws2-eventbridge://default?operation=removeTargets"; + String deleteRule = "aws2-eventbridge://default?operation=deleteRule"; from("direct:evs").to(awsEndpoint).log("${body}").to("mock:result"); from("direct:evs-targets").to(target).log("${body}").to("mock:result1"); + from("direct:evs-removeTargets").to(removeTarget); + from("direct:evs-deleteRule").to(deleteRule); } }; } diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckProfileCredsIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckProfileCredsIT.java index eed9ce5d389..24c52d1b892 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckProfileCredsIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckProfileCredsIT.java @@ -39,7 +39,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Kinesis2ConsumerHealthCheckProfileCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckStaticCredsIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckStaticCredsIT.java index cba4484e710..9edb0cfb038 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckStaticCredsIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheckStaticCredsIT.java @@ -39,7 +39,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Kinesis2ConsumerHealthCheckStaticCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCustomClientIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCustomClientIT.java index cbb743abf96..9d99824a513 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCustomClientIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCustomClientIT.java @@ -47,7 +47,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Kinesis2ConsumerHealthCustomClientIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerIT.java index aa7c9da76bf..3ce4a00f8bf 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerIT.java @@ -66,7 +66,7 @@ public class KinesisConsumerIT extends CamelTestSupport { } @RegisterExtension - public static AWSService awsService = AWSServiceFactory.createKinesisService(); + public static AWSService awsService = AWSServiceFactory.createSingletonKinesisService(); private static final Logger LOG = LoggerFactory.getLogger(KinesisProducerIT.class); diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeAfterRestartIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeAfterRestartIT.java index 01b71632295..662383c4858 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeAfterRestartIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeAfterRestartIT.java @@ -42,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class KinesisConsumerResumeAfterRestartIT extends CamelTestSupport { @RegisterExtension - public static AWSService awsService = AWSServiceFactory.createKinesisService(); + public static AWSService awsService = AWSServiceFactory.createSingletonKinesisService(); private KinesisClient client; String streamName = "my-stream"; diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeIT.java index af890f72faf..4d8cfbc2483 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisConsumerResumeIT.java @@ -113,7 +113,7 @@ public class KinesisConsumerResumeIT extends CamelTestSupport { } @RegisterExtension - public static AWSService awsService = AWSServiceFactory.createKinesisService(); + public static AWSService awsService = AWSServiceFactory.createSingletonKinesisService(); private static final Logger LOG = LoggerFactory.getLogger(KinesisProducerIT.class); diff --git a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisProducerIT.java b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisProducerIT.java index 036f54f90e9..4b43ff03f40 100644 --- a/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisProducerIT.java +++ b/components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/integration/KinesisProducerIT.java @@ -52,7 +52,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class KinesisProducerIT extends CamelTestSupport { @RegisterExtension - public static AWSService awsService = AWSServiceFactory.createKinesisService(); + public static AWSService awsService = AWSServiceFactory.createSingletonKinesisService(); private static final Logger LOG = LoggerFactory.getLogger(KinesisProducerIT.class); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckProfileCredsIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckProfileCredsIT.java index eb394b956f8..8f1e13466e1 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckProfileCredsIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckProfileCredsIT.java @@ -39,7 +39,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class AWS2S3ConsumerHealthCheckProfileCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckStaticCredsIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckStaticCredsIT.java index 40cfc18fbef..52f306aefee 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckStaticCredsIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheckStaticCredsIT.java @@ -38,7 +38,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class AWS2S3ConsumerHealthCheckStaticCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/Aws2S3Base.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/Aws2S3Base.java index a3fe7aa3878..4d8fd90a942 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/Aws2S3Base.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/Aws2S3Base.java @@ -16,11 +16,16 @@ */ package org.apache.camel.component.aws2.s3.integration; +import java.util.Locale; +import java.util.function.Supplier; + import org.apache.camel.CamelContext; import org.apache.camel.component.aws2.s3.AWS2S3Component; import org.apache.camel.test.infra.aws.common.services.AWSService; import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils; import org.apache.camel.test.infra.aws2.services.AWSServiceFactory; +import org.apache.camel.test.infra.common.SharedNameGenerator; +import org.apache.camel.test.infra.common.TestEntityNameGenerator; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.extension.RegisterExtension; @@ -29,7 +34,12 @@ import software.amazon.awssdk.services.kms.model.CreateKeyRequest; @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class Aws2S3Base extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createS3Service(); + public static AWSService service = AWSServiceFactory.createSingletonS3Service(); + + @RegisterExtension + public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator(); + + protected Supplier<String> name = () -> sharedNameGenerator.getClazz().toLowerCase(Locale.ROOT); @Override protected CamelContext createCamelContext() throws Exception { diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIT.java index a2773a8ec9f..7a72ec43a33 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIT.java @@ -76,11 +76,12 @@ public class S3ConsumerIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:putObject").startupOrder(1).to(awsEndpoint).to("mock:result"); - from("aws2-s3://mycamel?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)") + from("aws2-s3://" + name.get() + + "?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)") .startupOrder(2).log("${body}"); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIgnoreBodyIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIgnoreBodyIT.java index fe616f94b1d..ab14dabd249 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIgnoreBodyIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIgnoreBodyIT.java @@ -60,11 +60,12 @@ public class S3ConsumerIgnoreBodyIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:putObject").startupOrder(1).to(awsEndpoint); - from("aws2-s3://mycamel?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)&ignoreBody=true") + from("aws2-s3://" + name.get() + + "?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)&ignoreBody=true") .startupOrder(2).log("${body}").to("mock:result"); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIncludeBodyIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIncludeBodyIT.java index 274a30eb449..650b03ff606 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIncludeBodyIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIncludeBodyIT.java @@ -77,11 +77,12 @@ public class S3ConsumerIncludeBodyIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:putObject").startupOrder(1).to(awsEndpoint).to("mock:result"); - from("aws2-s3://mycamel?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)&includeBody=false") + from("aws2-s3://" + name.get() + + "?moveAfterRead=true&destinationBucket=camel-kafka-connector&autoCreateBucket=true&destinationBucketPrefix=RAW(movedPrefix)&destinationBucketSuffix=RAW(movedSuffix)&includeBody=false") .startupOrder(2).to("mock:result"); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkOperationIT.java index b78eab91459..45c37a803da 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkOperationIT.java @@ -62,7 +62,7 @@ public class S3CreateDownloadLinkOperationIT extends Aws2S3Base { Exchange ex1 = template.request("direct:createDownloadLink", new Processor() { public void process(Exchange exchange) { exchange.getIn().setHeader(AWS2S3Constants.KEY, "CamelUnitTest2"); - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.createDownloadLink); } }); @@ -70,18 +70,18 @@ public class S3CreateDownloadLinkOperationIT extends Aws2S3Base { Exchange ex3 = template.request("direct:createDownloadLinkWithUriOverride", new Processor() { public void process(Exchange exchange) { exchange.getIn().setHeader(AWS2S3Constants.KEY, "CamelUnitTest2"); - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.createDownloadLink); } }); String downloadLink = ex1.getMessage().getBody(String.class); assertNotNull(downloadLink); - assertTrue(downloadLink.startsWith("https://mycamel2.s3.eu-west-1.amazonaws.com")); + assertTrue(downloadLink.startsWith("https://" + name.get() + ".s3.eu-west-1.amazonaws.com")); String downloadLinkWithUriOverride = ex3.getMessage().getBody(String.class); assertNotNull(downloadLinkWithUriOverride); - assertTrue(downloadLinkWithUriOverride.startsWith("http://mycamel2.localhost:8080")); + assertTrue(downloadLinkWithUriOverride.startsWith("http://" + name.get() + ".localhost:8080")); MockEndpoint.assertIsSatisfied(context); } @@ -91,7 +91,7 @@ public class S3CreateDownloadLinkOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel2?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:listBucket").to(awsEndpoint + "&accessKey=xxx&secretKey=yyy®ion=eu-west-1"); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkWithProvidedPresignerOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkWithProvidedPresignerOperationIT.java index b62ebadb503..3272d3fa909 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkWithProvidedPresignerOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3CreateDownloadLinkWithProvidedPresignerOperationIT.java @@ -72,7 +72,7 @@ public class S3CreateDownloadLinkWithProvidedPresignerOperationIT extends Aws2S3 Exchange ex1 = template.request("direct:createDownloadLink", new Processor() { public void process(Exchange exchange) { exchange.getIn().setHeader(AWS2S3Constants.KEY, "CamelUnitTest2"); - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.createDownloadLink); } }); @@ -86,7 +86,7 @@ public class S3CreateDownloadLinkWithProvidedPresignerOperationIT extends Aws2S3 return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel2?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:listBucket").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3DeleteBucketOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3DeleteBucketOperationIT.java index a199ff36d16..45fd3d756dc 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3DeleteBucketOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3DeleteBucketOperationIT.java @@ -50,7 +50,7 @@ public class S3DeleteBucketOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.deleteBucket); } }); @@ -63,7 +63,7 @@ public class S3DeleteBucketOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel2?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:listBucket").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GetObjectOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GetObjectOperationIT.java index f76d4026744..aab1492b0e7 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GetObjectOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GetObjectOperationIT.java @@ -59,7 +59,7 @@ public class S3GetObjectOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.KEY, "camel.txt"); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.getObject); } @@ -77,7 +77,7 @@ public class S3GetObjectOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:putObject").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GzipOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GzipOperationIT.java index 9744ff26561..41f2da93e38 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GzipOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3GzipOperationIT.java @@ -59,7 +59,7 @@ public class S3GzipOperationIT extends Aws2S3Base { // delete the content fluentTemplate() - .to("aws2-s3://mycamel?autoCreateBucket=true") + .to("aws2-s3://" + name.get() + "?autoCreateBucket=true") .withHeader(AWS2S3Constants.KEY, "hello.txt.gz") .withHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.deleteObject) .request(); @@ -72,11 +72,12 @@ public class S3GzipOperationIT extends Aws2S3Base { public void configure() { from("direct:putObject") .marshal().gzipDeflater() - .to("aws2-s3://mycamel?autoCreateBucket=true"); + .to("aws2-s3://" + name.get() + "?autoCreateBucket=true"); from("direct:getObject") - .to("aws2-s3://mycamel?autoCreateBucket=true&deleteAfterRead=false&includeBody=true") + .to("aws2-s3://" + name.get() + "?autoCreateBucket=true&deleteAfterRead=false&includeBody=true") .unmarshal().gzipDeflater(); - from("aws2-s3://mycamel?autoCreateBucket=true&deleteAfterRead=false&includeBody=true&prefix=hello.txt.gz") + from("aws2-s3://" + name.get() + + "?autoCreateBucket=true&deleteAfterRead=false&includeBody=true&prefix=hello.txt.gz") .unmarshal().gzipDeflater() .to("mock:poll"); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ListObjectsOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ListObjectsOperationIT.java index 7c4eb22e2ff..1089585498b 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ListObjectsOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3ListObjectsOperationIT.java @@ -65,7 +65,7 @@ public class S3ListObjectsOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.listObjects); } }); @@ -77,7 +77,7 @@ public class S3ListObjectsOperationIT extends Aws2S3Base { template.send("direct:deleteObject", ExchangePattern.InOnly, new Processor() { public void process(Exchange exchange) { exchange.getIn().setHeader(AWS2S3Constants.KEY, "CamelUnitTest2"); - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.deleteObject); } }); @@ -86,7 +86,7 @@ public class S3ListObjectsOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel2"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.deleteBucket); } }); @@ -99,7 +99,7 @@ public class S3ListObjectsOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel2?autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true"; from("direct:listBucket").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3MultipartUploadOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3MultipartUploadOperationIT.java index be6df3ead16..5020f678017 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3MultipartUploadOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3MultipartUploadOperationIT.java @@ -75,7 +75,7 @@ public class S3MultipartUploadOperationIT extends Aws2S3Base { S3Client s = AWSSDKClientUtils.newS3Client(); ResponseInputStream<GetObjectResponse> response - = s.getObject(GetObjectRequest.builder().bucket("mycamel").key("camel-content-type.txt").build()); + = s.getObject(GetObjectRequest.builder().bucket(name.get()).key("camel-content-type.txt").build()); assertEquals("application/text", response.response().contentType()); } @@ -103,7 +103,7 @@ public class S3MultipartUploadOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?multiPartUpload=true&autoCreateBucket=true"; + String awsEndpoint = "aws2-s3://" + name.get() + "?multiPartUpload=true&autoCreateBucket=true"; from("direct:putObject").to(awsEndpoint).to("mock:result"); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleEncryptedUploadOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleEncryptedUploadOperationIT.java index 080763bb6e1..fc478f62082 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleEncryptedUploadOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleEncryptedUploadOperationIT.java @@ -60,7 +60,7 @@ public class S3SimpleEncryptedUploadOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.listObjects); } }); @@ -89,13 +89,13 @@ public class S3SimpleEncryptedUploadOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true&useAwsKMS=true&awsKMSKeyId=" + key; + String awsEndpoint = "aws2-s3://" + name.get() + "?autoCreateBucket=true&useAwsKMS=true&awsKMSKeyId=" + key; from("direct:putObject").to(awsEndpoint); from("direct:listObjects").to(awsEndpoint).to("mock:result"); - from("direct:getObject").to("aws2-s3://mycamel?autoCreateBucket=true").to("mock:resultGet"); + from("direct:getObject").to("aws2-s3://" + name.get() + "?autoCreateBucket=true").to("mock:resultGet"); } }; diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleUploadOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleUploadOperationIT.java index 96766dcd692..846948fd57b 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleUploadOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3SimpleUploadOperationIT.java @@ -61,7 +61,7 @@ public class S3SimpleUploadOperationIT extends Aws2S3Base { @Override public void process(Exchange exchange) { - exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, "mycamel"); + exchange.getIn().setHeader(AWS2S3Constants.BUCKET_NAME, name.get()); exchange.getIn().setHeader(AWS2S3Constants.S3_OPERATION, AWS2S3Operations.listObjects); } }); @@ -89,7 +89,7 @@ public class S3SimpleUploadOperationIT extends Aws2S3Base { S3Client s = AWSSDKClientUtils.newS3Client(); ResponseInputStream<GetObjectResponse> response - = s.getObject(GetObjectRequest.builder().bucket("mycamel").key("camel-content-type.txt").build()); + = s.getObject(GetObjectRequest.builder().bucket(name.get()).key("camel-content-type.txt").build()); assertEquals("application/text", response.response().contentType()); } @@ -98,7 +98,7 @@ public class S3SimpleUploadOperationIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", name.get()); from("direct:putObject").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartAsyncIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartAsyncIT.java index 27714d37710..c41b725a82f 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartAsyncIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartAsyncIT.java @@ -86,11 +86,14 @@ public class S3StreamUploadMultipartAsyncIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random"; + = String.format( + "aws2-s3://%s?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random", + name.get()); from("direct:stream1").to(awsEndpoint1).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartIT.java index 835f7790d44..d4401155514 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadMultipartIT.java @@ -81,11 +81,14 @@ public class S3StreamUploadMultipartIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random"; + = String.format( + "aws2-s3://%s?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random", + name.get()); from("direct:stream1").to(awsEndpoint1).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationAsyncIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationAsyncIT.java index 5dcb9f68480..d2638e27a15 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationAsyncIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationAsyncIT.java @@ -71,11 +71,14 @@ public class S3StreamUploadOperationAsyncIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random&streamingUploadTimeout=10000"; + = String.format( + "aws2-s3://%s?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random&streamingUploadTimeout=10000", + name.get()); from("direct:stream1").to(awsEndpoint1).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationIT.java index c5e720d25cd..1350759439d 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadOperationIT.java @@ -67,11 +67,14 @@ public class S3StreamUploadOperationIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random"; + = String.format( + "aws2-s3://%s?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random", + name.get()); from("direct:stream1").to(awsEndpoint1).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadS3MultipartIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadS3MultipartIT.java index c78817420ba..3970d42255a 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadS3MultipartIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadS3MultipartIT.java @@ -79,21 +79,23 @@ public class S3StreamUploadS3MultipartIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true" + - "&streamingUploadMode=true" + - "&keyName=fileTest.txt" + - "&batchMessageNumber=10" + - "&batchSize=1000000000" + - "&namingStrategy=random" + - "&multiPartUpload=true" + - "&bufferSize=0" + - "&partSize=10000000"; + = String.format("aws2-s3://%s?autoCreateBucket=true" + + "&streamingUploadMode=true" + + "&keyName=fileTest.txt" + + "&batchMessageNumber=10" + + "&batchSize=1000000000" + + "&namingStrategy=random" + + "&multiPartUpload=true" + + "&bufferSize=0" + + "&partSize=10000000", + name.get()); from("direct:stream1").process(exchange -> { }).to(awsEndpoint1).process(exchange -> { }).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadTimeoutIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadTimeoutIT.java index d8d52d687ec..3fb218267ea 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadTimeoutIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3StreamUploadTimeoutIT.java @@ -75,11 +75,14 @@ public class S3StreamUploadTimeoutIT extends Aws2S3Base { @Override public void configure() { String awsEndpoint1 - = "aws2-s3://mycamel-1?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random&streamingUploadTimeout=10000"; + = String.format( + "aws2-s3://%s?autoCreateBucket=true&streamingUploadMode=true&keyName=fileTest.txt&batchMessageNumber=25&namingStrategy=random&streamingUploadTimeout=10000", + name.get()); from("direct:stream1").to(awsEndpoint1).to("mock:result"); - String awsEndpoint = "aws2-s3://mycamel-1?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", + name.get()); from("direct:listObjects").to(awsEndpoint); } diff --git a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3UploadWithUserMetadataIT.java b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3UploadWithUserMetadataIT.java index bc4e4526e3f..ff84f2c014c 100644 --- a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3UploadWithUserMetadataIT.java +++ b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/integration/S3UploadWithUserMetadataIT.java @@ -53,7 +53,7 @@ public class S3UploadWithUserMetadataIT extends Aws2S3Base { S3Client s = AWSSDKClientUtils.newS3Client(); ResponseInputStream<GetObjectResponse> response - = s.getObject(GetObjectRequest.builder().bucket("mycamel").key("camel-content-type.txt").build()); + = s.getObject(GetObjectRequest.builder().bucket(name.get()).key("camel-content-type.txt").build()); assertTrue(response.response().hasMetadata()); assertEquals("MetadataFromCamel", response.response().metadata().get("user-metadata-example")); } @@ -63,7 +63,7 @@ public class S3UploadWithUserMetadataIT extends Aws2S3Base { return new RouteBuilder() { @Override public void configure() { - String awsEndpoint = "aws2-s3://mycamel?autoCreateBucket=true"; + String awsEndpoint = String.format("aws2-s3://%s?autoCreateBucket=true", name.get()); from("direct:putObject").to(awsEndpoint); diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckIAMProfileCredsIT.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckIAMProfileCredsIT.java index 318ed76b9ae..095e1edaf54 100644 --- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckIAMProfileCredsIT.java +++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckIAMProfileCredsIT.java @@ -38,7 +38,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Sqs2ConsumerHealthCheckIAMProfileCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createSQSService(); + public static AWSService service = AWSServiceFactory.createSingletonSQSService(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckProfileCredsIT.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckProfileCredsIT.java index 411a7b6acfc..01ff2eb6d2d 100644 --- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckProfileCredsIT.java +++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckProfileCredsIT.java @@ -38,7 +38,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Sqs2ConsumerHealthCheckProfileCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createSQSService(); + public static AWSService service = AWSServiceFactory.createSingletonSQSService(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckStaticCredsIT.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckStaticCredsIT.java index 2b52b49baea..54648d8cdd6 100644 --- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckStaticCredsIT.java +++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheckStaticCredsIT.java @@ -38,7 +38,7 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await; public class Sqs2ConsumerHealthCheckStaticCredsIT extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createSQSService(); + public static AWSService service = AWSServiceFactory.createSingletonSQSService(); CamelContext context; diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/integration/Aws2SQSBaseTest.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/integration/Aws2SQSBaseTest.java index e617110c40c..e0d65a929bf 100644 --- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/integration/Aws2SQSBaseTest.java +++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/integration/Aws2SQSBaseTest.java @@ -16,7 +16,7 @@ */ package org.apache.camel.component.aws2.sqs.integration; -import org.apache.camel.CamelContext; +import org.apache.camel.*; import org.apache.camel.component.aws2.sqs.Sqs2Component; import org.apache.camel.test.infra.aws.common.services.AWSService; import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils; @@ -31,7 +31,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; public abstract class Aws2SQSBaseTest extends CamelTestSupport { @RegisterExtension - public static AWSService service = AWSServiceFactory.createSQSService(); + public static AWSService service = AWSServiceFactory.createSingletonSQSService(); @RegisterExtension public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator(); diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java index dcb06c49cb6..0ec890e87fd 100644 --- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java +++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java @@ -17,16 +17,31 @@ package org.apache.camel.test.infra.aws2.services; +import java.util.Map; +import java.util.Properties; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; import org.apache.camel.test.infra.aws.common.services.AWSService; import org.apache.camel.test.infra.common.services.SimpleTestServiceBuilder; +import org.apache.camel.test.infra.common.services.SingletonService; public final class AWSServiceFactory { private AWSServiceFactory() { } + private static class SingletonAWSService extends SingletonService<AWSService> implements AWSService { + public SingletonAWSService(AWSService service, String name) { + super(service, name); + } + + @Override + public Properties getConnectionProperties() { + return getService().getConnectionProperties(); + } + } + public static <T extends AWSService> SimpleTestServiceBuilder<T> builder() { return new SimpleTestServiceBuilder<>("aws"); } @@ -94,4 +109,41 @@ public final class AWSServiceFactory { public static AWSService createDynamodbService() { return createService(AWSDynamodbLocalContainerService::new); } + + public static AWSService createSingletonDynamoDBService() { + return SingletonServiceHolder.getInstance(new AWSDynamodbLocalContainerService(), "dynamoDB"); + } + + public static AWSService createSingletonS3Service() { + return SingletonServiceHolder.getInstance(new AWSS3LocalContainerService(), "s3"); + } + + public static AWSService createSingletonSQSService() { + return SingletonServiceHolder.getInstance(new AWSSQSLocalContainerService(), "sqs"); + } + + public static AWSService createSingletonEventBridgeService() { + return SingletonServiceHolder.getInstance(new AWSEventBridgeLocalContainerService(), "eventBridge"); + } + + public static AWSService createSingletonKinesisService() { + return SingletonServiceHolder.getInstance(new AWSKinesisLocalContainerService(), "kinesis"); + } + + private static class SingletonServiceHolder { + private static final Map<String, AWSService> INSTANCES_HOLDER = new ConcurrentHashMap<>(); + + public synchronized static AWSService getInstance(AWSService service, String name) { + if (INSTANCES_HOLDER.get(name) == null) { + SimpleTestServiceBuilder<AWSService> instance = builder(); + instance.addLocalMapping(() -> new SingletonAWSService(service, name)) + .addRemoteMapping(AWSRemoteService::new) + .build(); + + INSTANCES_HOLDER.put(name, instance.build()); + } + + return INSTANCES_HOLDER.get(name); + } + } } diff --git a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/SharedNameGenerator.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/SharedNameGenerator.java index 5e7af4be7a2..3f4f2698df5 100644 --- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/SharedNameGenerator.java +++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/SharedNameGenerator.java @@ -22,4 +22,8 @@ import org.junit.jupiter.api.extension.BeforeEachCallback; public interface SharedNameGenerator extends BeforeAllCallback, BeforeEachCallback { String getName(); + + String getClazz(); + + String getMethod(); } diff --git a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestEntityNameGenerator.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestEntityNameGenerator.java index dca6388c5e5..e4c01bdcb30 100644 --- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestEntityNameGenerator.java +++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestEntityNameGenerator.java @@ -38,4 +38,12 @@ public class TestEntityNameGenerator implements SharedNameGenerator { public String getName() { return testClass + testName; } + + public String getClazz() { + return testClass; + } + + public String getMethod() { + return testName; + } }