Author: davsclaus
Date: Sun Sep 25 08:06:18 2011
New Revision: 1175321

URL: http://svn.apache.org/viewvc?rev=1175321&view=rev
Log:
CAMEL-4487: Mock endpoint should reset default processor. Thanks to Sergey for 
patch. I added unit test as well.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=1175321&r1=1175320&r2=1175321&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
 Sun Sep 25 08:06:18 2011
@@ -1014,6 +1014,7 @@ public class MockEndpoint extends Defaul
     private void init() {
         expectedCount = -1;
         counter = 0;
+        defaultProcessor = null;
         processors = new HashMap<Integer, Processor>();
         receivedExchanges = new CopyOnWriteArrayList<Exchange>();
         failures = new CopyOnWriteArrayList<Throwable>();

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java?rev=1175321&r1=1175320&r2=1175321&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
 Sun Sep 25 08:06:18 2011
@@ -21,6 +21,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
@@ -801,6 +802,29 @@ public class MockEndpointTest extends Co
         assertMockEndpointsSatisfied();
     }
 
+    public void testResetDefaultProcessor() throws Exception {
+        final AtomicInteger counter = new AtomicInteger();
+
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.whenAnyExchangeReceived(new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                counter.incrementAndGet();
+            }
+        });
+        mock.expectedMessageCount(1);
+        sendMessages(1);
+        mock.assertIsSatisfied();
+        assertEquals(1, counter.get());
+
+        resetMocks();
+        mock.expectedMessageCount(1);
+        sendMessages(1);
+        mock.assertIsSatisfied();
+        // counter should not be changed this time
+        assertEquals(1, counter.get());
+    }
+
     protected void sendMessages(int... counters) {
         for (int counter : counters) {
             template.sendBodyAndHeader("direct:a", createTestMessage(counter), 
"counter", counter);


Reply via email to