You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/09/23 09:54:17 UTC

svn commit: r1000346 - in /camel/trunk/tests/camel-itest-osgi/src/test: java/org/apache/camel/itest/osgi/spring/event/ resources/org/apache/camel/itest/osgi/spring/event/

Author: davsclaus
Date: Thu Sep 23 07:54:17 2010
New Revision: 1000346

URL: http://svn.apache.org/viewvc?rev=1000346&view=rev
Log:
CAMEL-3126: Added more osgi tests.

Added:
    camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/
    camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/EventRouteTest.java
      - copied, changed from r1000333, camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/validator/ValidatorRouteTest.java
    camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/
    camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/CamelContext.xml
      - copied, changed from r1000333, camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/bean/CamelContext.xml

Copied: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/EventRouteTest.java (from r1000333, camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/validator/ValidatorRouteTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/EventRouteTest.java?p2=camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/EventRouteTest.java&p1=camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/validator/ValidatorRouteTest.java&r1=1000333&r2=1000346&rev=1000346&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/validator/ValidatorRouteTest.java (original)
+++ camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/spring/event/EventRouteTest.java Thu Sep 23 07:54:17 2010
@@ -14,58 +14,51 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.itest.osgi.spring.validator;
+package org.apache.camel.itest.osgi.spring.event;
 
-import org.apache.camel.ValidationException;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.component.event.CamelEvent;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.itest.osgi.OSGiIntegrationSpringTestSupport;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.springframework.context.event.ContextRefreshedEvent;
+import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class ValidatorRouteTest extends OSGiIntegrationTestSupport {
+public class EventRouteTest extends OSGiIntegrationSpringTestSupport {
 
-    @Test
-    public void testValidMessage() throws Exception {
-        getMockEndpoint("mock:valid").expectedMessageCount(1);
-        getMockEndpoint("mock:invalid").expectedMessageCount(0);
-        getMockEndpoint("mock:finally").expectedMessageCount(1);
-
-        template.sendBody("direct:start",
-                "<mail xmlns='http://foo.com/bar'><subject>Hey</subject><body>Hello world!</body></mail>");
+    protected Object expectedBody = "Hello there!";
+    protected String uri = "spring-event:default";
 
-        assertMockEndpointsSatisfied();
+    @Override
+    protected OsgiBundleXmlApplicationContext createApplicationContext() {
+        return new OsgiBundleXmlApplicationContext(new String[]{"org/apache/camel/itest/osgi/spring/event/CamelContext.xml"});
     }
 
     @Test
-    public void testInvalidMessage() throws Exception {
-        getMockEndpoint("mock:valid").expectedMessageCount(0);
-        getMockEndpoint("mock:invalid").expectedMessageCount(1);
-        getMockEndpoint("mock:finally").expectedMessageCount(1);
-
-        template.sendBody("direct:start",
-                "<mail xmlns='http://foo.com/bar'><body>Hello world!</body></mail>");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                    .doTry()
-                        .to("validator:org/apache/camel/itest/osgi/spring/validator/schema.xsd")
-                        .to("mock:valid")
-                    .doCatch(ValidationException.class)
-                        .to("mock:invalid")
-                    .doFinally()
-                        .to("mock:finally")
-                    .end();
-            }
-        };
+    public void testSendingCamelExchangeToEndpointResultsInValidApplicationEventAfterTheRefreshEvent() throws Exception {
+        MockEndpoint result = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+        result.expectedMessageCount(2);
+
+        template.sendBodyAndHeader(uri, expectedBody, "cheese", 123);
+
+        result.assertIsSatisfied();
+
+        // lets test we receive the context refreshed event
+        Exchange exchange = result.getReceivedExchanges().get(0);
+        Object body = exchange.getIn().getBody(ContextRefreshedEvent.class);
+        log.info("Received body: " + body);
+        assertNotNull(body);
+
+        // lets test we receive the camel event
+        exchange = result.getReceivedExchanges().get(1);
+        body = exchange.getIn().getBody();
+        log.info("Received body: " + body);
+        CamelEvent event = assertIsInstanceOf(CamelEvent.class, body);
+        Object actualBody = event.getExchange().getIn().getBody();
+        assertEquals("Received event body", expectedBody, actualBody);
     }
 
 }

Copied: camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/CamelContext.xml (from r1000333, camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/bean/CamelContext.xml)
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/CamelContext.xml?p2=camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/CamelContext.xml&p1=camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/bean/CamelContext.xml&r1=1000333&r2=1000346&rev=1000346&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/bean/CamelContext.xml (original)
+++ camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/spring/event/CamelContext.xml Thu Sep 23 07:54:17 2010
@@ -23,12 +23,9 @@
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
 
-    <bean id="foo" class="org.apache.camel.itest.osgi.core.bean.MyFooBean"/>
-
     <camelContext xmlns="http://camel.apache.org/schema/spring">
         <camel:route>
-            <camel:from uri="direct:start"/>
-            <camel:to uri="bean:foo"/>
+            <camel:from uri="spring-event:default"/>
             <camel:to uri="mock:result"/>
         </camel:route>
     </camelContext>