You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2012/01/14 05:47:53 UTC
svn commit: r1231440 -
/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
Author: hadrian
Date: Sat Jan 14 04:47:52 2012
New Revision: 1231440
URL: http://svn.apache.org/viewvc?rev=1231440&view=rev
Log:
CAMEL-4894. Unit test demonstrating the problem
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java?rev=1231440&r1=1231439&r2=1231440&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java Sat Jan 14 04:47:52 2012
@@ -16,6 +16,9 @@
*/
package org.apache.camel.processor;
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -42,10 +45,27 @@ public class RecipientListBeanTest exten
assertMockEndpointsSatisfied();
}
+
+ // @Ignore("CAMEL-4894") @Test
+ public void fixmeTestRecipientListWithParams() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedBodiesReceived("Hello b");
+
+ Map<String, Object> headers = new HashMap<String, Object>();
+ headers.put("one", 21);
+ headers.put("two", "direct:a,direct:b,direct:c");
+
+ String out = template.requestBodyAndHeaders("direct:params", "Hello World", headers, String.class);
+ assertEquals("Hello b", out);
+
+ assertMockEndpointsSatisfied();
+ }
+
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
from("direct:start").recipientList(bean("myBean", "foo")).to("mock:result");
+ from("direct:params").recipientList(bean("myBean", "bar(header.one, header.two)"), ",").to("mock:result");
from("direct:a").transform(constant("Hello a"));
from("direct:b").transform(constant("Hello b"));
@@ -59,6 +79,17 @@ public class RecipientListBeanTest exten
public String[] foo(String body) {
return body.split(",");
}
+
+ public String foo(int one, String two) {
+ String [] recipients = two.split(",");
+ int count = Math.min(one, recipients.length);
+ StringBuilder answer = new StringBuilder();
+ for (int i = 0; i < count; i++) {
+ answer.append(i > 0 ? "," : "");
+ answer.append(recipients[i]);
+ }
+ return answer.toString();
+ }
}
}
\ No newline at end of file