Repository: camel Updated Branches: refs/heads/camel-2.13.x 093192f8f -> ea72d434d
CAMEL-7450 Added an unit test based on ccancellieri's patch Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ea72d434 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ea72d434 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ea72d434 Branch: refs/heads/camel-2.13.x Commit: ea72d434d321f67b01e82832d3e6c7affdc5b4eb Parents: 093192f Author: Willem Jiang <willem.ji...@gmail.com> Authored: Mon May 26 20:44:27 2014 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Mon May 26 21:39:19 2014 +0800 ---------------------------------------------------------------------- .../dataformat/csv/CsvUnmarshalMapLineTest.java | 24 ++++++++++++++++++-- .../CsvUnmarshalMapLineSpringTest-context.xml | 24 +++++++++++++++++++- 2 files changed, 45 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/ea72d434/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineTest.java ---------------------------------------------------------------------- diff --git a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineTest.java b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineTest.java index 567f48e..955a39f 100644 --- a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineTest.java +++ b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineTest.java @@ -68,11 +68,11 @@ public class CsvUnmarshalMapLineTest extends CamelSpringTestSupport { @SuppressWarnings("unchecked") @Test - public void testCsvSkipFirstLineUnMarshal() throws Exception { + public void testCsvSkipFirstLineWithHeaderUnMarshal() throws Exception { result.expectedMessageCount(1); // the first line contains the column names which we intend to skip - template.sendBody("direct:skipFirstline", "Camel CSV test\nOrderId|Item|Amount\n123|Camel in Action|1\n124|ActiveMQ in Action|2"); + template.sendBody("direct:start2", "Camel CSV test\nOrderId|Item|Amount\n123|Camel in Action|1\n124|ActiveMQ in Action|2"); assertMockEndpointsSatisfied(); @@ -85,6 +85,26 @@ public class CsvUnmarshalMapLineTest extends CamelSpringTestSupport { assertEquals("ActiveMQ in Action", body.get(1).get("Item")); assertEquals("2", body.get(1).get("Amount")); } + + @SuppressWarnings("unchecked") + @Test + public void testCsvSkipFirstLineWithoutHeaderUnMarshalWithoutHeader() throws Exception { + result.expectedMessageCount(1); + + // the first line contains the column names which we intend to skip + template.sendBody("direct:start3", "123|Camel in Action|1\n124|ActiveMQ in Action|2"); + + assertMockEndpointsSatisfied(); + + List<Map<String, String>> body = result.getReceivedExchanges().get(0).getIn().getBody(List.class); + assertEquals(2, body.size()); + assertEquals("123", body.get(0).get("MyOrderId")); + assertEquals("Camel in Action", body.get(0).get("MyItem")); + assertEquals("1", body.get(0).get("MyAmount")); + assertEquals("124", body.get(1).get("MyOrderId")); + assertEquals("ActiveMQ in Action", body.get(1).get("MyItem")); + assertEquals("2", body.get(1).get("MyAmount")); + } @Override protected ClassPathXmlApplicationContext createApplicationContext() { http://git-wip-us.apache.org/repos/asf/camel/blob/ea72d434/components/camel-csv/src/test/resources/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineSpringTest-context.xml ---------------------------------------------------------------------- diff --git a/components/camel-csv/src/test/resources/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineSpringTest-context.xml b/components/camel-csv/src/test/resources/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineSpringTest-context.xml index fe0cf7f..1d6ce1c 100644 --- a/components/camel-csv/src/test/resources/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineSpringTest-context.xml +++ b/components/camel-csv/src/test/resources/org/apache/camel/dataformat/csv/CsvUnmarshalMapLineSpringTest-context.xml @@ -29,11 +29,33 @@ <to uri="mock:result" /> </route> <route> - <from uri="direct:skipFirstline" /> + <from uri="direct:start2" /> <unmarshal> <csv delimiter="|" useMaps="true" skipFirstLine="true"/> </unmarshal> <to uri="mock:result" /> </route> + <route> + <from uri="direct:start3" /> + <unmarshal> + <csv delimiter="|" useMaps="true" configRef="csvConfig" /> + </unmarshal> + <to uri="mock:result" /> + </route> </camelContext> + <bean id="csvConfig" class="org.apache.commons.csv.writer.CSVConfig"> + <property name="fields"> + <list> + <bean class="org.apache.commons.csv.writer.CSVField"> + <property name="name" value="MyOrderId" /> + </bean> + <bean class="org.apache.commons.csv.writer.CSVField"> + <property name="name" value="MyItem" /> + </bean> + <bean class="org.apache.commons.csv.writer.CSVField"> + <property name="name" value="MyAmount" /> + </bean> + </list> + </property> + </bean> </beans>