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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 91018d9a5a67 Added unit test
91018d9a5a67 is described below

commit 91018d9a5a6715fcd7e3530dce6dd7e7c5a00065
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 16 10:51:20 2026 +0100

    Added unit test
---
 .../camel/processor/SplitMultipleValidateTest.java | 34 +++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/SplitMultipleValidateTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/SplitMultipleValidateTest.java
index b12bb3517c96..b42384af3bd4 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/SplitMultipleValidateTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/SplitMultipleValidateTest.java
@@ -18,12 +18,16 @@ package org.apache.camel.processor;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.support.processor.PredicateValidationException;
 import org.junit.jupiter.api.Test;
 
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 public class SplitMultipleValidateTest extends ContextTestSupport {
 
     @Test
-    public void testMultipleValidate() throws Exception {
+    public void testMultipleValidateOk() throws Exception {
         getMockEndpoint("mock:split1").expectedMessageCount(1);
         getMockEndpoint("mock:line1").expectedMessageCount(3);
         getMockEndpoint("mock:split2").expectedMessageCount(1);
@@ -38,6 +42,22 @@ public class SplitMultipleValidateTest extends 
ContextTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testMultipleValidateFail() throws Exception {
+        getMockEndpoint("mock:split4").expectedMessageCount(0);
+        getMockEndpoint("mock:line4").expectedMessageCount(1);
+
+        try {
+            template.sendBody("direct:start4", "Hello World");
+            fail();
+        } catch (Exception e) {
+            PredicateValidationException pve = 
assertIsInstanceOf(PredicateValidationException.class, e.getCause());
+            assertTrue(pve.getMessage().startsWith("Validation failed for 
Predicate[body > 2]"));
+        }
+
+        assertMockEndpointsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
@@ -73,6 +93,18 @@ public class SplitMultipleValidateTest extends 
ContextTestSupport {
                         .end() // filter end
                     .end() // split end
                     .to("mock:split3");
+
+                from("direct:start4")
+                    .split(constant("123").tokenize(""))
+                        .filter(body().isNotNull())
+                            .validate(body().isNotNull())
+                            .validate(body().isInstanceOf(String.class))
+                            .validate(body().isGreaterThan("2"))
+                            .log("Item ${body}")
+                            .to("mock:line4")
+                        .end() // filter end
+                    .end() // split end
+                    .to("mock:split4");
             }
         };
     }

Reply via email to