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>
>>> 
>> 
> 

Reply via email to