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