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

Reply via email to