You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2013/01/29 08:59:46 UTC

svn commit: r1439771 - in /camel/trunk/camel-core/src/test/java/org/apache/camel/processor: ./ aggregator/

Author: bvahdat
Date: Tue Jan 29 07:59:45 2013
New Revision: 1439771

URL: http://svn.apache.org/viewvc?rev=1439771&view=rev
Log:
Fixed some broken tests similar to AggregateTimeoutTest which failed on the CI-Server.

Modified:
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelAllTimeoutAwareTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelTimeoutAwareTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateTimeoutTest.java

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java?rev=1439771&r1=1439770&r2=1439771&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java Tue Jan 29 07:59:45 2013
@@ -20,6 +20,7 @@ import javax.naming.Context;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
+import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.processor.aggregate.TimeoutAwareAggregationStrategy;
@@ -30,6 +31,11 @@ import org.apache.camel.util.jndi.JndiCo
  */
 public class BeanRecipientListTimeoutTest extends ContextTestSupport {
 
+    private volatile Exchange receivedExchange;
+    private volatile int receivedIndex;
+    private volatile int receivedTotal;
+    private volatile long receivedTimeout;
+
     public void testBeanRecipientListParallelTimeout() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         // A will timeout so we only get B and/or C
@@ -38,6 +44,11 @@ public class BeanRecipientListTimeoutTes
         template.sendBody("direct:start", "Hello");
 
         assertMockEndpointsSatisfied();
+
+        assertNotNull(receivedExchange);
+        assertEquals(0, receivedIndex);
+        assertEquals(3, receivedTotal);
+        assertEquals(1000, receivedTimeout);
     }
 
     @Override
@@ -64,19 +75,24 @@ public class BeanRecipientListTimeoutTes
 
     public static class MyBean {
 
-        @org.apache.camel.RecipientList(strategyRef = "myStrategy", parallelProcessing = true, timeout = 1000)
+        @RecipientList(strategyRef = "myStrategy", parallelProcessing = true, timeout = 1000)
         public String[] route(String body) {
             return new String[] {"direct:a", "direct:b", "direct:c"};
         }
     }
 
-    private static class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
+    private class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
 
         public void timeout(Exchange oldExchange, int index, int total, long timeout) {
-            assertEquals(1000, timeout);
-            assertEquals(3, total);
-            assertEquals(0, index);
-            assertNotNull(oldExchange);
+            // we can't assert on the expected values here as the contract of this method doesn't
+            // allow to throw any Throwable (including AssertionFailedError) so that we assert
+            // about the expected values directly inside the test method itself. other than that
+            // asserting inside a thread other than the main thread dosen't make much sense as
+            // junit would not realize the failed assertion!
+            receivedExchange = oldExchange;
+            receivedIndex = index;
+            receivedTotal = total;
+            receivedTimeout = timeout;
         }
 
         public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelAllTimeoutAwareTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelAllTimeoutAwareTest.java?rev=1439771&r1=1439770&r2=1439771&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelAllTimeoutAwareTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelAllTimeoutAwareTest.java Tue Jan 29 07:59:45 2013
@@ -27,6 +27,11 @@ import org.apache.camel.processor.aggreg
  */
 public class MulticastParallelAllTimeoutAwareTest extends ContextTestSupport {
 
+    private volatile Exchange receivedExchange;
+    private volatile int receivedIndex;
+    private volatile int receivedTotal;
+    private volatile long receivedTimeout;
+
     public void testMulticastParallelAllTimeoutAware() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         // ABC will timeout so we only get our canned response
@@ -35,6 +40,11 @@ public class MulticastParallelAllTimeout
         template.sendBody("direct:start", "Hello");
 
         assertMockEndpointsSatisfied();
+
+        assertNotNull(receivedExchange);
+        assertEquals(0, receivedIndex);
+        assertEquals(3, receivedTotal);
+        assertEquals(500, receivedTimeout);
     }
 
     @Override
@@ -58,13 +68,19 @@ public class MulticastParallelAllTimeout
         };
     }
 
-    private static class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
+    private class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
 
         public void timeout(Exchange oldExchange, int index, int total, long timeout) {
-            assertEquals(500, timeout);
-            assertEquals(3, total);
-            assertEquals(0, index);
-            assertNotNull(oldExchange);
+            // we can't assert on the expected values here as the contract of this method doesn't
+            // allow to throw any Throwable (including AssertionFailedError) so that we assert
+            // about the expected values directly inside the test method itself. other than that
+            // asserting inside a thread other than the main thread dosen't make much sense as
+            // junit would not realize the failed assertion!
+            receivedExchange = oldExchange;
+            receivedIndex = index;
+            receivedTotal = total;
+            receivedTimeout = timeout;
+
             oldExchange.getIn().setBody("AllTimeout");
         }
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelTimeoutAwareTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelTimeoutAwareTest.java?rev=1439771&r1=1439770&r2=1439771&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelTimeoutAwareTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastParallelTimeoutAwareTest.java Tue Jan 29 07:59:45 2013
@@ -27,6 +27,11 @@ import org.apache.camel.processor.aggreg
  */
 public class MulticastParallelTimeoutAwareTest extends ContextTestSupport {
 
+    private volatile Exchange receivedExchange;
+    private volatile int receivedIndex;
+    private volatile int receivedTotal;
+    private volatile long receivedTimeout;
+
     public void testMulticastParallelTimeoutAware() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         // A will timeout so we only get B and/or C
@@ -35,6 +40,11 @@ public class MulticastParallelTimeoutAwa
         template.sendBody("direct:start", "Hello");
 
         assertMockEndpointsSatisfied();
+
+        assertNotNull(receivedExchange);
+        assertEquals(0, receivedIndex);
+        assertEquals(3, receivedTotal);
+        assertEquals(1000, receivedTimeout);
     }
 
     @Override
