You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zh...@apache.org on 2022/08/03 12:09:41 UTC

[camel-quarkus] branch main updated: Increase test coverage (file/http) for camel-quarkus-validator extens… (#3953)

This is an automated email from the ASF dual-hosted git repository.

zhfeng 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 0ca78b930c Increase test coverage (file/http) for camel-quarkus-validator extens… (#3953)
0ca78b930c is described below

commit 0ca78b930c66c23018c96106ab0a87e52956e6b4
Author: souvik ghosh <so...@gmail.com>
AuthorDate: Wed Aug 3 17:39:37 2022 +0530

    Increase test coverage (file/http) for camel-quarkus-validator extens… (#3953)
    
    * Increase test coverage (file/http) for camel-quarkus-validator extension.
    
    * Add ssl option for https endpoint.
---
 .../component/validator/it/ValidatorResource.java  | 23 +++++++--
 .../validator/it/ValidatorRouteBuilder.java        |  9 +++-
 .../src/main/resources/application.properties      |  3 +-
 .../component/validator/it/ValidatorTest.java      | 57 ++++++++++++++++++++--
 4 files changed, 83 insertions(+), 9 deletions(-)

diff --git a/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorResource.java b/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorResource.java
index 4546700906..b8b979cfdb 100644
--- a/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorResource.java
+++ b/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorResource.java
@@ -32,11 +32,28 @@ public class ValidatorResource {
     @Inject
     ProducerTemplate producerTemplate;
 
-    @Path("/xml")
+    @Path("/classpath")
     @POST
     @Consumes(MediaType.APPLICATION_XML)
     @Produces(MediaType.TEXT_PLAIN)
-    public String processOrder(String statement) {
-        return producerTemplate.requestBody("direct:start", statement, String.class);
+    public String processOrderInXmlFromClassPath(String statement) {
+        return producerTemplate.requestBody("direct:classpath", statement, String.class);
     }
+
+    @Path("/filesystem")
+    @POST
+    @Consumes(MediaType.APPLICATION_XML)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String processOrderInXmlFromFileSystem(String statement) {
+        return producerTemplate.requestBody("direct:filesystem", statement, String.class);
+    }
+
+    @Path("/http")
+    @POST
+    @Consumes(MediaType.APPLICATION_XML)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String processOrderInXmlFromHTTP(String statement) {
+        return producerTemplate.requestBody("direct:http", statement, String.class);
+    }
+
 }
diff --git a/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorRouteBuilder.java b/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorRouteBuilder.java
index 2644276bf4..ea64124729 100644
--- a/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorRouteBuilder.java
+++ b/integration-tests/validator/src/main/java/org/apache/camel/quarkus/component/validator/it/ValidatorRouteBuilder.java
@@ -21,7 +21,14 @@ import org.apache.camel.builder.RouteBuilder;
 public class ValidatorRouteBuilder extends RouteBuilder {
     @Override
     public void configure() {
-        from("direct:start")
+        from("direct:classpath")
                 .to("validator:message.xsd");
+
+        from("direct:filesystem")
+                .to("validator:file:src/main/resources/message.xsd");
+
+        from("direct:http")
+                .toD("validator:https://raw.githubusercontent.com/apache/camel-quarkus/main/integration-tests/validator/src/main/resources/message.xsd");
+
     }
 }
diff --git a/integration-tests/validator/src/main/resources/application.properties b/integration-tests/validator/src/main/resources/application.properties
index e9ac8a66ba..68644f628d 100644
--- a/integration-tests/validator/src/main/resources/application.properties
+++ b/integration-tests/validator/src/main/resources/application.properties
@@ -15,4 +15,5 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-quarkus.native.additional-build-args =-H:ResourceConfigurationFiles=resources-config.json
\ No newline at end of file
+quarkus.native.additional-build-args =-H:ResourceConfigurationFiles=resources-config.json
+quarkus.ssl.native=true
\ No newline at end of file
diff --git a/integration-tests/validator/src/test/java/org/apache/camel/quarkus/component/validator/it/ValidatorTest.java b/integration-tests/validator/src/test/java/org/apache/camel/quarkus/component/validator/it/ValidatorTest.java
index cef3012dd1..f5fadcb64e 100644
--- a/integration-tests/validator/src/test/java/org/apache/camel/quarkus/component/validator/it/ValidatorTest.java
+++ b/integration-tests/validator/src/test/java/org/apache/camel/quarkus/component/validator/it/ValidatorTest.java
@@ -25,26 +25,75 @@ import org.junit.jupiter.api.Test;
 class ValidatorTest {
 
     @Test
-    public void validXML() {
+    public void validXMLFromClassPath() {
 
         RestAssured.given()
                 .contentType(ContentType.XML)
                 .body("<message><firstName>MyFirstname</firstName><lastName>MyLastname</lastName></message>")
-                .post("/validator/xml")
+                .post("/validator/classpath")
                 .then()
                 .statusCode(200);
 
     }
 
     @Test
-    public void invalidXML() {
+    public void invalidXMLFromClassPath() {
 
         RestAssured.given()
                 .contentType(ContentType.XML)
                 .body("<message><firstName>MyFirstname</firstName></message>")
-                .post("/validator/xml")
+                .post("/validator/classpath")
                 .then()
                 .statusCode(500);
 
     }
+
+    @Test
+    public void validXMLFromFileSystem() {
+
+        RestAssured.given()
+                .contentType(ContentType.XML)
+                .body("<message><firstName>MyFirstname</firstName><lastName>MyLastname</lastName></message>")
+                .post("/validator/filesystem")
+                .then()
+                .statusCode(200);
+
+    }
+
+    @Test
+    public void invalidXMLFromFileSystem() {
+
+        RestAssured.given()
+                .contentType(ContentType.XML)
+                .body("<message><firstName>MyFirstname</firstName></message>")
+                .post("/validator/filesystem")
+                .then()
+                .statusCode(500);
+
+    }
+
+    @Test
+    public void validXMLFromHTTPEndPoint() {
+
+        RestAssured.given()
+                .contentType(ContentType.XML)
+                .body("<message><firstName>MyFirstname</firstName><lastName>MyLastname</lastName></message>")
+                .post("/validator/http")
+                .then()
+                .statusCode(200);
+
+    }
+
+    @Test
+    public void invalidXMLFromHTTPEndPoint() {
+
+        RestAssured.given()
+                .contentType(ContentType.XML)
+                .body("<message><firstName>MyFirstname</firstName></message>")
+                .post("/validator/http")
+                .then()
+                .statusCode(500);
+
+    }
+
 }