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

aldettinger 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 ca5a8a5  Added tests and docs for the simple language #2533
ca5a8a5 is described below

commit ca5a8a5c7f31baba1d949a33867454869a532fe3
Author: aldettinger <[email protected]>
AuthorDate: Thu Apr 29 17:17:56 2021 +0200

    Added tests and docs for the simple language #2533
---
 .../ROOT/pages/reference/extensions/core.adoc      |  44 ++++++++
 .../core/runtime/src/main/doc/configuration.adoc   |  42 ++++++++
 integration-tests/pom.xml                          |   1 +
 integration-tests/simple/pom.xml                   | 117 +++++++++++++++++++++
 .../language/simple/ReflectionConfigurations.java  |  39 +++++++
 .../quarkus/language/simple/SimpleResource.java    |  83 +++++++++++++++
 .../quarkus/language/simple/SimpleRoutes.java      |  37 +++++++
 .../src/main/resources/application.properties      |  17 +++
 .../simple/src/main/resources/mysimple.txt         |   1 +
 .../org/apache/camel/quarkus/core/SimpleIT.java    |  24 +++++
 .../org/apache/camel/quarkus/core/SimpleTest.java  |  63 +++++++++++
 tooling/scripts/test-categories.yaml               |   1 +
 12 files changed, 469 insertions(+)

diff --git a/docs/modules/ROOT/pages/reference/extensions/core.adoc 
b/docs/modules/ROOT/pages/reference/extensions/core.adoc
index f8c1d7f..de535c4 100644
--- a/docs/modules/ROOT/pages/reference/extensions/core.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/core.adoc
@@ -47,6 +47,50 @@ Check the xref:user-guide/index.adoc[User guide] for more 
information about writ
 
 == Additional Camel Quarkus configuration
 
+=== Simple language
+
+==== Using the OGNL notation
+When using the OGNL notation from the simple language, the 
`camel-quarkus-bean` extension should be used.
+
+For instance, the expression below is accessing the `getAddress()` method on 
the message body of type `Client`.
+[source,java]
+---
+simple("${body.address}")
+---
+
+In such a situation, one should take an additional dependency on the 
camel-quarkus-bean extension xref:{cq-camel-components}::bean-component.adoc[as 
described here].
+Note that in native mode, some classes may need to be registered for 
reflection. In the example above, the `Client` class
+needs to be 
link:https://quarkus.io/guides/writing-native-applications-tips#registering-for-reflection[registered
 for reflection].
+
+==== Using dynamic type resolution in native mode
+When dynamically resolving a type from simple expressions like 
`${mandatoryBodyAs(TYPE)}` or `${body} is TYPE`, it may be needed to register 
some classes for reflection manually.
+
+For instance, the simple expressions below is dynamically resolving the type 
`java.nio.ByteBuffer` at runtime:
+[source,java]
+---
+simple("${body} is 'java.nio.ByteBuffer'")
+---
+
+As such, the class `java.nio.ByteBuffer` needs to be 
link:https://quarkus.io/guides/writing-native-applications-tips#registering-for-reflection[registered
 for reflection].
+
+==== Using the simple language with classpath resources in native mode
+Beyond standard usages, a trick is needed when using the simple language with 
classpath resources in native mode. In such a situation, one needs to 
explicitly embed the resources in the native executable by specifying the 
`include-patterns` option.
+
+For instance, the route below would load a simple script from a classpath 
resource named _mysimple.txt_:
+[source,java]
+----
+from("direct:start").transform().simple("resource:classpath:mysimple.txt");
+----
+
+In order to work in native mode the `include-patterns` configuration should be 
set. For instance, in the `application.properties` file as below :
+[source,properties]
+----
+quarkus.camel.native.resources.include-patterns = *.txt
+----
+
+More information about selecting resources for inclusion in the native 
executable could be found at 
xref:user-guide/native-mode.adoc#embedding-resource-in-native-executable[Embedding
 resource in native executable].
+
+
 [width="100%",cols="80,5,15",options="header"]
 |===
 | Configuration property | Type | Default
diff --git a/extensions-core/core/runtime/src/main/doc/configuration.adoc 
b/extensions-core/core/runtime/src/main/doc/configuration.adoc
new file mode 100644
index 0000000..37be2ca
--- /dev/null
+++ b/extensions-core/core/runtime/src/main/doc/configuration.adoc
@@ -0,0 +1,42 @@
+=== Simple language
+
+==== Using the OGNL notation
+When using the OGNL notation from the simple language, the 
`camel-quarkus-bean` extension should be used.
+
+For instance, the expression below is accessing the `getAddress()` method on 
the message body of type `Client`.
+[source,java]
+---
+simple("${body.address}")
+---
+
+In such a situation, one should take an additional dependency on the 
camel-quarkus-bean extension xref:{cq-camel-components}::bean-component.adoc[as 
described here].
+Note that in native mode, some classes may need to be registered for 
reflection. In the example above, the `Client` class
+needs to be 
link:https://quarkus.io/guides/writing-native-applications-tips#registering-for-reflection[registered
 for reflection].
