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>hans.hansen@domain.xx</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. |