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 2009/09/02 09:41:08 UTC

svn commit: r810392 - in /camel/trunk/camel-core/src/test/java/org/apache/camel: issues/GertJBIIssueTest.java processor/RoutePerformanceTest.java

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();