Author: davsclaus
Date: Fri Jun 6 04:28:28 2008
New Revision: 663899
URL: http://svn.apache.org/viewvc?rev=663899&view=rev
Log:
CAMEL-515: Added bean pipeline test to verift copy of headers
Added:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
(with props)
Modified:
activemq/camel/trunk/camel-core/src/test/resources/log4j.properties
Added:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java?rev=663899&view=auto
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
(added)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
Fri Jun 6 04:28:28 2008
@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.bean;
+
+import java.util.Map;
+import javax.naming.Context;
+
+import org.apache.camel.Body;
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.Headers;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.util.jndi.JndiContext;
+
+/**
+ * Unit test of bean can propogate headers in a pipleline
+ */
+public class BeanPipelineTest extends ContextTestSupport {
+
+ public void testBeanInPipeline() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedBodiesReceived("Hello World from James");
+ mock.expectedHeaderReceived("from", "James");
+
+ template.sendBodyAndHeader("direct:input", "Hello World", "from",
"Claus");
+ mock.assertIsSatisfied();
+ }
+
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() throws Exception {
+ from("direct:input").
+ pipeline("bean:foo", "bean:bar?methodName=usingExchange",
"bean:baz").
+ to("mock:result");
+ }
+ };
+ }
+
+ protected Context createJndiContext() throws Exception {
+ JndiContext answer = new JndiContext();
+ answer.bind("foo", new FooBean());
+ answer.bind("bar", new BarBean());
+ answer.bind("baz", new BazBean());
+ return answer;
+ }
+
+ public static class FooBean {
+ public void onlyPlainBody(Object body) {
+ assertEquals("Hello World", body);
+ }
+ }
+
+ public static class BarBean {
+ public void doNotUseMe(String body) {
+ fail("Should not invoce me");
+ }
+
+ public void usingExchange(Exchange exchange) {
+ String body = exchange.getIn().getBody(String.class);
+ assertEquals("Hello World", body);
+ assertEquals("Claus", exchange.getIn().getHeader("from"));
+ exchange.getOut(true).setHeader("from", "James");
+ exchange.getOut().setBody("Hello World from James");
+ }
+ }
+
+ public static class BazBean {
+ public void doNotUseMe(String body) {
+ fail("Should not invoce me");
+ }
+
+ public void withAnnotations(@Headers Map headers, @Body String body) {
+ assertEquals("Hello World from James", body);
+ assertEquals("James", headers.get("from"));
+ }
+ }
+
+}
Propchange:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: activemq/camel/trunk/camel-core/src/test/resources/log4j.properties
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/resources/log4j.properties?rev=663899&r1=663898&r2=663899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/resources/log4j.properties
(original)
+++ activemq/camel/trunk/camel-core/src/test/resources/log4j.properties Fri Jun
6 04:28:28 2008
@@ -21,6 +21,7 @@
log4j.rootLogger=INFO, out
log4j.logger.org.apache.activemq.spring=WARN
+log4j.logger.org.apache.camel=DEBUG
# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender