You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2013/01/21 15:48:25 UTC

svn commit: r1436384 - in /camel/trunk/camel-core/src/test/java/org/apache/camel: impl/DefaultCamelContextTest.java issues/ExceptionTest.java language/BeanTest.java

Author: bvahdat
Date: Mon Jan 21 14:48:24 2013
New Revision: 1436384

URL: http://svn.apache.org/viewvc?rev=1436384&view=rev
Log:
CAMEL-5983: Avoid the negative-tests to behave as false-positive.

Modified:
    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/language/BeanTest.java

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java?rev=1436384&r1=1436383&r2=1436384&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java Mon Jan 21 14:48:24 2013
@@ -221,8 +221,7 @@ public class DefaultCamelContextTest ext
         assertEquals(1, map.size());
         
         try {
-            Endpoint endpoint = ctx.hasEndpoint(null);
-            assertNull("Should not have endpoint", endpoint);
+            ctx.hasEndpoint(null);
             fail("Should have thrown exception");
         } catch (ResolveEndpointFailedException e) {
             // expected

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java?rev=1436384&r1=1436383&r2=1436384&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java Mon Jan 21 14:48:24 2013
@@ -28,28 +28,35 @@ import org.apache.camel.component.mock.M
 public class ExceptionTest extends ContextTestSupport {
 
     public void testExceptionWithoutHandler() throws Exception {
+        MockEndpoint errorEndpoint = getMockEndpoint("mock:error");
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
+        MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
 
+        errorEndpoint.expectedMessageCount(1);
         resultEndpoint.expectedMessageCount(0);
+        exceptionEndpoint.expectedMessageCount(0);
 
-        try {
-            template.sendBody("direct:start", "<body/>");
-        } catch (Exception e) {
-            // expected
-        }
+        // we don't expect any thrown exception here as there's no onException clause defined for this test
+        // so that the general purpose dead letter channel will come into the play here and then when all
+        // the attempts of redelivery fail the exchange will be moved to "mock:error" and then from the client
+        // point of view the exchange is completed.
+        template.requestBody("direct:start", "<body/>");
 
         assertMockEndpointsSatisfied();
     }
 
     public void testExceptionWithHandler() throws Exception {
+        MockEndpoint errorEndpoint = getMockEndpoint("mock:error");
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
         MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
 
+        errorEndpoint.expectedMessageCount(0);
         exceptionEndpoint.expectedMessageCount(1);
         resultEndpoint.expectedMessageCount(0);
 
         try {
             template.sendBody("direct:start", "<body/>");
+            fail("Should have thrown exception");
         } catch (Exception e) {
             // expected
         }
@@ -58,14 +65,17 @@ public class ExceptionTest extends Conte
     }
 
     public void testExceptionWithLongHandler() throws Exception {
+        MockEndpoint errorEndpoint = getMockEndpoint("mock:error");
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
         MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
 
+        errorEndpoint.expectedMessageCount(0);
         exceptionEndpoint.expectedBodiesReceived("<handled/>");
         resultEndpoint.expectedMessageCount(0);
 
         try {
             template.sendBody("direct:start", "<body/>");
+            fail("Should have thrown exception");
         } catch (Exception e) {
             // expected
         }
@@ -74,14 +84,17 @@ public class ExceptionTest extends Conte
     }
 
     public void testLongRouteWithHandler() throws Exception {
+        MockEndpoint errorEndpoint = getMockEndpoint("mock:error");
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
         MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
 
+        errorEndpoint.expectedMessageCount(0);
         exceptionEndpoint.expectedMessageCount(1);
         resultEndpoint.expectedMessageCount(0);
 
         try {
             template.sendBody("direct:start2", "<body/>");
+            fail("Should have thrown exception");
         } catch (Exception e) {
             // expected
         }

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=1436384&r1=1436383&r2=1436384&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 Mon Jan 21 14:48:24 2013
@@ -23,8 +23,8 @@ import org.apache.camel.Expression;
 import org.apache.camel.Header;
 import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.Message;
+import org.apache.camel.component.bean.MethodNotFoundException;
 import org.apache.camel.language.bean.BeanLanguage;
-import org.apache.camel.language.bean.RuntimeBeanExpressionException;
 
 /**
  * @version 
@@ -69,29 +69,22 @@ public class BeanTest extends LanguageTe
     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());
-        }
+        exp.evaluate(exchange, Object.class);
+        MethodNotFoundException e = assertIsInstanceOf(MethodNotFoundException.class, exchange.getException());
+        assertSame(user, e.getBean());
+        assertEquals("unknown", e.getMethodName());
     }
 
     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());
-        }
+        exp.evaluate(exchange, Object.class);
+        MethodNotFoundException e = assertIsInstanceOf(MethodNotFoundException.class, exchange.getException());
+        assertSame(context.getRegistry().lookup("foo"), e.getBean());
+        assertEquals("cake", e.getMethodName());
     }
 
     protected String getLanguageName() {