Author: ningjiang Date: Thu Jul 12 08:49:14 2012 New Revision: 1360581 URL: http://svn.apache.org/viewvc?rev=1360581&view=rev Log: CAMEL-5440 Fixed the issue of mock endpoint expectedHeaderReceived
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.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=1360581&r1=1360580&r2=1360581&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 Thu Jul 12 08:49:14 2012 @@ -481,32 +481,32 @@ public class MockEndpoint extends Defaul public void expectedHeaderReceived(final String name, final Object value) { if (expectedHeaderValues == null) { expectedHeaderValues = new CaseInsensitiveMap(); - } - expectedHeaderValues.put(name, value); + // we just wants to expects to be called once + expects(new Runnable() { + public void run() { + for (int i = 0; i < getReceivedExchanges().size(); i++) { + Exchange exchange = getReceivedExchange(i); + for (Map.Entry<String, Object> entry : expectedHeaderValues.entrySet()) { + String key = entry.getKey(); + Object expectedValue = entry.getValue(); + + // we accept that an expectedValue of null also means that the header may be absent + if (expectedValue != null) { + assertTrue("Exchange " + i + " has no headers", exchange.getIn().hasHeaders()); + boolean hasKey = exchange.getIn().getHeaders().containsKey(key); + assertTrue("No header with name " + key + " found for message: " + i, hasKey); + } - expects(new Runnable() { - public void run() { - for (int i = 0; i < getReceivedExchanges().size(); i++) { - Exchange exchange = getReceivedExchange(i); - for (Map.Entry<String, Object> entry : expectedHeaderValues.entrySet()) { - String key = entry.getKey(); - Object expectedValue = entry.getValue(); + Object actualValue = exchange.getIn().getHeader(key); + actualValue = extractActualValue(exchange, actualValue, expectedValue); - // we accept that an expectedValue of null also means that the header may be absent - if (expectedValue != null) { - assertTrue("Exchange " + i + " has no headers", exchange.getIn().hasHeaders()); - boolean hasKey = exchange.getIn().getHeaders().containsKey(key); - assertTrue("No header with name " + key + " found for message: " + i, hasKey); + assertEquals("Header with name " + key + " for message: " + i, expectedValue, actualValue); } - - Object actualValue = exchange.getIn().getHeader(key); - actualValue = extractActualValue(exchange, actualValue, expectedValue); - - assertEquals("Header with name " + key + " for message: " + i, expectedValue, actualValue); } } - } - }); + }); + } + expectedHeaderValues.put(name, value); } /**