Author: davsclaus
Date: Fri Oct  2 12:40:50 2009
New Revision: 820990

URL: http://svn.apache.org/viewvc?rev=820990&view=rev
Log:
MR-187: Added more unit tests.

Added:
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskAsPropertyTest.java
      - copied, changed from r820639, 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskIfReplyExpectedTest.java
Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/RuntimeBeanExpressionException.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/log/LogFormatterTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/HeaderTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/PropertyTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/XPathTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
 Fri Oct  2 12:40:50 2009
@@ -51,10 +51,6 @@
         return "BeanExpression[bean:" + (bean == null ? beanName : bean) + " 
method: " + method + "]";
     }
 
-    protected String assertionFailureMessage(Exchange exchange) {
-        return "bean: " + beanName + " method: " + method;
-    }
-
     public Object evaluate(Exchange exchange) {
         // either use registry lookup or a constant bean
         BeanHolder holder;
@@ -92,6 +88,4 @@
         return ObjectHelper.evaluateValuePredicate(value);
     }
 
-    public void assertMatches(String text, Exchange exchange) throws 
AssertionError {
-    }
 }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/RuntimeBeanExpressionException.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/RuntimeBeanExpressionException.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/RuntimeBeanExpressionException.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/bean/RuntimeBeanExpressionException.java
 Fri Oct  2 12:40:50 2009
