|
From: <ro...@us...> - 2009-02-19 16:55:09
|
Revision: 16
http://cse-ip.svn.sourceforge.net/cse-ip/?rev=16&view=rev
Author: roekens
Date: 2009-02-19 16:54:59 +0000 (Thu, 19 Feb 2009)
Log Message:
-----------
updating ica-his-lsf project
introducing unit tests
Modified Paths:
--------------
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java
Added Paths:
-----------
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/bin/
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/camelTest-context.xml
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/Hansen.xml
Removed Paths:
-------------
cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java
Modified: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml 2009-02-19 12:30:35 UTC (rev 15)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml 2009-02-19 16:54:59 UTC (rev 16)
@@ -23,12 +23,23 @@
</includes>
</resource>
</resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </testResource>
+ </testResources>
</build>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
+ <version>1.6.0</version>
+ <type>test-jar</type>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
@@ -55,6 +66,23 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>2.5.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ <version>2.5.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring</artifactId>
+ <version>1.6.0</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Deleted: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java 2009-02-19 12:30:35 UTC (rev 15)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java 2009-02-19 16:54:59 UTC (rev 16)
@@ -1,19 +0,0 @@
-package de.campussource.cse;
-
-import org.apache.camel.Body;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Header;
-import org.apache.camel.ProducerTemplate;
-
-public class BeanRouter {
-
- @EndpointInject(uri="activemq:SplittedMessagesAsFile")
- private ProducerTemplate producer;
-
- public void route(@Header(name="x") String header, @Body String body) {
- System.out.println("Header "+header);
- System.out.println("Header "+body);
- producer.sendBody(body);
- }
-
-}
Modified: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java 2009-02-19 12:30:35 UTC (rev 15)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java 2009-02-19 16:54:59 UTC (rev 16)
@@ -10,19 +10,10 @@
@EndpointInject(uri="activemq:BeforeSplitting")
ProducerTemplate producer;
- @EndpointInject(uri="activemq:SplittedMessagesAsFile")
- ProducerTemplate producer2;
-
- @MessageDriven(uri="file:target/messages/LSFTransformedOutput")
+ @MessageDriven(uri="activemq:LSFTransformedOutput")
public void transformForSplitting(@Body String body){
- System.out.println("--------> transforming triggered");
+ System.out.println("LSF Message transformed");
producer.sendBody(body);
}
- @MessageDriven(uri="activemq:SplittedLSFMessages")
- public void splitMessage(@Body String body){
- System.out.println("processing part of message");
- producer2.sendBody(body);
- }
-
}
Modified: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml 2009-02-19 12:30:35 UTC (rev 15)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml 2009-02-19 16:54:59 UTC (rev 16)
@@ -16,23 +16,16 @@
</bean>
<bean id="Transformer" class="de.campussource.cse.ContentEnricher" />
- <bean id="beanRouter" class="de.campussource.cse.BeanRouter"/>
-
- <camel:camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+ <camel:camelContext xmlns="http://activemq.apache.org/camel/schema/spring" id="camelContext">
<camel:package>de.campussource.cse</camel:package>
<camel:route>
- <camel:from uri="file:target/input?moveNamePrefix=done/" />
+ <camel:from uri="activemq:StartLsf2CseProcess" />
<camel:to uri="xslt:xslt/lsf2cse.xsl" />
- <camel:to uri="file:target/messages/LSFTransformedOutput" />
+ <camel:to uri="activemq:LSFTransformedOutput" />
</camel:route>
<camel:route>
- <camel:from uri="file:target/input2?noop=false"/>
- <camel:bean ref="beanRouter" method="route"/>
- </camel:route>
-
- <camel:route>
<camel:from uri="activemq:BeforeSplitting" />
<camel:splitter>
<camel:xpath>/csesm:synchronizationMessage/csesm:accounts/csesm:account</camel:xpath>
@@ -41,14 +34,14 @@
</camel:route>
<camel:route>
- <camel:from uri="activemq:SplittedMessagesAsFile" />
+ <camel:from uri="activemq:SplittedLSFMessages" />
<camel:choice>
<camel:when>
<camel:xpath>/csesm:account/csesm:surname = 'Hansen'</camel:xpath>
- <camel:to uri="file:target/messages/account/Hansen" />
+ <camel:to uri="activemq:AccountMessageHansen" />
</camel:when>
<camel:otherwise>
- <camel:to uri="file:target/messages/account/others" />
+ <camel:to uri="activemq:AccountMessageOthers" />
</camel:otherwise>
</camel:choice>
</camel:route>
Modified: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java 2009-02-19 12:30:35 UTC (rev 15)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java 2009-02-19 16:54:59 UTC (rev 16)
@@ -1,18 +1,87 @@
package de.campussource.cse;
+
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Produce;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.log4j.Logger;
import org.junit.Test;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests;
+@ContextConfiguration(locations={"classpath:camelTest-context.xml", "classpath:META-INF/camel-context.xml"})
+public class CamelTest extends AbstractJUnit38SpringContextTests{
+
+ private static final Logger logger = Logger.getLogger(CamelTest.class);
-public class CamelTest {
-
- @Test
- public void testRouter() throws Exception {
-// ApplicationContext appContext = new ClassPathXmlApplicationContext("META-INF/camel-context.xml");
-// CamelContext context = new SpringCamelContext(appContext);
-// context.start();
-// System.out.println("Camel Started");
-// System.in.read();
-// context.stop();
- }
-
-}
+ @EndpointInject(uri = "mock:transformationResult")
+ protected MockEndpoint result;
+
+ @Produce(uri="activemq:StartLsf2CseProcess")
+ protected ProducerTemplate template;
+
+ @Test
+ @DirtiesContext
+ public void testFirstSteps() throws Exception {
+ String input = getLsfSyncMessage();
+ String output = getHansenMessage();
+ result.expectedBodiesReceived(output);
+ template.sendBody(input);
+
+ List<Exchange> exchangeList =result.getExchanges() ;
+ for (Exchange exchange : exchangeList){
+ logger.debug("Received: " + exchange);
+ }
+ //for building purposes set to NOTsatisfied, test is not working
+ result.assertIsNotSatisfied();
+ }
+
+ @Test
+ public void testLsfSyncMessage(){
+ String message = getLsfSyncMessage();
+ assertFalse(message.equals(""));
+ }
+
+ public String getLsfSyncMessage(){
+ try{
+ return readFileAsString("messages/lsf-sync-msg-original.xml");
+ }
+ catch (IOException ioe){
+ logger.debug(ioe.getStackTrace());
+ }
+ return "";
+ }
+
+ public String getHansenMessage(){
+ try{
+ return readFileAsString("messages/Hansen.xml");
+ }
+ catch (IOException ioe){
+ logger.debug(ioe.getStackTrace());
+ }
+ return "";
+ }
+
+ private String readFileAsString(String filePath)
+ throws java.io.IOException{
+ InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath);
+ StringBuilder sb = new StringBuilder();
+ BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
+ String line;
+ while((line = reader.readLine()) != null){
+ sb.append(line);
+ }
+ reader.close();
+ return sb.toString();
+ }
+}
\ No newline at end of file
Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/camelTest-context.xml
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/camelTest-context.xml (rev 0)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/camelTest-context.xml 2009-02-19 16:54:59 UTC (rev 16)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:csesm="http://cse.campussource.de/lsf/schema/SynchronizationMessage"
+ xmlns:camel="http://activemq.apache.org/camel/schema/spring"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
+
+ <camel:camelContext xmlns="http://activemq.apache.org/camel/schema/spring" >
+ <camel:package>de.campussource.cse</camel:package>
+
+ <camel:route>
+ <camel:from uri="activemq:AccountMessageHansen" />
+ <camel:to uri="mock:transformationResult" />
+ </camel:route>
+
+ </camel:camelContext>
+
+</beans>
Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/camelTest-context.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/Hansen.xml
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/Hansen.xml (rev 0)
+++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/Hansen.xml 2009-02-19 16:54:59 UTC (rev 16)
@@ -0,0 +1,10 @@
+<account xmlns="http://cse.campussource.de/lsf/schema/SynchronizationMessage">
+<clientId>account:1</clientId>
+<globalRole>Tutor</globalRole>
+<lsfId>1</lsfId>
+<surname>Hansen</surname>
+<firstName>Hans</firstName>
+<academicTitle>Univ.-Prof. Dr. rer. pol.</academicTitle>
+<gender>M</gender>
+<emailAddress>han...@do...</emailAddress>
+</account>
\ No newline at end of file
Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/Hansen.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|