Author: davsclaus
Date: Thu Oct  4 08:59:01 2012
New Revision: 1393962

URL: http://svn.apache.org/viewvc?rev=1393962&view=rev
Log:
CAMEL-5681: Added tests to reproduce issue

Added:
    
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectDynamicRouteTest.java
      - copied, changed from r1393478, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRouteTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
   (with props)
    
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
   (with props)

Copied: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectDynamicRouteTest.java
 (from r1393478, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRouteTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectDynamicRouteTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectDynamicRouteTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRouteTest.java&r1=1393478&r2=1393962&rev=1393962&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRouteTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectDynamicRouteTest.java
 Thu Oct  4 08:59:01 2012
@@ -22,11 +22,14 @@ import org.apache.camel.builder.RouteBui
 /**
  * @version 
  */
-public class DoCatchDirectRouteTest extends ContextTestSupport {
+public class DoCatchDirectDynamicRouteTest extends ContextTestSupport {
+
+    private int counter;
 
     public void testDoCatchDirectRoute() throws Exception {
         getMockEndpoint("mock:a").expectedMessageCount(1);
         getMockEndpoint("mock:b").expectedMessageCount(1);
+        getMockEndpoint("mock:c").expectedMessageCount(1);
 
         template.sendBody("direct:start", "Hello World");
 
@@ -42,16 +45,28 @@ public class DoCatchDirectRouteTest exte
                     .doTry()
                         .to("direct:a")
                     .doCatch(Exception.class)
-                        .to("direct:b")
+                        .to("direct:c")
                     .end();
 
                 from("direct:a")
                     .to("mock:a")
-                    .throwException(new IllegalArgumentException("Forced"));
+                    .dynamicRouter(method(DoCatchDirectDynamicRouteTest.class, 
"next"));
 
                 from("direct:b")
-                    .to("mock:b");
+                    .to("mock:b")
+                    .throwException(new IllegalArgumentException("Forced"));
+
+                from("direct:c")
+                    .to("mock:c");
             }
         };
     }
+
+    public String next() {
+        if (counter++ == 0) {
+            return "direct:b";
+        } else {
+            return null;
+        }
+    }
 }

Added: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java?rev=1393962&view=auto
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
 (added)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
 Thu Oct  4 08:59:01 2012
@@ -0,0 +1,52 @@
+/**
+ * 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.processor.onexception;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+/**
+ * @version 
+ */
+public class DoCatchDirectRecipientListStreamingTest extends 
DoCatchDirectRecipientListTest {
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start")
+                    .doTry()
+                        .to("direct:a")
+                    .doCatch(Exception.class)
+                        .to("direct:c")
+                    .end();
+
+                from("direct:a")
+                    .to("mock:a")
+                    .recipientList(constant("direct:b")).streaming();
+
+                from("direct:b")
+                    .to("mock:b")
+                    .throwException(new IllegalArgumentException("Forced"));
+
+                from("direct:c")
+                    .to("mock:c");
+            }
+        };
+    }
+}

Propchange: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListStreamingTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java?rev=1393962&view=auto
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
 (added)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
 Thu Oct  4 08:59:01 2012
@@ -0,0 +1,68 @@
+/**
+ * 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.processor.onexception;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+/**
+ * @version 
+ */
+public class DoCatchDirectRecipientListTest extends ContextTestSupport {
+
+    // TODO: CAMEL-5681
+
+    public void testDoCatchDirectRoute() throws Exception {
+        getMockEndpoint("mock:a").expectedMessageCount(1);
+        getMockEndpoint("mock:b").expectedMessageCount(1);
+        // getMockEndpoint("mock:c").expectedMessageCount(1);
+
+        try {
+            template.sendBody("direct:start", "Hello World");
+        } catch (Exception e) {
+            // should not happen
+        }
+
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start")
+                    .doTry()
+                        .to("direct:a")
+                    .doCatch(Exception.class)
+                        .to("direct:c")
+                    .end();
+
+                from("direct:a")
+                    .to("mock:a")
+                    .recipientList(constant("direct:b"));
+
+                from("direct:b")
+                    .to("mock:b")
+                    .throwException(new IllegalArgumentException("Forced"));
+
+                from("direct:c")
+                    .to("mock:c");
+            }
+        };
+    }
+}

Propchange: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/DoCatchDirectRecipientListTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date


Reply via email to