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>