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 0342af494a Combine knative tests into a single module
0342af494a is described below
commit 0342af494a6b73796a77fad587456bdf9b10b3e4
Author: James Netherton <[email protected]>
AuthorDate: Tue Aug 27 08:58:01 2024 +0100
Combine knative tests into a single module
Fixes #6376
---
.../knative-channel-consumer/Readme.adoc | 8 -
integration-tests/knative-channel-consumer/pom.xml | 132 ----------------
.../it/KnativeChannelConsumerResource.java | 36 -----
.../src/main/resources/application.properties | 21 ---
.../knative-endpoint-consumer/Readme.adoc | 8 -
.../knative-endpoint-consumer/pom.xml | 131 ----------------
.../src/src/main/resources/application.properties | 22 ---
.../consumer/it/KnativeEndpointConsumerIT.java | 23 ---
.../knative-event-consumer/Readme.adoc | 11 --
integration-tests/knative-event-consumer/pom.xml | 131 ----------------
.../src/src/main/resources/application.properties | 21 ---
integration-tests/knative-producer/Readme.adoc | 11 --
integration-tests/knative-producer/pom.xml | 174 ---------------------
.../src/main/resources/application.properties | 40 -----
integration-tests/knative/README.adoc | 39 +++++
integration-tests/knative/pom.xml | 118 +++++++++++++-
.../it/KnativeChannelConsumerResource.java} | 31 ++--
.../knative/channel/consumer/it/Routes.java} | 6 +-
.../it/KnativeEndpointConsumerResource.java | 4 +-
.../knative/endpoint/consumer/it/Routes.java} | 6 +-
.../consumer/it/KnativeEventConsumerResource.java} | 8 +-
.../knative/event/consumer/it/Routes.java} | 6 +-
.../producer/it/KnativeProducerResource.java | 4 -
.../component/knative/producer/it/Routes.java | 20 +--
.../src/main/resources/application.properties | 81 ++++++++++
.../consumer/it/KnativeChannelConsumerIT.java | 2 +-
.../consumer/it/KnativeChannelConsumerTest.java | 29 +++-
.../consumer/it/KnativeEndpointConsumerIT.java} | 4 +-
.../consumer/it/KnativeEndpointConsumerTest.java | 23 +--
.../consumer/it/KnativeEventConsumerIT.java} | 5 +-
.../consumer/it/KnativeEventConsumerTest.java | 25 +--
.../quarkus/component/knative/it/KnativeTest.java | 49 ------
.../knative/producer/it/KnativeProducerIT.java | 0
.../knative/producer/it/KnativeProducerTest.java | 22 ++-
.../knative/producer/it/KnativeTestResource.java | 0
.../src/test/resources/mappings/sendToBroker.json | 0
.../src/test/resources/mappings/sendToChannel.json | 0
.../src/test/resources/mappings/sendToService.json | 0
integration-tests/pom.xml | 4 -
tooling/scripts/test-categories.yaml | 4 -
40 files changed, 357 insertions(+), 902 deletions(-)
diff --git a/integration-tests/knative-channel-consumer/Readme.adoc
b/integration-tests/knative-channel-consumer/Readme.adoc
deleted file mode 100644
index 9eaa64af5d..0000000000
--- a/integration-tests/knative-channel-consumer/Readme.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Knative Channel Consumer tests
-
-These integration tests the HTTP routes only.
-
-If you wish to test this application in real Knative environment, follow the
next steps.
-* Create an InMemory Knative Channel named `channel-test`
-* Deploy the app https://quarkus.io/guides/deploying-to-kubernetes#knative[as
a Serverless deployment].
-* Send CloudEvents to the channel.
diff --git a/integration-tests/knative-channel-consumer/pom.xml
b/integration-tests/knative-channel-consumer/pom.xml
deleted file mode 100644
index d3b5fc82e2..0000000000
--- a/integration-tests/knative-channel-consumer/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<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>3.15.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
-
<artifactId>camel-quarkus-integration-test-knative-channel-consumer</artifactId>
- <name>Camel Quarkus :: Integration Tests :: Knative Consumer</name>
- <description>Integration tests for Camel Quarkus Knative Consumer
extension - Channel consumer</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-knative-consumer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-seda</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </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-knative-consumer-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-seda-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
-</project>
\ No newline at end of file
diff --git
a/integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
b/integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
deleted file mode 100644
index b6b102d9ee..0000000000
---
a/integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.knative.consumer.it;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import org.apache.camel.ConsumerTemplate;
-
-@Path("/knative-channel-consumer")
-@ApplicationScoped
-public class KnativeChannelConsumerResource {
- @Inject
- ConsumerTemplate consumerTemplate;
-
- @GET
- public String readReceivedMessages() {
- return consumerTemplate.receiveBody("seda:queue-channel", 1000,
String.class);
- }
-
-}
diff --git
a/integration-tests/knative-channel-consumer/src/main/resources/application.properties
b/integration-tests/knative-channel-consumer/src/main/resources/application.properties
deleted file mode 100644
index e5124a339b..0000000000
---
a/integration-tests/knative-channel-consumer/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-# channel configuration
-camel.component.knative.environment.resources[0].name = channel-test
-camel.component.knative.environment.resources[0].type = channel
-camel.component.knative.environment.resources[0].endpoint-kind = source
\ No newline at end of file
diff --git a/integration-tests/knative-endpoint-consumer/Readme.adoc
b/integration-tests/knative-endpoint-consumer/Readme.adoc
deleted file mode 100644
index 24630a99dd..0000000000
--- a/integration-tests/knative-endpoint-consumer/Readme.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Knative Endpoint Consumer tests
-
-These integration tests the HTTP routes only.
-
-If you wish to test this application in real Knative environment, follow the
next steps.
-
-* Deploy the app https://knative.dev/docs/getting-started/first-service/[as a
Knative Service] named `endpoint-test`.
-* Send CloudEvents to the URL of the service.
diff --git a/integration-tests/knative-endpoint-consumer/pom.xml
b/integration-tests/knative-endpoint-consumer/pom.xml
deleted file mode 100644
index eea691223c..0000000000
--- a/integration-tests/knative-endpoint-consumer/pom.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<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>3.15.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
-
<artifactId>camel-quarkus-integration-test-knative-endpoint-consumer</artifactId>
- <name>Camel Quarkus :: Integration Tests :: Knative Consumer</name>
- <description>Integration tests for Camel Quarkus Knative Consumer
extension - Endpoint consumer</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-knative-consumer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-seda</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </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-knative-consumer-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-seda-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
-</project>
\ No newline at end of file
diff --git
a/integration-tests/knative-endpoint-consumer/src/src/main/resources/application.properties
b/integration-tests/knative-endpoint-consumer/src/src/main/resources/application.properties
deleted file mode 100644
index f281894463..0000000000
---
a/integration-tests/knative-endpoint-consumer/src/src/main/resources/application.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-# endpoint configuration
-camel.component.knative.environment.resources[0].name = endpoint-test
-camel.component.knative.environment.resources[0].type = endpoint
-camel.component.knative.environment.resources[0].endpoint-kind = source
-camel.component.knative.environment.resources[0].path = /my-endpoint
\ No newline at end of file
diff --git
a/integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerIT.java
b/integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerIT.java
deleted file mode 100644
index a9cd6118e2..0000000000
---
a/integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerIT.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.knative.consumer.it;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-public class KnativeEndpointConsumerIT extends
org.apache.camel.quarkus.component.knative.consumer.it.KnativeEndpointConsumerTest
{
-}
diff --git a/integration-tests/knative-event-consumer/Readme.adoc
b/integration-tests/knative-event-consumer/Readme.adoc
deleted file mode 100644
index deb83cd84a..0000000000
--- a/integration-tests/knative-event-consumer/Readme.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-= Knative Event Consumer tests
-
-These integration tests the HTTP routes only.
-
-If you wish to test this application in real Knative environment, follow the
next steps.
-
-* Create an InMemory Knative Broker named `broker-test`
-* Deploy the app https://quarkus.io/guides/deploying-to-kubernetes#knative[as
a Serverless deployment]
-* Send CloudEvents to the broker.
-
-
diff --git a/integration-tests/knative-event-consumer/pom.xml
b/integration-tests/knative-event-consumer/pom.xml
deleted file mode 100644
index 179cb557ba..0000000000
--- a/integration-tests/knative-event-consumer/pom.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<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>3.15.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
-
<artifactId>camel-quarkus-integration-test-knative-event-consumer</artifactId>
- <name>Camel Quarkus :: Integration Tests :: Knative Consumer Event</name>
- <description>Integration tests for Camel Quarkus Knative Consumer
extension - Consuming events</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-knative-consumer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-seda</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </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-knative-consumer-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-seda-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
-</project>
\ No newline at end of file
diff --git
a/integration-tests/knative-event-consumer/src/src/main/resources/application.properties
b/integration-tests/knative-event-consumer/src/src/main/resources/application.properties
deleted file mode 100644
index 3a4c8d6ec0..0000000000
---
a/integration-tests/knative-event-consumer/src/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-# event configuration
-camel.component.knative.environment.resources[0].name = event-test
-camel.component.knative.environment.resources[0].type = event
-camel.component.knative.environment.resources[0].endpoint-kind = source
diff --git a/integration-tests/knative-producer/Readme.adoc
b/integration-tests/knative-producer/Readme.adoc
deleted file mode 100644
index c38ab36fa8..0000000000
--- a/integration-tests/knative-producer/Readme.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-= Knative Producer tests
-
-The tests able to run against Mocked Knative HTTP API.
-
-If you wish to test this application in knative environment, follow these
steps :
-* Create an InMemory Knative Channel named `channel-test`
-* Create an InMemory Knative Broker named `broker-test`
-* Deploy a Knative Service named `endpoint-test`
-* Deploy this application within the Kubernetes cluster
-* Make sure the application can use secrets containing the URLs :
KNATIVE_CHANNEL_URL, KNATIVE_CHANNEL_URL, KNATIVE_SERVICE_URL
-* On native mode, you may need to set `quarkus.ssl.native=true` in case one
those URLs uses `https` instead of `http`
\ No newline at end of file
diff --git a/integration-tests/knative-producer/pom.xml
b/integration-tests/knative-producer/pom.xml
deleted file mode 100644
index bc64568931..0000000000
--- a/integration-tests/knative-producer/pom.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<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>3.15.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-knative-producer</artifactId>
- <name>Camel Quarkus :: Integration Tests :: Knative Producer</name>
- <description>Integration tests for Camel Quarkus Knative Producer
extension</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-knative-producer</artifactId>
- </dependency>
-
- <!-- camel quarkus -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy-jsonb</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-mock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-timer</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <scope>test</scope>
- </dependency>
- <!-- dependencies needed to mock Knative HTTP -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-integration-wiremock-support</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </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-direct-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-knative-producer-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-mock-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>
- </profiles>
-
-</project>
\ No newline at end of file
diff --git
a/integration-tests/knative-producer/src/main/resources/application.properties
b/integration-tests/knative-producer/src/main/resources/application.properties
deleted file mode 100644
index f1ac9d3f42..0000000000
---
a/integration-tests/knative-producer/src/main/resources/application.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-
-channel.test.url = TODO
-broker.test.url = TODO
-service.test.url = TODO
-
-# channel configuration
-camel.component.knative.environment.resources[0].name = channel-test
-camel.component.knative.environment.resources[0].type = channel
-camel.component.knative.environment.resources[0].endpoint-kind = sink
-camel.component.knative.environment.resources[0].url =
${KNATIVE_CHANNEL_URL:{{channel.test.url}}}
-
-# broker configuration
-camel.component.knative.environment.resources[1].name = broker-test
-camel.component.knative.environment.resources[1].type = event
-camel.component.knative.environment.resources[1].endpoint-kind = sink
-camel.component.knative.environment.resources[1].url =
${KNATIVE_CHANNEL_URL:{{broker.test.url}}}
-camel.component.knative.environment.resources[1].cloudEventType =
org.apache.camel.event
-
-# endpoint configuration
-camel.component.knative.environment.resources[2].name = endpoint-test
-camel.component.knative.environment.resources[2].type = endpoint
-camel.component.knative.environment.resources[2].endpoint-kind = sink
-camel.component.knative.environment.resources[2].url =
${KNATIVE_SERVICE_URL:{{service.test.url}}}
\ No newline at end of file
diff --git a/integration-tests/knative/README.adoc
b/integration-tests/knative/README.adoc
new file mode 100644
index 0000000000..e4633edc5a
--- /dev/null
+++ b/integration-tests/knative/README.adoc
@@ -0,0 +1,39 @@
+== Camel Quarkus Knative integration tests
+
+These integration test exercise HTTP routes only.
+
+If you wish to test this application in real Knative environment, follow the
next steps.
+
+== Knative Channel Consumer tests
+
+* Create an InMemory Knative Channel named `channel-test`
+* Deploy the app https://quarkus.io/guides/deploying-to-kubernetes#knative[as
a Serverless deployment]. Ensure `quarkus.profile=knative-channel-consumer`
+* Send CloudEvents to the channel
+
+== Knative Endpoint Consumer tests
+
+* Deploy the app https://knative.dev/docs/getting-started/first-service/[as a
Knative Service] named `endpoint-test`. Ensure
`quarkus.profile=knative-endpoint-consumer`
+* Send CloudEvents to the URL of the service.
+
+== Knative Event Consumer tests
+
+These integration tests the HTTP routes only.
+
+If you wish to test this application in real Knative environment, follow the
next steps.
+
+* Create an InMemory Knative Broker named `broker-test`
+* Deploy the app https://quarkus.io/guides/deploying-to-kubernetes#knative[as
a Serverless deployment] Ensure `quarkus.profile=knative-event-consumer`
+* Send CloudEvents to the broker.
+
+== Knative Producer tests
+
+The tests run against a Mocked Knative HTTP API.
+
+If you wish to test this application in knative environment, follow these
steps:
+
+* Create an InMemory Knative Channel named `channel-test`
+* Create an InMemory Knative Broker named `broker-test`
+* Deploy a Knative Service named `endpoint-test`
+* Deploy this application within the Kubernetes cluster. Ensure
`quarkus.profile=knative-producer`
+* Make sure the application can use secrets containing the URLs :
KNATIVE_CHANNEL_URL, KNATIVE_CHANNEL_URL, KNATIVE_SERVICE_URL
+* On native mode, you may need to set `quarkus.ssl.native=true` in case one
those URLs uses `https` instead of `http`
\ No newline at end of file
diff --git a/integration-tests/knative/pom.xml
b/integration-tests/knative/pom.xml
index 71c5449c58..256e98495c 100644
--- a/integration-tests/knative/pom.xml
+++ b/integration-tests/knative/pom.xml
@@ -31,10 +31,38 @@
<description>Integration tests for Camel Quarkus Knative
extension</description>
<dependencies>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-direct</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-knative</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-knative-consumer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-knative-producer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-mock</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-seda</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-timer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy</artifactId>
+ </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jsonb</artifactId>
@@ -51,6 +79,17 @@
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- dependencies needed to mock Knative HTTP -->
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-integration-wiremock-support</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
@@ -103,7 +142,84 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-knative-consumer-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-seda-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>
+ <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-knative-producer-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-mock-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>
diff --git
a/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/it/KnativeResource.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerResource.java
similarity index 63%
rename from
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/it/KnativeResource.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerResource.java
index bc5241a237..358b59491c 100644
---
a/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/it/KnativeResource.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerResource.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.it;
+package org.apache.camel.quarkus.component.knative.channel.consumer.it;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
@@ -25,24 +25,35 @@ import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import org.apache.camel.CamelContext;
+import org.apache.camel.ConsumerTemplate;
import org.apache.camel.component.knative.KnativeComponent;
-@Path("/knative")
+@Path("/knative-channel-consumer")
@ApplicationScoped
-public class KnativeResource {
+public class KnativeChannelConsumerResource {
+ @Inject
+ ConsumerTemplate consumerTemplate;
@Inject
CamelContext context;
@GET
- @Path("/inspect")
+ public String readReceivedMessages() {
+ return consumerTemplate.receiveBody("seda:queue-channel", 1000,
String.class);
+ }
+
+ @GET
+ @Path("inspect")
@Produces(MediaType.APPLICATION_JSON)
public JsonObject inspect() {
- return Json.createObjectBuilder()
- .add("producer-factory",
- context.getComponent("knative",
KnativeComponent.class).getProducerFactory().getClass().getName())
- .add("consumer-factory",
- context.getComponent("knative",
KnativeComponent.class).getConsumerFactory().getClass().getName())
- .build();
+ var component = context.getComponent("knative",
KnativeComponent.class);
+ var builder = Json.createObjectBuilder();
+
+ if (component.getConsumerFactory() != null) {
+ builder.add("consumer-factory",
component.getConsumerFactory().getClass().getName());
+ }
+
+ return builder.build();
}
+
}
diff --git
a/integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/Routes.java
similarity index 84%
rename from
integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/Routes.java
index 4bc9efec8a..fddbf2f3fa 100644
---
a/integration-tests/knative-channel-consumer/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/Routes.java
@@ -14,11 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.channel.consumer.it;
+import jakarta.enterprise.context.ApplicationScoped;
import org.apache.camel.builder.RouteBuilder;
-public class Route extends RouteBuilder {
+@ApplicationScoped
+public class Routes extends RouteBuilder {
@Override
public void configure() throws Exception {
from("knative:channel/channel-test")
diff --git
a/integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerResource.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerResource.java
similarity index 92%
rename from
integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerResource.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerResource.java
index fe9b341d26..d929ce2fef 100644
---
a/integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerResource.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerResource.java
@@ -14,14 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.endpoint.consumer.it;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-
import org.apache.camel.ConsumerTemplate;
@Path("/knative-endpoint-consumer")
diff --git
a/integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/Routes.java
similarity index 84%
rename from
integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/Routes.java
index ee888b3328..896965a0c4 100644
---
a/integration-tests/knative-endpoint-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/Routes.java
@@ -14,11 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.endpoint.consumer.it;
+import jakarta.enterprise.context.ApplicationScoped;
import org.apache.camel.builder.RouteBuilder;
-public class Route extends RouteBuilder {
+@ApplicationScoped
+public class Routes extends RouteBuilder {
@Override
public void configure() throws Exception {
from("knative:endpoint/endpoint-test")
diff --git
a/integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerResource.java
similarity index 87%
rename from
integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerResource.java
index 65542a1f32..469403732c 100644
---
a/integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerResource.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerResource.java
@@ -14,19 +14,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.event.consumer.it;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-
import org.apache.camel.ConsumerTemplate;
-@Path("/knative-channel-consumer")
+@Path("/knative-event-consumer")
@ApplicationScoped
-public class KnativeChannelConsumerResource {
+public class KnativeEventConsumerResource {
@Inject
ConsumerTemplate consumerTemplate;
diff --git
a/integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/Routes.java
similarity index 84%
rename from
integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/Routes.java
index 721248a5fd..3045f6814a 100644
---
a/integration-tests/knative-event-consumer/src/src/main/java/org/apache/camel/quarkus/component/knative/consumer/it/Route.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/event/consumer/it/Routes.java
@@ -14,11 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.event.consumer.it;
+import jakarta.enterprise.context.ApplicationScoped;
import org.apache.camel.builder.RouteBuilder;
-public class Route extends RouteBuilder {
+@ApplicationScoped
+public class Routes extends RouteBuilder {
@Override
public void configure() throws Exception {
from("knative:event/event-test?reply=false")
diff --git
a/integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
similarity index 96%
rename from
integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
index 1112cf1c42..41ba9513ce 100644
---
a/integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerResource.java
@@ -56,10 +56,6 @@ public class KnativeProducerResource {
if (component.getProducerFactory() != null) {
builder.add("producer-factory",
component.getProducerFactory().getClass().getName());
}
- if (component.getConsumerFactory() != null) {
- builder.add("consumer-factory",
component.getConsumerFactory().getClass().getName());
- }
-
return builder.build();
}
diff --git
a/integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
similarity index 64%
rename from
integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
rename to
integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
index f9240e3c11..995b9ca1c8 100644
---
a/integration-tests/knative-producer/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
+++
b/integration-tests/knative/src/main/java/org/apache/camel/quarkus/component/knative/producer/it/Routes.java
@@ -16,9 +16,11 @@
*/
package org.apache.camel.quarkus.component.knative.producer.it;
+import jakarta.enterprise.context.ApplicationScoped;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.cloudevents.CloudEvent;
+@ApplicationScoped
public class Routes extends RouteBuilder {
private static final String TIME = "2018-04-05T17:31:00Z";
@@ -28,44 +30,32 @@ public class Routes extends RouteBuilder {
// Routes using ProducerTemplate, need to specify the header
CloudEvent.CAMEL_CLOUD_EVENT_SOURCE
from("direct:channel")
.setHeader(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
constant("camel"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:channel/channel-test")
.to("mock:channel");
from("direct:event")
.setHeader(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
constant("camel"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:event/broker-test")
.to("mock:event");
from("direct:endpoint")
.setHeader(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
constant("camel"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:endpoint/endpoint-test")
.to("mock:endpoint");
// Routes not using ProducerTemplate, the cloud event source header is
managed by the consumer
- from("timer:channelTimer?period=1")
+ from("timer:channelTimer?period=1&repeatCount=1")
.setBody(constant("Hello World From channelTimer!"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:channel/channel-test")
.to("mock:channel-timer");
- from("timer:eventTimer?period=1")
+ from("timer:eventTimer?period=1&repeatCount=1")
.setBody(constant("Hello World From eventTimer!"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:event/broker-test")
.to("mock:event-timer");
- from("timer:endpointTimer?period=1")
+ from("timer:endpointTimer?period=1&repeatCount=1")
.setBody(constant("Hello World From endpointTimer!"))
- // temporary fix until the issue is available
https://issues.apache.org/jira/browse/CAMEL-18473 on camel-quarkus
- .setHeader(CloudEvent.CAMEL_CLOUD_EVENT_TIME, constant(TIME))
.to("knative:endpoint/endpoint-test")
.to("mock:endpoint-timer");
}
diff --git
a/integration-tests/knative/src/main/resources/application.properties
b/integration-tests/knative/src/main/resources/application.properties
new file mode 100644
index 0000000000..2d754f9fda
--- /dev/null
+++ b/integration-tests/knative/src/main/resources/application.properties
@@ -0,0 +1,81 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+##########################################
+#
+# knative channel consumer configuration
+#
+##########################################
+
+%knative-channel-consumer.camel.component.knative.environment.resources[0].name
= channel-test
+%knative-channel-consumer.camel.component.knative.environment.resources[0].type
= channel
+%knative-channel-consumer.camel.component.knative.environment.resources[0].endpoint-kind
= source
+%knative-channel-consumer.camel.main.java-routes-include-pattern=org/apache/camel/quarkus/component/knative/channel/consumer/it/Routes
+
+##########################################
+#
+# knative endpoint consumer configuration
+#
+##########################################
+
+%knative-endpoint-consumer.camel.component.knative.environment.resources[0].name
= endpoint-test
+%knative-endpoint-consumer.camel.component.knative.environment.resources[0].type
= endpoint
+%knative-endpoint-consumer.camel.component.knative.environment.resources[0].endpoint-kind
= source
+%knative-endpoint-consumer.camel.component.knative.environment.resources[0].path
= /my-endpoint
+%knative-endpoint-consumer.camel.main.java-routes-include-pattern=org/apache/camel/quarkus/component/knative/endpoint/consumer/it/Routes
+
+##########################################
+#
+# knative event consumer configuration
+#
+##########################################
+
+%knative-event-consumer.camel.component.knative.environment.resources[0].name
= event-test
+%knative-event-consumer.camel.component.knative.environment.resources[0].type
= event
+%knative-event-consumer.camel.component.knative.environment.resources[0].endpoint-kind
= source
+%knative-event-consumer.camel.main.java-routes-include-pattern=org/apache/camel/quarkus/component/knative/event/consumer/it/Routes
+
+##########################################
+#
+# knative producer configuration
+#
+##########################################
+
+channel.test.url = TODO
+broker.test.url = TODO
+service.test.url = TODO
+
+%knative-producer.camel.main.java-routes-include-pattern=org/apache/camel/quarkus/component/knative/producer/it/Routes
+
+# knative-producer channel configuration
+%knative-producer.camel.component.knative.environment.resources[0].name =
channel-test
+%knative-producer.camel.component.knative.environment.resources[0].type =
channel
+%knative-producer.camel.component.knative.environment.resources[0].endpoint-kind
= sink
+%knative-producer.camel.component.knative.environment.resources[0].url =
${KNATIVE_CHANNEL_URL:{{channel.test.url}}}
+
+# knative-producer broker configuration
+%knative-producer.camel.component.knative.environment.resources[1].name =
broker-test
+%knative-producer.camel.component.knative.environment.resources[1].type = event
+%knative-producer.camel.component.knative.environment.resources[1].endpoint-kind
= sink
+%knative-producer.camel.component.knative.environment.resources[1].url =
${KNATIVE_CHANNEL_URL:{{broker.test.url}}}
+%knative-producer.camel.component.knative.environment.resources[1].cloudEventType
= org.apache.camel.event
+
+# knative-producer endpoint configuration
+%knative-producer.camel.component.knative.environment.resources[2].name =
endpoint-test
+%knative-producer.camel.component.knative.environment.resources[2].type =
endpoint
+%knative-producer.camel.component.knative.environment.resources[2].endpoint-kind
= sink
+%knative-producer.camel.component.knative.environment.resources[2].url =
${KNATIVE_SERVICE_URL:{{service.test.url}}}
diff --git
a/integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerIT.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerIT.java
similarity index 93%
rename from
integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerIT.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerIT.java
index 14040a76f8..e433a535a8 100644
---
a/integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerIT.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.channel.consumer.it;
import io.quarkus.test.junit.QuarkusIntegrationTest;
diff --git
a/integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerTest.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerTest.java
similarity index 64%
rename from
integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerTest.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerTest.java
index 696db79d9c..c041239a2f 100644
---
a/integration-tests/knative-channel-consumer/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeChannelConsumerTest.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/channel/consumer/it/KnativeChannelConsumerTest.java
@@ -14,21 +14,42 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.channel.consumer.it;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.QuarkusTestProfile;
+import io.quarkus.test.junit.TestProfile;
+import io.restassured.path.json.JsonPath;
import jakarta.ws.rs.core.MediaType;
import org.apache.camel.cloudevents.CloudEvents;
+import org.apache.camel.component.knative.http.KnativeHttpConsumerFactory;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
+import static
org.apache.camel.quarkus.component.knative.channel.consumer.it.KnativeChannelConsumerTest.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+@TestProfile(KnativeChannelConsumerTestProfile.class)
@QuarkusTest
public class KnativeChannelConsumerTest {
+ @Test
+ void inspect() {
+ JsonPath p = given()
+ .contentType(MediaType.TEXT_PLAIN)
+ .accept(MediaType.APPLICATION_JSON)
+ .get("/knative-channel-consumer/inspect")
+ .then()
+ .statusCode(200)
+ .extract()
+ .body()
+ .jsonPath();
+
+ assertEquals(KnativeHttpConsumerFactory.class.getName(),
p.getString("consumer-factory"));
+ }
@Test
void consumeEventsFromChannel() {
@@ -56,4 +77,10 @@ public class KnativeChannelConsumerTest {
}
+ public static final class KnativeChannelConsumerTestProfile implements
QuarkusTestProfile {
+ @Override
+ public String getConfigProfile() {
+ return "knative-channel-consumer";
+ }
+ }
}
diff --git
a/integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerIT.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerIT.java
similarity index 82%
rename from
integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerIT.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerIT.java
index 0148488373..e032d725fd 100644
---
a/integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerIT.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerIT.java
@@ -14,10 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.endpoint.consumer.it;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
-public class KnativeEventConsumerIT extends
org.apache.camel.quarkus.component.knative.consumer.it.KnativeEventConsumerTest
{
+public class KnativeEndpointConsumerIT extends KnativeEndpointConsumerTest {
}
diff --git
a/integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerTest.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerTest.java
similarity index 76%
rename from
integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerTest.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerTest.java
index 3cee239d93..f1face3c6e 100644
---
a/integration-tests/knative-endpoint-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEndpointConsumerTest.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/endpoint/consumer/it/KnativeEndpointConsumerTest.java
@@ -14,24 +14,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.endpoint.consumer.it;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import jakarta.ws.rs.core.MediaType;
-
-import io.quarkus.test.common.http.TestHTTPEndpoint;
import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.path.json.JsonPath;
-import org.apache.camel.component.cloudevents.CloudEvents;
-import org.apache.camel.component.knative.http.KnativeHttpConsumerFactory;
+import io.quarkus.test.junit.QuarkusTestProfile;
+import io.quarkus.test.junit.TestProfile;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.cloudevents.CloudEvents;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static
org.apache.camel.quarkus.component.knative.endpoint.consumer.it.KnativeEndpointConsumerTest.*;
+@TestProfile(KnativeEndpointConsumerTestProfile.class)
@QuarkusTest
public class KnativeEndpointConsumerTest {
@Test
@@ -51,11 +50,17 @@ public class KnativeEndpointConsumerTest {
Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(10,
TimeUnit.SECONDS).until(() -> {
final String body = given()
- .get("/")
+ .get("/knative-endpoint-consumer")
.then()
.extract().body().asString();
return body != null && body.contains("Hello World - Testing
Knative Services Camel consumer");
});
}
+ public static final class KnativeEndpointConsumerTestProfile implements
QuarkusTestProfile {
+ @Override
+ public String getConfigProfile() {
+ return "knative-endpoint-consumer";
+ }
+ }
}
diff --git
a/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeIT.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerIT.java
similarity index 86%
rename from
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeIT.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerIT.java
index ec51d807e4..74453ed57a 100644
---
a/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeIT.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerIT.java
@@ -14,11 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.it;
+package org.apache.camel.quarkus.component.knative.event.consumer.it;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
-class KnativeIT extends KnativeTest {
-
+public class KnativeEventConsumerIT extends KnativeEventConsumerTest {
}
diff --git
a/integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerTest.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerTest.java
similarity index 75%
rename from
integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerTest.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerTest.java
index 5d3cc65468..c307f88e70 100644
---
a/integration-tests/knative-event-consumer/src/src/test/java/org/apache/camel/quarkus/component/knative/consumer/it/KnativeEventConsumerTest.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/event/consumer/it/KnativeEventConsumerTest.java
@@ -14,23 +14,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.knative.consumer.it;
+package org.apache.camel.quarkus.component.knative.event.consumer.it;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import jakarta.ws.rs.core.MediaType;
-
import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.path.json.JsonPath;
-import org.apache.camel.component.cloudevents.CloudEvents;
-import org.apache.camel.component.knative.http.KnativeHttpConsumerFactory;
+import io.quarkus.test.junit.QuarkusTestProfile;
+import io.quarkus.test.junit.TestProfile;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.cloudevents.CloudEvents;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static
org.apache.camel.quarkus.component.knative.event.consumer.it.KnativeEventConsumerTest.*;
+@TestProfile(KnativeEventConsumerTestProfile.class)
@QuarkusTest
public class KnativeEventConsumerTest {
@@ -48,16 +48,21 @@ public class KnativeEventConsumerTest {
.when()
.post("/")
.then()
- .statusCode(200);
+ .statusCode(204);
Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(10,
TimeUnit.SECONDS).until(() -> {
final String body = given()
- .get("/")
+ .get("/knative-event-consumer")
.then()
.extract().body().asString();
return body != null && body.contains("Hello World - Testing
Knative Broker Camel consumer");
});
}
-
+ public static final class KnativeEventConsumerTestProfile implements
QuarkusTestProfile {
+ @Override
+ public String getConfigProfile() {
+ return "knative-event-consumer";
+ }
+ }
}
diff --git
a/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeTest.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeTest.java
deleted file mode 100644
index a124421480..0000000000
---
a/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/it/KnativeTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.knative.it;
-
-import io.quarkus.test.common.http.TestHTTPEndpoint;
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import io.restassured.path.json.JsonPath;
-import jakarta.ws.rs.core.MediaType;
-import org.apache.camel.component.knative.http.KnativeHttpConsumerFactory;
-import org.apache.camel.component.knative.http.KnativeHttpProducerFactory;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-@QuarkusTest
-@TestHTTPEndpoint(KnativeResource.class)
-class KnativeTest {
-
- @Test
- public void inspect() {
- JsonPath p = RestAssured.given()
- .accept(MediaType.APPLICATION_JSON)
- .get("/inspect")
- .then()
- .statusCode(200)
- .extract()
- .body()
- .jsonPath();
-
- assertEquals(KnativeHttpConsumerFactory.class.getName(),
p.getString("consumer-factory"));
- assertEquals(KnativeHttpProducerFactory.class.getName(),
p.getString("producer-factory"));
- }
-
-}
diff --git
a/integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerIT.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerIT.java
similarity index 100%
rename from
integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerIT.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerIT.java
diff --git
a/integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
similarity index 86%
rename from
integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
index 1e1ff58dbe..c04bd01646 100644
---
a/integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
+++
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeProducerTest.java
@@ -21,6 +21,8 @@ import java.util.concurrent.TimeUnit;
import io.quarkus.test.common.WithTestResource;
import io.quarkus.test.common.http.TestHTTPEndpoint;
import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.QuarkusTestProfile;
+import io.quarkus.test.junit.TestProfile;
import io.restassured.path.json.JsonPath;
import jakarta.ws.rs.core.MediaType;
import org.apache.camel.component.knative.http.KnativeHttpProducerFactory;
@@ -28,8 +30,10 @@ import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
+import static
org.apache.camel.quarkus.component.knative.producer.it.KnativeProducerTest.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
+@TestProfile(KnativeProducerTestProfile.class)
@QuarkusTest
@TestHTTPEndpoint(KnativeProducerResource.class)
@WithTestResource(KnativeTestResource.class)
@@ -61,7 +65,7 @@ public class KnativeProducerTest {
.get("/mock/channel")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
@@ -77,7 +81,7 @@ public class KnativeProducerTest {
.get("/mock/event")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
@@ -93,7 +97,7 @@ public class KnativeProducerTest {
.get("/mock/endpoint")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
@@ -104,7 +108,7 @@ public class KnativeProducerTest {
.get("/mock/channel-timer")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
@@ -115,7 +119,7 @@ public class KnativeProducerTest {
.get("/mock/event-timer")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
@@ -126,8 +130,14 @@ public class KnativeProducerTest {
.get("/mock/endpoint-timer")
.then()
.extract().body().asString();
- return body != null && "true".equals(body);
+ return "true".equals(body);
});
}
+ public static final class KnativeProducerTestProfile implements
QuarkusTestProfile {
+ @Override
+ public String getConfigProfile() {
+ return "knative-producer";
+ }
+ }
}
diff --git
a/integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeTestResource.java
b/integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeTestResource.java
similarity index 100%
rename from
integration-tests/knative-producer/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeTestResource.java
rename to
integration-tests/knative/src/test/java/org/apache/camel/quarkus/component/knative/producer/it/KnativeTestResource.java
diff --git
a/integration-tests/knative-producer/src/test/resources/mappings/sendToBroker.json
b/integration-tests/knative/src/test/resources/mappings/sendToBroker.json
similarity index 100%
rename from
integration-tests/knative-producer/src/test/resources/mappings/sendToBroker.json
rename to
integration-tests/knative/src/test/resources/mappings/sendToBroker.json
diff --git
a/integration-tests/knative-producer/src/test/resources/mappings/sendToChannel.json
b/integration-tests/knative/src/test/resources/mappings/sendToChannel.json
similarity index 100%
rename from
integration-tests/knative-producer/src/test/resources/mappings/sendToChannel.json
rename to
integration-tests/knative/src/test/resources/mappings/sendToChannel.json
diff --git
a/integration-tests/knative-producer/src/test/resources/mappings/sendToService.json
b/integration-tests/knative/src/test/resources/mappings/sendToService.json
similarity index 100%
rename from
integration-tests/knative-producer/src/test/resources/mappings/sendToService.json
rename to
integration-tests/knative/src/test/resources/mappings/sendToService.json
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 998f6fa67a..7fce163b90 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -150,10 +150,6 @@
<module>kafka-ssl</module>
<module>kamelet</module>
<module>knative</module>
- <module>knative-channel-consumer</module>
- <module>knative-endpoint-consumer</module>
- <module>knative-event-consumer</module>
- <module>knative-producer</module>
<module>kotlin</module>
<module>kotlin-dsl</module>
<module>kubernetes</module>
diff --git a/tooling/scripts/test-categories.yaml
b/tooling/scripts/test-categories.yaml
index 99a8eebcf1..81841472b6 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -207,10 +207,6 @@ group-12:
- csimple
- quartz-clustered
- knative
- - knative-channel-consumer
- - knative-endpoint-consumer
- - knative-event-consumer
- - knative-producer
- openapi-java
- paho-mqtt5
- platform-http