Author: davsclaus Date: Wed Sep 2 07:41:08 2009 New Revision: 810392 URL: http://svn.apache.org/viewvc?rev=810392&view=rev Log: added unit test based on some JBI simulate endpoint not exists problem
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RoutePerformanceTest.java Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java?rev=810392&r1=810391&r2=810392&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java Wed Sep 2 07:41:08 2009 @@ -16,19 +16,24 @@ */ package org.apache.camel.issues; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.WaitForTaskToComplete; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.impl.SynchronizationAdapter; /** * @version $Revision$ */ public class GertJBIIssueTest extends ContextTestSupport { + private static Exception cause; + @Override public boolean isUseRouteBuilder() { return false; @@ -103,4 +108,47 @@ assertEquals("Forced", cause.getMessage()); } + public void testSimulateJBIEndpointNotExistOnCompletion() throws Exception { + cause = null; + + context.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0).handled(false)); + + from("direct:start") + // must wait for task to complete to know if there was an exception + // as its in-only based + .threads(2).waitForTaskToComplete(WaitForTaskToComplete.Always) + .to("mock:done") + .throwException(new IllegalArgumentException("Forced")); + + } + }); + context.start(); + + getMockEndpoint("mock:done").expectedMessageCount(1); + getMockEndpoint("mock:dlc").expectedMessageCount(1); + + final CountDownLatch latch = new CountDownLatch(1); + + template.send("direct:start", new Processor() { + public void process(Exchange exchange) throws Exception { + exchange.addOnCompletion(new SynchronizationAdapter() { + @Override + public void onDone(Exchange exchange) { + cause = exchange.getException(); + latch.countDown(); + } + }); + } + }); + + latch.await(10, TimeUnit.SECONDS); + + assertNotNull("Should have failed", cause); + assertIsInstanceOf(IllegalArgumentException.class, cause); + assertEquals("Forced", cause.getMessage()); + } + } Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RoutePerformanceTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RoutePerformanceTest.java?rev=810392&r1=810391&r2=810392&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RoutePerformanceTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RoutePerformanceTest.java Wed Sep 2 07:41:08 2009 @@ -45,6 +45,8 @@ MockEndpoint endpoint = getMockEndpoint(uri); endpoint.expectedMessageCount((int) dataSet.getSize()); endpoint.expectedHeaderReceived("foo", 123); + // give 30 seconds for slow servers + endpoint.setResultWaitTime(30000); assertMockEndpointsSatisfied();