You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/02/16 08:42:06 UTC

svn commit: r1244873 - in /camel/trunk/components/camel-spring/src/test: java/org/apache/camel/spring/processor/ resources/org/apache/camel/spring/processor/

Author: davsclaus
Date: Thu Feb 16 07:42:06 2012
New Revision: 1244873

URL: http://svn.apache.org/viewvc?rev=1244873&view=rev
Log:
Added test based on user forum issue

Added:
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.java
      - copied, changed from r1244841, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml
      - copied, changed from r1244841, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.xml

Copied: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.java (from r1244841, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.java&r1=1244841&r2=1244873&rev=1244873&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.java Thu Feb 16 07:42:06 2012
@@ -17,13 +17,29 @@
 package org.apache.camel.spring.processor;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.processor.TryProcessorHandledTest;
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.FailedToCreateRouteException;
+
 import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
 
-public class SpringTryProcessorHandledTest extends TryProcessorHandledTest {
+public class SpringTryCatchMustHaveExceptionConfiguredTest extends ContextTestSupport {
 
     protected CamelContext createCamelContext() throws Exception {
+        try {
+            CamelContext answer = createSpringCamelContext(this, "org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml");
+            fail("Should have thrown exception");
+        } catch (Exception e) {
+            assertIsInstanceOf(FailedToCreateRouteException.class, e.getCause());
+            assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
+            assertEquals("At least one Exception must be configured to catch", e.getCause().getCause().getMessage());
+        }
+
+        // return a working context instead, to let this test pass
         return createSpringCamelContext(this, "org/apache/camel/spring/processor/SpringTryProcessorHandledTest.xml");
     }
 
+    public void testTryCatchMustHaveExceptionConfigured() {
+        // noop
+    }
+
 }
\ No newline at end of file

Copied: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml (from r1244841, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.xml)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.xml&r1=1244841&r2=1244873&rev=1244873&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryProcessorHandledTest.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringTryCatchMustHaveExceptionConfiguredTest.xml Thu Feb 16 07:42:06 2012
@@ -23,32 +23,15 @@
     ">
 
     <camelContext xmlns="http://camel.apache.org/schema/spring">
-        <!-- START SNIPPET: e1 -->
         <route>
             <from uri="direct:start"/>
-            <!-- here the try starts. its a try .. catch .. finally just as regular java code -->
             <doTry>
-                <process ref="processorFail"/>
                 <to uri="mock:result"/>
                 <doCatch>
-                    <!-- catch IOExcption that we do not want to handle, eg the caller should get the error back -->
-                    <exception>java.io.IOException</exception>
-                    <!-- mark this as NOT handled, eg the caller will also get the exception -->
-                    <handled>
-                        <constant>false</constant>
-                    </handled>
-                    <to uri="mock:io"/>
-                </doCatch>
-                <doCatch>
-                    <!-- and catch all other exceptions they are handled by default (ie handled = true) -->
-                    <exception>java.lang.Exception</exception>
-                    <to uri="mock:error"/>
+                    <to uri="mock:fail"/>
                 </doCatch>
             </doTry>
         </route>
-        <!-- END SNIPPET: e1 -->
     </camelContext>
 
-    <bean id="processorFail" class="org.apache.camel.processor.TryProcessorHandledTest$ProcessorFail"/>
-
 </beans>