Hi

Yeah it does. And as long you can turn back the old way its fine. And
such a change in a testing component is much more okay to do than a
component you use for production.

I suggest you work on a patch and then lets see this in action.


On Thu, Mar 10, 2016 at 5:28 PM, Quinn Stevenson
<qu...@pronoia-solutions.com> wrote:
> I could definitely add an option to turn the new behavior on or off, but I’d 
> like to make the new behavior the default if that’s OK.
>
> The reasons for this are:
> - I think the new behavior is more intuitive (but that’s just my opinion - 
> I’d like to hear others)
> - The point of the change was to get rid of a bunch of duplication I have in 
> my tests that are there to make the tests behave the way I think they should 
> - namely sourceDataSet.expectedMessageCount(0) that I have everywhere.  It 
> forces me to grab or inject the dataset into the test and change it.  With 
> the new default, all of that could go away.
>  - The proposed change wouldn’t break existing uses unless they are relying 
> on the test to fail when it’s a source only and they haven’t overridden the 
> expected message count.  The endpoints that are targets would still use the 
> size as the default expected message count, so I don’t think it would break 
> very many tests - and fixing them would be simple.
>
> Does all of that make sense?
>
>> On Mar 10, 2016, at 2:29 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>
>> Hi
>>
>> Yeah sure. Maybe have some option on dataset you can use to turn this
>> on|off so the old behavior can be the default still.
>>
>> On Wed, Mar 9, 2016 at 9:50 PM, Quinn Stevenson
>> <qu...@pronoia-solutions.com> wrote:
>>> I would like to propose changing the current behavior of the DataSet 
>>> component such that the expected message count defaults to zero for 
>>> DataSets used as a source (i.e. DataSetConsumers).
>>>
>>> The reasoning behind this is as follows.
>>>
>>> I use the DataSet component for simple load testing.  When I use a DataSet 
>>> as a source (i.e. from(“dataset://my-dataset <dataset://my-dataset>”) ), 
>>> the assertMockEndpointsSatisfied() always fails because the 
>>> expectedMessageSize is set to the size of the DataSet.  I either have to 
>>> explicitly set the expected message count on the endpoint to zero ( 
>>> getMockEndpoint( “dataset://my-dataset 
>>> <dataset://my-dataset>”).expectedMessageCount( 0 ), or I have to assert all 
>>> of the other mock endpoints individually (i.e not use 
>>> assertMockEndpointsSatisfied() ).
>>>
>>> I rarely use the same dataset as both a source (i.e. from(“dataset://…”) ) 
>>> and a target (i.e. to( “dataset://…”) ), so this behavior doesn’t make much 
>>> sense to me.  Additionally, I can’t use the same DataSet as the source and 
>>> target when the source message count would be different than the target 
>>> message count - which would be the case for a route that does some simple 
>>> filtering, and all I want to assert is the correct number of messages came 
>>> through.
>>>
>>> I’ve figured out a way to do this, and I’d like to create a JIRA task and a 
>>> pull request for this if it sounds like an acceptable change.
>>>
>>>
>>
>>
>>
>> --
>> 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