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>