+
+==== Using dynamic type resolution in native mode
+When dynamically resolving a type from simple expressions like 
`${mandatoryBodyAs(TYPE)}` or `${body} is TYPE`, it may be needed to register 
some classes for reflection manually.
+
+For instance, the simple expressions below is dynamically resolving the type 
`java.nio.ByteBuffer` at runtime:
+[source,java]
+---
+simple("${body} is 'java.nio.ByteBuffer'")
+---
+
+As such, the class `java.nio.ByteBuffer` needs to be 
link:https://quarkus.io/guides/writing-native-applications-tips#registering-for-reflection[registered
 for reflection].
+
+==== Using the simple language with classpath resources in native mode
+Beyond standard usages, a trick is needed when using the simple language with 
classpath resources in native mode. In such a situation, one needs to 
explicitly embed the resources in the native executable by specifying the 
`include-patterns` option.
+
+For instance, the route below would load a simple script from a classpath 
resource named _mysimple.txt_:
+[source,java]
+----
+from("direct:start").transform().simple("resource:classpath:mysimple.txt");
+----
+
+In order to work in native mode the `include-patterns` configuration should be 
set. For instance, in the `application.properties` file as below :
+[source,properties]
+----
+quarkus.camel.native.resources.include-patterns = *.txt
+----
+
+More information about selecting resources for inclusion in the native 
executable could be found at 
xref:user-guide/native-mode.adoc#embedding-resource-in-native-executable[Embedding
 resource in native executable].
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index b0c3e07..dbcdefd 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -187,6 +187,7 @@
         <module>servicenow</module>
         <module>servlet</module>
         <module>shiro</module>
+        <module>simple</module>
         <module>slack</module>
         <module>smallrye-reactive-messaging</module>
         <module>soap</module>
diff --git a/integration-tests/simple/pom.xml b/integration-tests/simple/pom.xml
new file mode 100644
index 0000000..9f4a9e4
--- /dev/null
+++ b/integration-tests/simple/pom.xml
@@ -0,0 +1,117 @@
+<?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";>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-integration-tests</artifactId>
+        <version>1.9.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-integration-test-simple</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Simple :: Tests</name>
+    <description>The camel quarkus integration tests for the simple 
language</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-bean</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>
+
+        <!-- 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-bean-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>
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </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>
+    </profiles>
+
+</project>
diff --git 
a/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/ReflectionConfigurations.java
 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/ReflectionConfigurations.java
new file mode 100644
index 0000000..503c1c2
--- /dev/null
+++ 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/ReflectionConfigurations.java
@@ -0,0 +1,39 @@
+/*
+ * 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.language.simple;
+
+import java.nio.ByteBuffer;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+
+/**
+ * Manually register some third party classes for reflection.
+ */
+public class ReflectionConfigurations {
+
+    // Needed as "${mandatoryBodyAs(String).OGNL}" reflectively invokes method 
'String.toUpperCase()'
+    @RegisterForReflection(targets = String.class, fields = false)
+    public class StringReflectionConfiguration {
+    }
+
+    // Needed as "${body} is TYPE" reflectively resolves 'java.nio.ByteBuffer'
+    // at runtime
+    @RegisterForReflection(targets = ByteBuffer.class, fields = false, methods 
= false)
+    public class ByteBufferReflectionConfiguration {
+    }
+
+}
diff --git 
a/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleResource.java
 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleResource.java
