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 <jamesnether...@gmail.com> 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