This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 2a5d616af3 Fixes #5541. Migrate AWS2 Athena, EventBridge and Translate
integration tests
2a5d616af3 is described below
commit 2a5d616af322c0f0cd5e015a5a28c240ef64ac7e
Author: Ramu <[email protected]>
AuthorDate: Thu Oct 8 22:39:12 2026 +0530
Fixes #5541. Migrate AWS2 Athena, EventBridge and Translate integration
tests
Migrate the AWS2 Athena, EventBridge and Translate integration tests into
dedicated grouped integration test modules under integration-test-groups/aws2,
and remove the corresponding routes, configuration and dependencies from the
legacy integration-tests/aws2 module.
---
.../aws2/aws2-athena/README.adoc | 11 ++
.../aws2/aws2-athena}/pom.xml | 111 ++++----------------
.../component/aws2/athena/it/AthenaResource.java | 50 ++++-----
.../src/main/resources/application.properties | 18 +---
.../component/aws2/athena/it/Aws2AthenaIT.java | 38 +------
.../component/aws2/athena/it/Aws2AthenaTest.java | 48 +++------
.../athena/it/Aws2AthenaTestEnvCustomizer.java | 40 ++------
...quarkus.test.support.aws2.Aws2TestEnvCustomizer | 1 +
.../aws2/aws2-eventbridge/README.adoc | 11 ++
.../aws2/aws2-eventbridge}/pom.xml | 110 +++++---------------
.../aws2/eventbridge/it/EventbridgeResource.java | 49 ++++-----
.../src/main/resources/application.properties | 18 +---
.../aws2/eventbridge/it/Aws2EventbridgeIT.java | 37 +------
.../aws2/eventbridge/it/Aws2EventbridgeTest.java | 49 ++++-----
.../it/Aws2EventbridgeTestEnvCustomizer.java | 40 ++------
...quarkus.test.support.aws2.Aws2TestEnvCustomizer | 1 +
.../aws2/aws2-translate/README.adoc | 11 ++
.../aws2/aws2-translate}/pom.xml | 114 +++++----------------
.../aws2/translate/it/TranslateResource.java | 45 ++++++++
.../src/main/resources/application.properties | 19 +---
.../aws2/translate/it/Aws2TranslateIT.java | 38 +------
.../aws2/translate/it/Aws2TranslateTest.java | 47 +++++++++
.../it/Aws2TranslateTestEnvCustomizer.java | 40 ++------
...quarkus.test.support.aws2.Aws2TestEnvCustomizer | 1 +
integration-test-groups/aws2/pom.xml | 3 +
.../camel/quarkus/test/support/aws2/Service.java | 5 +-
integration-tests/aws2-grouped/pom.xml | 51 +++++++++
integration-tests/aws2/pom.xml | 51 ---------
.../camel/quarkus/component/aws2/CamelRoute.java | 16 ---
29 files changed, 386 insertions(+), 687 deletions(-)
diff --git a/integration-test-groups/aws2/aws2-athena/README.adoc
b/integration-test-groups/aws2/aws2-athena/README.adoc
new file mode 100644
index 0000000000..659cce0daa
--- /dev/null
+++ b/integration-test-groups/aws2/aws2-athena/README.adoc
@@ -0,0 +1,11 @@
+== Camel Quarkus AWS 2 Athena Integration Tests
+
+integration tests for Camel Quarkus AWS 2 Athena extension.
+
+=== Credential Configuration
+
+You can configure AWS credentials via environment variables:
+* `AWS_ACCESS_KEY`
+* `AWS_SECRET_KEY`
+* `AWS_REGION`
+* `AWS_USE_DEFAULT_CREDENTIALS_PROVIDER` (set to `true` to use the default AWS
credentials provider chain)
diff --git a/integration-tests/aws2/pom.xml
b/integration-test-groups/aws2/aws2-athena/pom.xml
similarity index 50%
copy from integration-tests/aws2/pom.xml
copy to integration-test-groups/aws2/aws2-athena/pom.xml
index b7b51f7d96..a501eebf4c 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-test-groups/aws2/aws2-athena/pom.xml
@@ -17,61 +17,58 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>4.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-aws2</artifactId>
- <name>Camel Quarkus :: Integration Tests :: AWS2</name>
- <description>The camel integration tests</description>
+ <artifactId>camel-quarkus-integration-test-aws2-athena</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: AWS 2 Athena</name>
+ <description>Integration tests for Camel Quarkus AWS 2 Athena
extension</description>
<dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws-bedrock</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-athena</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-translate</artifactId>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log</artifactId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer</artifactId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
</dependency>
-
- <!-- test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>io.rest-assured</groupId>
+ <artifactId>rest-assured</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
-
<profiles>
<profile>
<id>native</id>
<activation>
- <property>
- <name>native</name>
- </property>
+ <property><name>native</name></property>
</activation>
<properties>
<quarkus.native.enabled>true</quarkus.native.enabled>
@@ -93,6 +90,7 @@
</plugins>
</build>
</profile>
+
<profile>
<id>virtualDependencies</id>
<activation>
@@ -102,19 +100,6 @@
</activation>
<dependencies>
<!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws-bedrock-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-athena-deployment</artifactId>
@@ -128,60 +113,9 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-eventbridge-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-translate-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
</profile>
+
<profile>
<id>skip-testcontainers-tests</id>
<activation>
@@ -194,5 +128,4 @@
</properties>
</profile>
</profiles>
-
</project>
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-athena/src/main/java/org/apache/camel/quarkus/component/aws2/athena/it/AthenaResource.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-athena/src/main/java/org/apache/camel/quarkus/component/aws2/athena/it/AthenaResource.java
index 4bd3f51392..87469fec41 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-athena/src/main/java/org/apache/camel/quarkus/component/aws2/athena/it/AthenaResource.java
@@ -14,40 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+package org.apache.camel.quarkus.component.aws2.athena.it;
- private final String serviceName;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.ProducerTemplate;
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
+@Path("/athena")
+public class AthenaResource {
+
+ @Inject
+ ProducerTemplate producerTemplate;
- public String getName() {
- return serviceName;
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String athena() {
+ return producerTemplate.requestBody(
+ "aws2-athena://default?operation=listQueryExecutions",
+ null,
+ String.class);
}
}
diff --git a/integration-tests/aws2/src/main/resources/application.properties
b/integration-test-groups/aws2/aws2-athena/src/main/resources/application.properties
similarity index 61%
copy from integration-tests/aws2/src/main/resources/application.properties
copy to
integration-test-groups/aws2/aws2-athena/src/main/resources/application.properties
index 4092b19d2f..779b063e52 100644
--- a/integration-tests/aws2/src/main/resources/application.properties
+++
b/integration-test-groups/aws2/aws2-athena/src/main/resources/application.properties
@@ -15,17 +15,7 @@
## limitations under the License.
## ---------------------------------------------------------------------------
-#
-# Camel :: AWS2 options
-#
-camel.component.aws2-translate.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-translate.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-translate.region={{env:AWS_REGION}}
-
-camel.component.aws2-eventbridge.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-eventbridge.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-eventbridge.region={{env:AWS_REGION}}
-
-camel.component.aws2-athena.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-athena.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-athena.region={{env:AWS_REGION}}
+camel.component.aws2-athena.access-key=${AWS_ACCESS_KEY}
+camel.component.aws2-athena.secret-key=${AWS_SECRET_KEY}
+camel.component.aws2-athena.useDefaultCredentialsProvider=${AWS_USE_DEFAULT_CREDENTIALS_PROVIDER}
+camel.component.aws2-athena.region=${AWS_REGION:us-east-1}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaIT.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaIT.java
index 4bd3f51392..ecad017b1b 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaIT.java
@@ -14,40 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.athena.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import io.quarkus.test.junit.QuarkusIntegrationTest;
- private final String serviceName;
-
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
-
- public String getName() {
- return serviceName;
- }
+@QuarkusIntegrationTest
+class Aws2AthenaIT extends Aws2AthenaTest {
}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTest.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTest.java
index 4bd3f51392..886002cbab 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTest.java
@@ -14,40 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.athena.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestResource;
+import org.junit.jupiter.api.Test;
- private final String serviceName;
+import static org.hamcrest.Matchers.containsString;
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
+@QuarkusTest
+@QuarkusTestResource(Aws2TestResource.class)
+class Aws2AthenaTest {
- public String getName() {
- return serviceName;
+ @Test
+ void testAthena() {
+ RestAssured.given()
+ .get("/athena")
+ .then()
+ .statusCode(200)
+ .body(containsString("QueryExecutionIds"));
}
}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTestEnvCustomizer.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTestEnvCustomizer.java
index 4bd3f51392..7f1bd87bcc 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-athena/src/test/java/org/apache/camel/quarkus/component/aws2/athena/it/Aws2AthenaTestEnvCustomizer.java
@@ -14,40 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.athena.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvContext;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer;
+import org.apache.camel.quarkus.test.support.aws2.Service;
- private final String serviceName;
+public class Aws2AthenaTestEnvCustomizer implements Aws2TestEnvCustomizer {
- Service(String serviceName) {
- this.serviceName = serviceName;
+ @Override
+ public Service[] awsServices() {
+ return new Service[] { Service.ATHENA };
}
- public String getName() {
- return serviceName;
+ @Override
+ public void customize(Aws2TestEnvContext envContext) {
}
}
diff --git
a/integration-test-groups/aws2/aws2-athena/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
b/integration-test-groups/aws2/aws2-athena/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
new file mode 100644
index 0000000000..776eadd05d
--- /dev/null
+++
b/integration-test-groups/aws2/aws2-athena/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
@@ -0,0 +1 @@
+org.apache.camel.quarkus.component.aws2.athena.it.Aws2AthenaTestEnvCustomizer
diff --git a/integration-test-groups/aws2/aws2-eventbridge/README.adoc
b/integration-test-groups/aws2/aws2-eventbridge/README.adoc
new file mode 100644
index 0000000000..52dbcb7988
--- /dev/null
+++ b/integration-test-groups/aws2/aws2-eventbridge/README.adoc
@@ -0,0 +1,11 @@
+== Camel Quarkus AWS 2 EventBridge Integration Tests
+
+integration tests for Camel Quarkus AWS 2 EventBridge extension.
+
+=== Credential Configuration
+
+You can configure AWS credentials via environment variables:
+* `AWS_ACCESS_KEY`
+* `AWS_SECRET_KEY`
+* `AWS_REGION`
+* `AWS_USE_DEFAULT_CREDENTIALS_PROVIDER` (set to `true` to use the default AWS
credentials provider chain)
diff --git a/integration-tests/aws2/pom.xml
b/integration-test-groups/aws2/aws2-eventbridge/pom.xml
similarity index 52%
copy from integration-tests/aws2/pom.xml
copy to integration-test-groups/aws2/aws2-eventbridge/pom.xml
index b7b51f7d96..c3f4cc1d7e 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-test-groups/aws2/aws2-eventbridge/pom.xml
@@ -17,54 +17,55 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>4.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-aws2</artifactId>
- <name>Camel Quarkus :: Integration Tests :: AWS2</name>
- <description>The camel integration tests</description>
+ <artifactId>camel-quarkus-integration-test-aws2-eventbridge</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: AWS 2 EventBridge</name>
+ <description>Integration tests for Camel Quarkus AWS 2 EventBridge
extension</description>
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws-bedrock</artifactId>
+ <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-athena</artifactId>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
+
+ <!-- test dependencies -->
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-junit</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-translate</artifactId>
+ <groupId>io.rest-assured</groupId>
+ <artifactId>rest-assured</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log</artifactId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit</artifactId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
+ <type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
-
<profiles>
<profile>
<id>native</id>
@@ -93,6 +94,7 @@
</plugins>
</build>
</profile>
+
<profile>
<id>virtualDependencies</id>
<activation>
@@ -102,32 +104,6 @@
</activation>
<dependencies>
<!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws-bedrock-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-athena-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-eventbridge-deployment</artifactId>
@@ -141,47 +117,9 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-translate-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
</profile>
+
<profile>
<id>skip-testcontainers-tests</id>
<activation>
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-eventbridge/src/main/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/EventbridgeResource.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-eventbridge/src/main/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/EventbridgeResource.java
index 4bd3f51392..e36f4fd2fd 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/main/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/EventbridgeResource.java
@@ -14,40 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.eventbridge.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.ProducerTemplate;
- private final String serviceName;
+@Path("/aws2-eventbridge")
+public class EventbridgeResource {
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
+ @Inject
+ ProducerTemplate producerTemplate;
- public String getName() {
- return serviceName;
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String eventbridge() {
+ return producerTemplate.requestBody(
+ "aws2-eventbridge://default?operation=listRules",
+ null,
+ String.class);
}
}
diff --git a/integration-tests/aws2/src/main/resources/application.properties
b/integration-test-groups/aws2/aws2-eventbridge/src/main/resources/application.properties
similarity index 61%
copy from integration-tests/aws2/src/main/resources/application.properties
copy to
integration-test-groups/aws2/aws2-eventbridge/src/main/resources/application.properties
index 4092b19d2f..1db8c7759b 100644
--- a/integration-tests/aws2/src/main/resources/application.properties
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/main/resources/application.properties
@@ -15,17 +15,7 @@
## limitations under the License.
## ---------------------------------------------------------------------------
-#
-# Camel :: AWS2 options
-#
-camel.component.aws2-translate.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-translate.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-translate.region={{env:AWS_REGION}}
-
-camel.component.aws2-eventbridge.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-eventbridge.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-eventbridge.region={{env:AWS_REGION}}
-
-camel.component.aws2-athena.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-athena.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-athena.region={{env:AWS_REGION}}
+camel.component.aws2-eventbridge.access-key=${AWS_ACCESS_KEY}
+camel.component.aws2-eventbridge.secret-key=${AWS_SECRET_KEY}
+camel.component.aws2-eventbridge.useDefaultCredentialsProvider=${AWS_USE_DEFAULT_CREDENTIALS_PROVIDER}
+camel.component.aws2-eventbridge.region=${AWS_REGION:us-east-1}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeIT.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeIT.java
index 4bd3f51392..4b27358679 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeIT.java
@@ -14,40 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+package org.apache.camel.quarkus.component.aws2.eventbridge.it;
- private final String serviceName;
+import io.quarkus.test.junit.QuarkusIntegrationTest;
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
-
- public String getName() {
- return serviceName;
- }
+@QuarkusIntegrationTest
+class Aws2EventbridgeIT extends Aws2EventbridgeTest {
}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTest.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTest.java
index 4bd3f51392..54215bf4bf 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTest.java
@@ -14,40 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+package org.apache.camel.quarkus.component.aws2.eventbridge.it;
- private final String serviceName;
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestResource;
+import org.junit.jupiter.api.Test;
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.containsString;
+
+@QuarkusTest
+@QuarkusTestResource(Aws2TestResource.class)
+class Aws2EventbridgeTest {
- public String getName() {
- return serviceName;
+ @Test
+ public void testEventbridge() {
+ given()
+ .when().get("/aws2-eventbridge")
+ .then()
+ .statusCode(200)
+ .body(containsString("Rules"));
}
}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTestEnvCustomizer.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTestEnvCustomizer.java
index 4bd3f51392..8ced873c02 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/test/java/org/apache/camel/quarkus/component/aws2/eventbridge/it/Aws2EventbridgeTestEnvCustomizer.java
@@ -14,40 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.eventbridge.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvContext;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer;
+import org.apache.camel.quarkus.test.support.aws2.Service;
- private final String serviceName;
+public class Aws2EventbridgeTestEnvCustomizer implements Aws2TestEnvCustomizer
{
- Service(String serviceName) {
- this.serviceName = serviceName;
+ @Override
+ public Service[] awsServices() {
+ return new Service[] { Service.EVENTBRIDGE };
}
- public String getName() {
- return serviceName;
+ @Override
+ public void customize(Aws2TestEnvContext envContext) {
}
}
diff --git
a/integration-test-groups/aws2/aws2-eventbridge/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
b/integration-test-groups/aws2/aws2-eventbridge/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
new file mode 100644
index 0000000000..934ed09a2f
--- /dev/null
+++
b/integration-test-groups/aws2/aws2-eventbridge/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
@@ -0,0 +1 @@
+org.apache.camel.quarkus.component.aws2.eventbridge.it.Aws2EventbridgeTestEnvCustomizer
diff --git a/integration-test-groups/aws2/aws2-translate/README.adoc
b/integration-test-groups/aws2/aws2-translate/README.adoc
new file mode 100644
index 0000000000..548695126f
--- /dev/null
+++ b/integration-test-groups/aws2/aws2-translate/README.adoc
@@ -0,0 +1,11 @@
+== Camel Quarkus AWS 2 Translate Integration Tests
+
+integration tests for Camel Quarkus AWS 2 Translate extension.
+
+=== Credential Configuration
+
+You can configure AWS credentials via environment variables:
+* `AWS_ACCESS_KEY`
+* `AWS_SECRET_KEY`
+* `AWS_REGION`
+* `AWS_USE_DEFAULT_CREDENTIALS_PROVIDER` (set to `true` to use the default AWS
credentials provider chain)
diff --git a/integration-tests/aws2/pom.xml
b/integration-test-groups/aws2/aws2-translate/pom.xml
similarity index 52%
copy from integration-tests/aws2/pom.xml
copy to integration-test-groups/aws2/aws2-translate/pom.xml
index b7b51f7d96..b911679ca2 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-test-groups/aws2/aws2-translate/pom.xml
@@ -17,54 +17,59 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>4.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-aws2</artifactId>
- <name>Camel Quarkus :: Integration Tests :: AWS2</name>
- <description>The camel integration tests</description>
+ <artifactId>camel-quarkus-integration-test-aws2-translate</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: AWS 2 Translate</name>
+ <description>Integration tests for Camel Quarkus AWS 2 Translate
extension</description>
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws-bedrock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-athena</artifactId>
+ <artifactId>camel-quarkus-aws2-translate</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
+
+ <!-- test dependencies -->
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-translate</artifactId>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-junit</artifactId>
+ <scope>test</scope>
</dependency>
+
<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log</artifactId>
+ <groupId>io.rest-assured</groupId>
+ <artifactId>rest-assured</artifactId>
+ <scope>test</scope>
</dependency>
+
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer</artifactId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
</dependency>
- <!-- test dependencies -->
<dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit</artifactId>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-integration-tests-support-aws2</artifactId>
+ <type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
-
<profiles>
<profile>
<id>native</id>
@@ -93,6 +98,7 @@
</plugins>
</build>
</profile>
+
<profile>
<id>virtualDependencies</id>
<activation>
@@ -102,45 +108,6 @@
</activation>
<dependencies>
<!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws-bedrock-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-athena-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-eventbridge-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-translate-deployment</artifactId>
@@ -154,34 +121,9 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
</profile>
+
<profile>
<id>skip-testcontainers-tests</id>
<activation>
diff --git
a/integration-test-groups/aws2/aws2-translate/src/main/java/org/apache/camel/quarkus/component/aws2/translate/it/TranslateResource.java
b/integration-test-groups/aws2/aws2-translate/src/main/java/org/apache/camel/quarkus/component/aws2/translate/it/TranslateResource.java
new file mode 100644
index 0000000000..e3c2749aaa
--- /dev/null
+++
b/integration-test-groups/aws2/aws2-translate/src/main/java/org/apache/camel/quarkus/component/aws2/translate/it/TranslateResource.java
@@ -0,0 +1,45 @@
+/*
+ * 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.quarkus.component.aws2.translate.it;
+
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.aws2.translate.Translate2Constants;
+import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
+
+@Path("/translate")
+public class TranslateResource {
+
+ @Inject
+ ProducerTemplate producerTemplate;
+
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String translateText() {
+ return producerTemplate.requestBodyAndHeaders(
+ "aws2-translate://translate?operation=translateText",
+ "Ciao",
+ java.util.Map.of(
+ Translate2Constants.SOURCE_LANGUAGE,
Translate2LanguageEnum.ITALIAN,
+ Translate2Constants.TARGET_LANGUAGE,
Translate2LanguageEnum.GERMAN),
+ String.class);
+ }
+}
diff --git a/integration-tests/aws2/src/main/resources/application.properties
b/integration-test-groups/aws2/aws2-translate/src/main/resources/application.properties
similarity index 61%
rename from integration-tests/aws2/src/main/resources/application.properties
rename to
integration-test-groups/aws2/aws2-translate/src/main/resources/application.properties
index 4092b19d2f..d80044bfd7 100644
--- a/integration-tests/aws2/src/main/resources/application.properties
+++
b/integration-test-groups/aws2/aws2-translate/src/main/resources/application.properties
@@ -14,18 +14,7 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
-
-#
-# Camel :: AWS2 options
-#
-camel.component.aws2-translate.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-translate.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-translate.region={{env:AWS_REGION}}
-
-camel.component.aws2-eventbridge.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-eventbridge.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-eventbridge.region={{env:AWS_REGION}}
-
-camel.component.aws2-athena.access-key={{env:AWS_ACCESS_KEY}}
-camel.component.aws2-athena.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws2-athena.region={{env:AWS_REGION}}
+camel.component.aws2-translate.access-key=${AWS_ACCESS_KEY}
+camel.component.aws2-translate.secret-key=${AWS_SECRET_KEY}
+camel.component.aws2-translate.useDefaultCredentialsProvider=${AWS_USE_DEFAULT_CREDENTIALS_PROVIDER}
+camel.component.aws2-translate.region=${AWS_REGION:us-east-1}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateIT.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateIT.java
index 4bd3f51392..f1ae690ea0 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateIT.java
@@ -14,40 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.translate.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import io.quarkus.test.junit.QuarkusIntegrationTest;
- private final String serviceName;
-
- Service(String serviceName) {
- this.serviceName = serviceName;
- }
-
- public String getName() {
- return serviceName;
- }
+@QuarkusIntegrationTest
+class Aws2TranslateIT extends Aws2TranslateTest {
}
diff --git
a/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTest.java
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTest.java
new file mode 100644
index 0000000000..c7932f60f5
--- /dev/null
+++
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTest.java
@@ -0,0 +1,47 @@
+/*
+ * 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.quarkus.component.aws2.translate.it;
+
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import org.apache.camel.quarkus.test.support.aws2.Aws2MockBackend;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestResource;
+import org.junit.jupiter.api.Test;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.emptyOrNullString;
+import static org.hamcrest.Matchers.not;
+
+@QuarkusTest
+@QuarkusTestResource(Aws2TestResource.class)
+class Aws2TranslateTest {
+
+ @Aws2MockBackend
+ private boolean mockBackend;
+
+ @Test
+ public void testTranslate() {
+ given()
+ .when().get("/translate")
+ .then()
+ .statusCode(200)
+ // Floci echoes the input, real AWS returns the translation
+ .body(mockBackend ? containsString("Ciao") :
not(emptyOrNullString()));
+ }
+}
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTestEnvCustomizer.java
similarity index 50%
copy from
integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
copy to
integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTestEnvCustomizer.java
index 4bd3f51392..b6e809edf7 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-test-groups/aws2/aws2-translate/src/test/java/org/apache/camel/quarkus/component/aws2/translate/it/Aws2TranslateTestEnvCustomizer.java
@@ -14,40 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.test.support.aws2;
+package org.apache.camel.quarkus.component.aws2.translate.it;
-public enum Service {
- API_GATEWAY("apigateway"),
- EC2("ec2"),
- EKS("eks"),
- KINESIS("kinesis"),
- DYNAMODB("dynamodb"),
- DYNAMODB_STREAMS("dynamodbstreams"),
- S3("s3"),
- FIREHOSE("firehose"),
- LAMBDA("lambda"),
- SNS("sns"),
- SQS("sqs"),
- REDSHIFT("redshift"),
- SES("ses"),
- ROUTE53("route53"),
- CLOUDFORMATION("cloudformation"),
- CLOUDWATCH("cloudwatch"),
- SSM("ssm"),
- SECRETSMANAGER("secretsmanager"),
- STEPFUNCTIONS("stepfunctions"),
- CLOUDWATCHLOGS("logs"),
- STS("sts"),
- IAM("iam"),
- KMS("kms");
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvContext;
+import org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer;
+import org.apache.camel.quarkus.test.support.aws2.Service;
- private final String serviceName;
+public class Aws2TranslateTestEnvCustomizer implements Aws2TestEnvCustomizer {
- Service(String serviceName) {
- this.serviceName = serviceName;
+ @Override
+ public Service[] awsServices() {
+ return new Service[] { Service.TRANSLATE };
}
- public String getName() {
- return serviceName;
+ @Override
+ public void customize(Aws2TestEnvContext envContext) {
}
}
diff --git
a/integration-test-groups/aws2/aws2-translate/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
b/integration-test-groups/aws2/aws2-translate/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
new file mode 100644
index 0000000000..3b38c8862c
--- /dev/null
+++
b/integration-test-groups/aws2/aws2-translate/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
@@ -0,0 +1 @@
+org.apache.camel.quarkus.component.aws2.translate.it.Aws2TranslateTestEnvCustomizer
diff --git a/integration-test-groups/aws2/pom.xml
b/integration-test-groups/aws2/pom.xml
index 7ac1fc1c84..63adb95d7b 100644
--- a/integration-test-groups/aws2/pom.xml
+++ b/integration-test-groups/aws2/pom.xml
@@ -39,11 +39,13 @@
<!-- extensions a..z; do not remove this comment, it is important when
sorting via mvn process-resources -Pformat -->
<module>aws-cloudtrail</module>
<module>aws-secrets-manager</module>
+ <module>aws2-athena</module>
<module>aws2-cw</module>
<module>aws2-ddb</module>
<module>aws2-ec2</module>
<module>aws2-ecs</module>
<module>aws2-eks</module>
+ <module>aws2-eventbridge</module>
<module>aws2-iam</module>
<module>aws2-kinesis</module>
<module>aws2-kms</module>
@@ -55,6 +57,7 @@
<module>aws2-sqs</module>
<module>aws2-sqs-sns</module>
<module>aws2-sts</module>
+ <module>aws2-translate</module>
</modules>
</project>
diff --git
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
b/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
index 4bd3f51392..17d1ec3add 100644
---
a/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
+++
b/integration-tests-support/aws2/src/test/java/org/apache/camel/quarkus/test/support/aws2/Service.java
@@ -39,7 +39,10 @@ public enum Service {
CLOUDWATCHLOGS("logs"),
STS("sts"),
IAM("iam"),
- KMS("kms");
+ KMS("kms"),
+ EVENTBRIDGE("eventbridge"),
+ ATHENA("athena"),
+ TRANSLATE("translate");
private final String serviceName;
diff --git a/integration-tests/aws2-grouped/pom.xml
b/integration-tests/aws2-grouped/pom.xml
index 20e778f78b..418f6bfcda 100644
--- a/integration-tests/aws2-grouped/pom.xml
+++ b/integration-tests/aws2-grouped/pom.xml
@@ -64,6 +64,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws-secrets-manager</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-aws2-athena</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-cw</artifactId>
@@ -84,6 +88,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-eks</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-iam</artifactId>
@@ -128,6 +136,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-sts</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-aws2-translate</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct</artifactId>
@@ -331,6 +343,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-aws2-athena-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-cw-deployment</artifactId>
@@ -396,6 +421,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-aws2-eventbridge-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws2-iam-deployment</artifactId>
@@ -539,6 +577,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-aws2-translate-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct-deployment</artifactId>
diff --git a/integration-tests/aws2/pom.xml b/integration-tests/aws2/pom.xml
index b7b51f7d96..368ac452fc 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-tests/aws2/pom.xml
@@ -35,18 +35,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-aws-bedrock</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-athena</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-eventbridge</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-aws2-translate</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-log</artifactId>
@@ -115,45 +103,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-athena-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-eventbridge-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-aws2-translate-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-log-deployment</artifactId>
diff --git
a/integration-tests/aws2/src/main/java/org/apache/camel/quarkus/component/aws2/CamelRoute.java
b/integration-tests/aws2/src/main/java/org/apache/camel/quarkus/component/aws2/CamelRoute.java
index dd54e58ddf..468fd7e332 100644
---
a/integration-tests/aws2/src/main/java/org/apache/camel/quarkus/component/aws2/CamelRoute.java
+++
b/integration-tests/aws2/src/main/java/org/apache/camel/quarkus/component/aws2/CamelRoute.java
@@ -17,32 +17,16 @@
package org.apache.camel.quarkus.component.aws2;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws2.translate.Translate2Constants;
-import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
public class CamelRoute extends RouteBuilder {
@Override
public void configure() {
- from("timer:quarkus-athena?repeatCount=1")
- .to("aws2-athena://cluster?operation=listQueryExecutions")
- .to("log:sf?showAll=true");
-
- from("timer:quarkus-eventbridge?repeatCount=1")
- .to("aws2-eventbridge://default?operation=listRules")
- .to("log:sf?showAll=true");
from("timer:quarkus-bedrock?repeatCount=1")
.to("aws-bedrock://myaccount?operation=invokeTextModel")
.to("log:sf?showAll=true");
- from("timer:quarkus-translate?repeatCount=1")
- .setHeader(Translate2Constants.SOURCE_LANGUAGE,
constant(Translate2LanguageEnum.ITALIAN))
- .setHeader(Translate2Constants.TARGET_LANGUAGE,
constant(Translate2LanguageEnum.GERMAN))
- .setBody(constant("Ciao"))
- .to("aws2-translate://cluster?operation=translateText")
- .log("Translation: ${body}");
-
}
}