@@ -26,18 +26,18 @@
  */
 public class RuntimeBeanExpressionException extends RuntimeExpressionException 
{
     private final Exchange exchange;
-    private final String bean;
+    private final String beanName;
     private final String method;
 
-    public RuntimeBeanExpressionException(Exchange exchange, String bean, 
String method, Throwable e) {
-        super("Failed to invoke method: " + method + " on " + bean + " due to: 
" + e, e);
+    public RuntimeBeanExpressionException(Exchange exchange, String beanName, 
String method, Throwable e) {
+        super("Failed to invoke method: " + method + " on " + beanName + " due 
to: " + e, e);
         this.exchange = exchange;
-        this.bean = bean;
+        this.beanName = beanName;
         this.method = method;
     }
 
-    public String getBean() {
-        return bean;
+    public String getBeanName() {
+        return beanName;
     }
 
     public Exchange getExchange() {

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/log/LogFormatterTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/log/LogFormatterTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/log/LogFormatterTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/log/LogFormatterTest.java
 Fri Oct  2 12:40:50 2009
@@ -37,6 +37,9 @@
         template.sendBody("log:org.apache.camel.TEST?showBodyType=true", 
"Hello World");
         template.sendBody("log:org.apache.camel.TEST?showBody=true", "Hello 
World");
         template.sendBody("log:org.apache.camel.TEST?showOut=true", "Hello 
World");
+        
template.sendBody("log:org.apache.camel.TEST?showOut=true&showHeaders=true", 
"Hello World");
+        
template.sendBody("log:org.apache.camel.TEST?showOut=true&showBodyType=true", 
"Hello World");
+        
template.sendBody("log:org.apache.camel.TEST?showOut=true&showBody=true", 
"Hello World");
         template.sendBody("log:org.apache.camel.TEST?showAll=true", "Hello 
World");
     }
 
@@ -104,6 +107,18 @@
         producer.stop();
     }
 
+    public void testSendCaughtExchangeWithExceptionAndMultiline() throws 
Exception {
+        Endpoint endpoint = 
resolveMandatoryEndpoint("log:org.apache.camel.TEST?showCaughtException=true&multiline=true");
+        Exchange exchange = endpoint.createExchange();
+        exchange.getIn().setBody("Hello World");
+        exchange.setProperty(Exchange.EXCEPTION_CAUGHT, new 
IllegalArgumentException("I am caught"));
+
+        Producer producer = endpoint.createProducer();
+        producer.start();
+        producer.process(exchange);
+        producer.stop();
+    }
+
     public void testSendExchangeWithExceptionAndStackTrace() throws Exception {
         Endpoint endpoint = 
resolveMandatoryEndpoint("log:org.apache.camel.TEST?showException=true&showStackTrace=true");
         Exchange exchange = endpoint.createExchange();
@@ -128,4 +143,21 @@
         producer.stop();
     }
 
+    public void testConfiguration() {
+        LogFormatter formatter = new LogFormatter();
+
+        assertFalse(formatter.isShowExchangeId());
+        assertFalse(formatter.isShowProperties());
+        assertFalse(formatter.isShowHeaders());
+        assertTrue(formatter.isShowBodyType());
+        assertTrue(formatter.isShowBody());
+        assertFalse(formatter.isShowOut());
+        assertFalse(formatter.isShowException());
+        assertFalse(formatter.isShowCaughtException());
+        assertFalse(formatter.isShowStackTrace());
+        assertFalse(formatter.isShowAll());
+        assertFalse(formatter.isMultiline());
+        assertEquals(0, formatter.getMaxChars());
+    }
+
 }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
 Fri Oct  2 12:40:50 2009
@@ -81,6 +81,8 @@
     public void testSedaEndpointSetQueue() throws Exception {
         SedaEndpoint seda = new SedaEndpoint();
         assertNotNull(seda);
+        assertNotNull(seda.getQueue());
+        // overwrite with a new queue
         seda.setQueue(new ArrayBlockingQueue<Exchange>(1000));
         seda.setConcurrentConsumers(2);
 
@@ -102,4 +104,17 @@
 
         assertEquals(0, seda.getExchanges().size());
     }
+
+    public void testSedaConsumer() throws Exception {
+        SedaEndpoint seda = context.getEndpoint("seda://foo", 
SedaEndpoint.class);
+        Consumer consumer = (SedaConsumer) seda.createConsumer(new Processor() 
{
+            public void process(Exchange exchange) throws Exception {
+                // do nothing
+            }
+        });
+
+        assertSame(seda, consumer.getEndpoint());
+        assertNotNull(consumer.toString());
+    }
+
 }

Copied: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskAsPropertyTest.java
 (from r820639, 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskIfReplyExpectedTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskAsPropertyTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskAsPropertyTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskIfReplyExpectedTest.java&r1=820639&r2=820990&rev=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskIfReplyExpectedTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaWaitForTaskAsPropertyTest.java
 Fri Oct  2 12:40:50 2009
@@ -20,18 +20,25 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
+import org.apache.camel.WaitForTaskToComplete;
 import org.apache.camel.builder.RouteBuilder;
 
 /**
  * @version $Revision$
  */
-public class SedaWaitForTaskIfReplyExpectedTest extends ContextTestSupport {
+public class SedaWaitForTaskAsPropertyTest extends ContextTestSupport {
 
     public void testInOut() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
 
-        String out = template.requestBody("direct:start", "Hello World", 
String.class);
-        assertEquals("Bye World", out);
+        Exchange out = template.send("direct:start", new Processor() {
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("Hello World");
+                exchange.setPattern(ExchangePattern.InOut);
+                exchange.setProperty(Exchange.ASYNC_WAIT, 
WaitForTaskToComplete.IfReplyExpected);
+            }
+        });
+        assertEquals("Bye World", out.getOut().getBody());
 
         assertMockEndpointsSatisfied();
     }
@@ -43,6 +50,7 @@
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setBody("Hello World");
                 exchange.setPattern(ExchangePattern.InOnly);
+                exchange.setProperty(Exchange.ASYNC_WAIT, 
WaitForTaskToComplete.IfReplyExpected);
             }
         });
         // we do not expecy a reply and thus do no wait so we just get our own 
input back
@@ -57,9 +65,9 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                
from("direct:start").to("seda:foo?waitForTaskToComplete=IfReplyExpected");
+                from("direct:start").to("seda:foo");
 
-                
from("seda:foo?waitForTaskToComplete=IfReplyExpected").transform(constant("Bye 
World")).to("mock:result");
+                from("seda:foo").transform(constant("Bye 
World")).to("mock:result");
             }
         };
     }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java 
(original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java 
Fri Oct  2 12:40:50 2009
@@ -24,6 +24,7 @@
 import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.Message;
 import org.apache.camel.language.bean.BeanLanguage;
+import org.apache.camel.language.bean.RuntimeBeanExpressionException;
 
 /**
  * @version $Revision$
@@ -65,6 +66,34 @@
         assertEquals("Hello Claus", result);
     }
 
+    public void testNoMethod() throws Exception {
+        MyUser user = new MyUser();
+        Expression exp = BeanLanguage.bean(user, "unknown");
+
+        Exchange exchange = createExchangeWithBody("Claus");
+
+        try {
+            exp.evaluate(exchange, Object.class);
+        } catch (RuntimeBeanExpressionException e) {
+            assertNull(e.getBeanName());
+            assertSame(exchange, e.getExchange());
+            assertEquals("unknown", e.getMethod());
+        }
+    }
+
+    public void testNoMethodBeanLookup() throws Exception {
+        Expression exp = BeanLanguage.bean("foo.cake");
+        Exchange exchange = createExchangeWithBody("Claus");
+
+        try {
+            exp.evaluate(exchange, Object.class);
+        } catch (RuntimeBeanExpressionException e) {
+            assertEquals("foo", e.getBeanName());
+            assertSame(exchange, e.getExchange());
+            assertEquals("cake", e.getMethod());
+        }
+    }
+
     protected String getLanguageName() {
         return "bean";
     }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/HeaderTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/HeaderTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/HeaderTest.java 
(original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/HeaderTest.java 
Fri Oct  2 12:40:50 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.language;
 
 import org.apache.camel.LanguageTestSupport;
+import org.apache.camel.language.header.HeaderLanguage;
 
 public class HeaderTest extends LanguageTestSupport {
 
@@ -28,6 +29,11 @@
         assertPredicate("foo");
     }
 
+    public void testSingleton() {
+        HeaderLanguage prop = new HeaderLanguage();
+        assertTrue(prop.isSingleton());
+    }
+
     protected String getLanguageName() {
         return "header";
     }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/PropertyTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/PropertyTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/PropertyTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/PropertyTest.java
 Fri Oct  2 12:40:50 2009
@@ -18,6 +18,7 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.LanguageTestSupport;
+import org.apache.camel.language.property.PropertyLanguage;
 
 public class PropertyTest extends LanguageTestSupport {
 
@@ -33,6 +34,11 @@
         return "property";
     }
 
+    public void testSingleton() {
+        PropertyLanguage prop = new PropertyLanguage();
+        assertTrue(prop.isSingleton());
+    }
+
     @Override
     protected void populateExchange(Exchange exchange) {
         super.populateExchange(exchange);

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java 
(original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java 
Fri Oct  2 12:40:50 2009
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.language;
 
+import java.util.Date;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
 import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.language.simple.SimpleLanguage;
@@ -34,7 +38,42 @@
         assertExpression("body", "<hello id='m123'>world!</hello>");
         assertExpression("in.body", "<hello id='m123'>world!</hello>");
         assertExpression("in.header.foo", "abc");
+        assertExpression("in.headers.foo", "abc");
         assertExpression("header.foo", "abc");
+        assertExpression("headers.foo", "abc");
+    }
+
+    public void testSimpleOutExpressions() throws Exception {
+        exchange.getOut().setBody("Bye World");
+        exchange.getOut().setHeader("quote", "Camel rocks");
+        assertExpression("out.body", "Bye World");
+        assertExpression("out.header.quote", "Camel rocks");
+        assertExpression("out.headers.quote", "Camel rocks");
+    }
+
+    public void testSimplePropertyExpressions() throws Exception {
+        exchange.setProperty("medal", "gold");
+        assertExpression("property.medal", "gold");
+    }
+
+    public void testSimpleSystemPropertyExpressions() throws Exception {
+        System.setProperty("who", "I was here");
+        assertExpression("sys.who", "I was here");
+    }
+
+    public void testDateExpressions() throws Exception {
+        Calendar cal = GregorianCalendar.getInstance();
+        cal.set(1974, Calendar.APRIL, 20);
+        exchange.getIn().setHeader("birthday", cal.getTime());
+
+        assertExpression("date:header.birthday:yyyyMMdd", "19740420");
+
+        try {
+            assertExpression("date:yyyyMMdd", "19740420");
+            fail("Should thrown an exception");
+        } catch (ExpressionIllegalSyntaxException e) {
+            // expected
+        }
     }
 
     public void testLanguagesInContext() throws Exception {

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/XPathTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/XPathTest.java?rev=820990&r1=820989&r2=820990&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/XPathTest.java 
(original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/XPathTest.java 
Fri Oct  2 12:40:50 2009
@@ -53,6 +53,7 @@
     protected Language assertResolveLanguage(String languageName) {
         XPathLanguage answer = new XPathLanguage();
         answer.setResultType(XPathConstants.STRING);
+        assertEquals(XPathConstants.STRING, answer.getResultType());
         return answer;
     }
 }


Reply via email to