@@ -58,13 +68,18 @@ public class MulticastParallelTimeoutAwa
         };
     }
 
-    private static class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
+    private class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
 
         public void timeout(Exchange oldExchange, int index, int total, long timeout) {
-            assertEquals(1000, timeout);
-            assertEquals(3, total);
-            assertEquals(0, index);
-            assertNotNull(oldExchange);
+            // we can't assert on the expected values here as the contract of this method doesn't
+            // allow to throw any Throwable (including AssertionFailedError) so that we assert
+            // about the expected values directly inside the test method itself. other than that
+            // asserting inside a thread other than the main thread dosen't make much sense as
+            // junit would not realize the failed assertion!
+            receivedExchange = oldExchange;
+            receivedIndex = index;
+            receivedTotal = total;
+            receivedTimeout = timeout;
         }
 
         public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java?rev=1439771&r1=1439770&r2=1439771&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java Tue Jan 29 07:59:45 2013
@@ -27,6 +27,11 @@ import org.apache.camel.processor.aggreg
  */
 public class SplitParallelTimeoutTest extends ContextTestSupport {
 
+    private volatile Exchange receivedExchange;
+    private volatile int receivedIndex;
+    private volatile int receivedTotal;
+    private volatile long receivedTimeout;
+
     public void testSplitParallelTimeout() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         // A will timeout so we only get B and/or C
@@ -35,6 +40,11 @@ public class SplitParallelTimeoutTest ex
         template.sendBody("direct:start", "A,B,C");
 
         assertMockEndpointsSatisfied();
+
+        assertNotNull(receivedExchange);
+        assertEquals(0, receivedIndex);
+        assertEquals(3, receivedTotal);
+        assertEquals(1000, receivedTimeout);
     }
 
     @Override
@@ -62,13 +72,18 @@ public class SplitParallelTimeoutTest ex
         };
     }
 
-    private static class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
+    private class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
 
         public void timeout(Exchange oldExchange, int index, int total, long timeout) {
-            assertEquals(1000, timeout);
-            assertEquals(3, total);
-            assertEquals(0, index);
-            assertNotNull(oldExchange);
+            // we can't assert on the expected values here as the contract of this method doesn't
+            // allow to throw any Throwable (including AssertionFailedError) so that we assert
+            // about the expected values directly inside the test method itself. other than that
+            // asserting inside a thread other than the main thread dosen't make much sense as
+            // junit would not realize the failed assertion!
+            receivedExchange = oldExchange;
+            receivedIndex = index;
+            receivedTotal = total;
+            receivedTimeout = timeout;
         }
 
         public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateTimeoutTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateTimeoutTest.java?rev=1439771&r1=1439770&r2=1439771&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateTimeoutTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateTimeoutTest.java Tue Jan 29 07:59:45 2013
@@ -51,13 +51,13 @@ public class AggregateTimeoutTest extend
         assertEquals(1, INVOKED.get());
 
         assertNotNull(receivedExchange);
-        assertEquals("A+B", receivedExchange.getIn().getBody());
+        assertEquals("AB", receivedExchange.getIn().getBody());
         assertEquals(-1, receivedIndex);
         assertEquals(-1, receivedTotal);
         assertEquals(2000, receivedTimeout);
 
         mock.reset();
-        mock.expectedBodiesReceived("A+B+C");
+        mock.expectedBodiesReceived("ABC");
 
         // now send 3 exchanges which shouldn't trigger the timeout anymore
         template.sendBodyAndHeader("direct:start", "A", "id", 123);
@@ -93,8 +93,10 @@ public class AggregateTimeoutTest extend
             INVOKED.incrementAndGet();
 
             // we can't assert on the expected values here as the contract of this method doesn't
-            // allow to throw any Throwable here (including AssertionFailedError) so that we assert
-            // about the expected values directly inside the test method itself
+            // allow to throw any Throwable (including AssertionFailedError) so that we assert
+            // about the expected values directly inside the test method itself. other than that
+            // asserting inside a thread other than the main thread dosen't make much sense as
+            // junit would not realize the failed assertion!
             receivedExchange = oldExchange;
             receivedIndex = index;
             receivedTotal = total;
@@ -107,7 +109,7 @@ public class AggregateTimeoutTest extend
             }
 
             String body = oldExchange.getIn().getBody(String.class);
-            oldExchange.getIn().setBody(body + "+" + newExchange.getIn().getBody(String.class));
+            oldExchange.getIn().setBody(body + newExchange.getIn().getBody(String.class));
             return oldExchange;
         }
     }