new file mode 100644
index 0000000..face86e
--- /dev/null
+++ 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleResource.java
@@ -0,0 +1,83 @@
+/*
+ * 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.language.simple;
+
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.ProducerTemplate;
+
+@Path("/simple")
+@ApplicationScoped
+public class SimpleResource {
+
+    @Inject
+    ProducerTemplate template;
+
+    @Path("/filter")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String filter(boolean premium) {
+        return template.requestBodyAndHeader("direct:filter-simple", 
"NOT-PREMIUM", "premium", premium, String.class);
+    }
+
+    @Path("/transform")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String transform(String user) {
+        return template.requestBodyAndHeader("direct:transform-simple", null, 
"user", user, String.class);
+    }
+
+    @Path("/resource")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String resource(String body) {
+        return template.requestBody("direct:resource-simple", body, 
String.class);
+    }
+
+    @Path("/mandatoryBodyAs")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String mandatoryBodyAs(byte[] body) {
+        return template.requestBody("direct:mandatoryBodyAs-simple", body, 
String.class);
+    }
+
+    @Path("/bodyIs")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String mandatoryBodyAs(String body) {
+        if ("A body of type String".equals(body)) {
+            return template.requestBody("direct:bodyIs-simple", "STRING", 
String.class);
+        } else {
+            return template.requestBody("direct:bodyIs-simple", 
ByteBuffer.wrap(body.getBytes(StandardCharsets.UTF_8)),
+                    String.class);
+        }
+    }
+}
diff --git 
a/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleRoutes.java
 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleRoutes.java
new file mode 100644
index 0000000..a211d37
--- /dev/null
+++ 
b/integration-tests/simple/src/main/java/org/apache/camel/quarkus/language/simple/SimpleRoutes.java
@@ -0,0 +1,37 @@
+/*
+ * 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.language.simple;
+
+import org.apache.camel.builder.RouteBuilder;
+
+public class SimpleRoutes extends RouteBuilder {
+
+    @Override
+    public void configure() {
+        from("direct:filter-simple").filter().simple("${in.header.premium} == 
true").setBody(constant("PREMIUM"));
+
+        from("direct:transform-simple").transform().simple("Hello 
${in.header.user} !");
+
+        
from("direct:resource-simple").transform().simple("resource:classpath:mysimple.txt");
+
+        
from("direct:mandatoryBodyAs-simple").filter().simple("${mandatoryBodyAs(String).toUpperCase()}
 == 'GOLD'")
+                .setBody(constant("PREMIUM"));
+
+        from("direct:bodyIs-simple").filter().simple("${body} is 
'java.nio.ByteBuffer'").setBody(constant("BYTE_BUFFER"));
+    }
+
+}
diff --git a/integration-tests/simple/src/main/resources/application.properties 
b/integration-tests/simple/src/main/resources/application.properties
new file mode 100644
index 0000000..3b3c4fc
--- /dev/null
+++ b/integration-tests/simple/src/main/resources/application.properties
@@ -0,0 +1,17 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+quarkus.camel.native.resources.include-patterns = *.txt
\ No newline at end of file
diff --git a/integration-tests/simple/src/main/resources/mysimple.txt 
b/integration-tests/simple/src/main/resources/mysimple.txt
new file mode 100644
index 0000000..d47026a
--- /dev/null
+++ b/integration-tests/simple/src/main/resources/mysimple.txt
@@ -0,0 +1 @@
+The name is ${body}
\ No newline at end of file
diff --git 
a/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleIT.java
 
b/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleIT.java
new file mode 100644
index 0000000..04ec3a7
--- /dev/null
+++ 
b/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.core;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+public class SimpleIT extends SimpleTest {
+
+}
diff --git 
a/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleTest.java
 
b/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleTest.java
new file mode 100644
index 0000000..520a53f
--- /dev/null
+++ 
b/integration-tests/simple/src/test/java/org/apache/camel/quarkus/core/SimpleTest.java
@@ -0,0 +1,63 @@
+/*
+ * 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.core;
+
+import io.quarkus.test.junit.QuarkusTest;
+import org.junit.jupiter.api.Test;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+
+@QuarkusTest
+public class SimpleTest {
+
+    @Test
+    public void premiumHeaderShouldPassThroughFilter() {
+        
given().body(true).when().get("/simple/filter").then().statusCode(200).body(is("PREMIUM"));
+    }
+
+    @Test
+    public void notPremiumHeaderShouldNotPassThroughFilter() {
+        
given().body(false).when().get("/simple/filter").then().statusCode(200).body(is("NOT-PREMIUM"));
+    }
+
+    @Test
+    public void aliceUserHeaderShouldBeTransformedToHelloAlice() {
+        
given().body("Alice").when().get("/simple/transform").then().statusCode(200).body(is("Hello
 Alice !"));
+    }
+
+    @Test
+    public void aliceBodyShouldBeTransformedToTheNameIsAlice() {
+        
given().body("Alice").when().get("/simple/resource").then().statusCode(200).body(is("The
 name is Alice"));
+    }
+
+    @Test
+    public void goldBodyShouldPassThroughFilter() {
+        
given().body("gold").when().get("/simple/mandatoryBodyAs").then().statusCode(200).body(is("PREMIUM"));
+    }
+
+    @Test
+    public void stringBodyShouldNotPassThroughBodyIsFilter() {
+        given().body("A body of type 
String").when().get("/simple/bodyIs").then().statusCode(200).body(is("STRING"));
+    }
+
+    @Test
+    public void byteBufferBodyShouldPassThroughBodyIsFilter() {
+        given().body("A body of type 
ByteBuffer").when().get("/simple/bodyIs").then().statusCode(200).body(is("BYTE_BUFFER"));
+    }
+
+}
diff --git a/tooling/scripts/test-categories.yaml 
b/tooling/scripts/test-categories.yaml
index e732d5d..f28c5c4 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -37,6 +37,7 @@ group-02:
   - oaipmh
   - pubnub
   - protobuf
+  - simple
   - smallrye-reactive-messaging
   - solr
   - sql

Reply via email to