Thank you for the quick fix - I’m building 2.17-SNAPSHOT now so I can work with 
this some more.

I agree completely on the first case.  I actually assumed that’s what would 
happen for some reason.  Is the component currently limited to one message per 
file?

I hadn’t thought about the second - my routes are almost always order-dependent 
(i.e. FIFO), so I normally wouldn’t use that one.


> On Mar 10, 2016, at 9:13 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> 
> One use case it may be nice would be to allow to use 1 file, but each
> row in the file is a expected message.
> In case you test with 1000s of messages.
> 
> Also maybe being able to specify that the order can be random. I think
> today they are in the order the consumer fetches the messages.
> 
> On Thu, Mar 10, 2016 at 5:06 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>> Hi
>> 
>> I have reproduced your issue and logged a ticket
>> https://issues.apache.org/jira/browse/CAMEL-9696
>> 
>> And also work on improving so those options you pass on the file
>> endpoint are passed on. Today they are dropped.
>> 
>> On Thu, Mar 10, 2016 at 4:56 PM, Quinn Stevenson
>> <qu...@pronoia-solutions.com> wrote:
>>> Claus -
>>> 
>>> Sorry - I missed one part of your comment the first time.
>>> 
>>> For this test, yes - I only expect a single value, and it’s out in a file.  
>>> What I’d like to be able to do is put a bunch of values in that file and 
>>> have the MockEndpoint setup with the correct expected message bodies.
>>> 
>>> I actually expected this test to fail because my test data file has about 
>>> 50 lines in it, so I expected the Mock to fail because the test only sends 
>>> one message.
>>> 
>>> Hopefully that clarifies what I’m after here
>>> 
>>>> On Mar 10, 2016, at 8:50 AM, Quinn Stevenson <qu...@pronoia-solutions.com> 
>>>> wrote:
>>>> 
>>>> Here’s a single Camel test that shows the issue.
>>>> 
>>>> package com.pronoia.camel;
>>>> 
>>>> import org.apache.camel.builder.RouteBuilder;
>>>> import org.apache.camel.test.junit4.CamelTestSupport;
>>>> import org.junit.Test;
>>>> 
>>>> public class JavaTestRouteTest extends CamelTestSupport {
>>>>    @Override
>>>>    protected RouteBuilder createRouteBuilder() throws Exception {
>>>>        return new RouteBuilder() {
>>>>            @Override
>>>>            public void configure() throws Exception {
>>>>                from( "direct://source <direct://source>")
>>>>                    .to( "test:file://data?noop=true" );
>>>>            }
>>>>        };
>>>>    }
>>>> 
>>>>    @Test
>>>>    public void testRoute() throws Exception {
>>>>        template.sendBody( "direct://source <direct://source>", "My Value");
>>>> 
>>>>        assertMockEndpointsSatisfied();
>>>>    }
>>>> 
>>>> }
>>>>> On Mar 10, 2016, at 8:11 AM, Quinn Stevenson <qu...@pronoia-solutions.com 
>>>>> <mailto:qu...@pronoia-solutions.com>> wrote:
>>>>> 
>>>>> Forgot to mention I’m using v2.16.2.
>>>>> 
>>>>> Also, here’s the full blueprint and test class
>>>>> 
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0 
>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>"
>>>>>           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
>>>>> <http://www.w3.org/2001/XMLSchema-instance>"
>>>>>           xmlns:camel="http://camel.apache.org/schema/blueprint 
>>>>> <http://camel.apache.org/schema/blueprint>"
>>>>>           xsi:schemaLocation="
>>>>>         http://www.osgi.org/xmlns/blueprint/v1.0.0 
>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0> 
>>>>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd 
>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>>>>>         http://camel.apache.org/schema/blueprint 
>>>>> <http://camel.apache.org/schema/blueprint> 
>>>>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd 
>>>>> <http://camel.apache.org/schema/blueprint/camel-blueprint.xsd>">
>>>>> 
>>>>>    <camel:routeContext id="test-route-context" 
>>>>> xmlns="http://camel.apache.org/schema/blueprint 
>>>>> <http://camel.apache.org/schema/blueprint>">
>>>>>        <route id="direct-to-test">
>>>>>            <from uri="direct://source <direct://source>"/>
>>>>>            <to uri="test:file://data?noop=true" />
>>>>>        </route>
>>>>>    </camel:routeContext>
>>>>> 
>>>>>    <camel:camelContext id="blueprint-camel-context" 
>>>>> xmlns="http://camel.apache.org/schema/blueprint 
>>>>> <http://camel.apache.org/schema/blueprint>">
>>>>>        <routeContextRef ref="test-route-context"/>
>>>>>    </camel:camelContext>
>>>>> 
>>>>> </blueprint>
>>>>> 
>>>>> 
>>>>> package com.pronoia.camel;
>>>>> 
>>>>> import org.apache.camel.EndpointInject;
>>>>> import org.apache.camel.component.mock.MockEndpoint;
>>>>> import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
>>>>> import org.junit.Before;
>>>>> import org.junit.Test;
>>>>> 
>>>>> public class BlueprintTestRouteTest extends CamelBlueprintTestSupport {
>>>>>    @EndpointInject( uri = "test:file://data?noop=true")
>>>>>    MockEndpoint targetEndpoint;
>>>>> 
>>>>>    @Override
>>>>>    protected String getBlueprintDescriptor() {
>>>>>        return "/OSGI-INF/blueprint/blueprint-test.xml";
>>>>>    }
>>>>> 
>>>>>    @Override
>>>>>    @Before
>>>>>    public void setUp() throws Exception {
>>>>>        super.setUp();
>>>>>        template.setDefaultEndpointUri( "direct://source 
>>>>> <direct://source>");
>>>>>    }
>>>>> 
>>>>>    @Test
>>>>>    public void testRoute() throws Exception {
>>>>>        template.sendBody( "direct://source <direct://source>", "My 
>>>>> Value");
>>>>> 
>>>>>        assertMockEndpointsSatisfied();
>>>>>    }
>>>>> 
>>>>> }
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Mar 10, 2016, at 8:07 AM, Quinn Stevenson 
>>>>>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> wrote:
>>>>>> 
>>>>>> The route is defined in blueprint and I’m running the test using 
>>>>>> CamelBlueprintTestSupport - does that make a difference?
>>>>>> 
>>>>>> 
>>>>>>> On Mar 10, 2016, at 8:04 AM, Claus Ibsen <claus.ib...@gmail.com 
>>>>>>> <mailto:claus.ib...@gmail.com>> wrote:
>>>>>>> 
>>>>>>> Hi
>>>>>>> 
>>>>>>> Ah that test component is never really used. So the idea is that you
>>>>>>> have a file in that directory, that has the value "My Value" which the
>>>>>>> test component will load and compare agains the incoming message.
>>>>>>> 
>>>>>>> But yeah seems like the file -> string conversion somehow fails. You
>>>>>>> just run this from straing junit ? No karaf or blueprint or osgi
>>>>>>> container?
>>>>>>> 
>>>>>>> On Thu, Mar 10, 2016 at 4:01 PM, Quinn Stevenson
>>>>>>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> 
>>>>>>> wrote:
>>>>>>>> I’m trying to get the sample from the documentation for the Test 
>>>>>>>> Component working ( http://camel.apache.org/test.html 
>>>>>>>> <http://camel.apache.org/test.html> <http://camel.apache.org/test.html 
>>>>>>>> <http://camel.apache.org/test.html>> ), but I keep getting a type 
>>>>>>>> conversion error.
>>>>>>>> 
>>>>>>>> Here’s the route definition:
>>>>>>>> <route id="direct-to-test">
>>>>>>>>  <from uri="direct://source <direct://source>"/>
>>>>>>>>  <to uri="test:file://data?noop=true" />
>>>>>>>> </route>
>>>>>>>> 
>>>>>>>> Here’s the test method:
>>>>>>>> @Test
>>>>>>>> public void testRoute() throws Exception {
>>>>>>>>  template.sendBody( "direct://source <direct://source>", "My Value");
>>>>>>>> 
>>>>>>>>  assertMockEndpointsSatisfied();
>>>>>>>> }
>>>>>>>> 
>>>>>>>> Here’s the error:
>>>>>>>> java.lang.AssertionError: test://file://data?noop=true 
>>>>>>>> <test://file//data?noop=true> There is no type conversion possible 
>>>>>>>> from java.lang.String to org.apache.camel.component.file.GenericFile
>>>>>>>> 
>>>>>>>> I can see that Camel is finding the file with the test data because 
>>>>>>>> I’m getting a .camelLock file, but I can’t seem to figure out what I’m 
>>>>>>>> doing wrong
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> -----------------
>>>>>>> http://davsclaus.com <http://davsclaus.com/> @davsclaus
>>>>>>> Camel in Action 2: https://www.manning.com/ibsen2 
>>>>>>> <https://www.manning.com/ibsen2>
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> 
>> 
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to