So far this is a new test and I'm not removing any old tests (yet). Eventually I'd like to replace all of the (cached)SqlEntityProcessor tests with one like this. The point here is to make the tests more realistic, make the tests easier to read and understand and to eliminate the need to pollute the class api for the sake of the tests (just scan the code for comments like "this constructor is for tests only" and for null-checks that are only needed to make tests run, etc).
I think the bug found in
SOLR-3360 had to do with the multi-threaded feature that only exists in 3.x and was removed from Trunk. Whenever we get to a point where we can reintroduce multi-threading to DIH we'll need to be sure all the various scenarios get tested.
In the end if our tests mimic closely what an actual user is doing, that is, run DIH against realistic datasources using actual DIH configurations, etc, I think we'll have more realistic testing and we can catch the real bugs that are actually affecting the usability of the product. You had a good point in the past about some unrealistic features in MockDataSource. Personally I never liked using that class to write tests because I found it cumbersome. I think its going to be more "enjoyable" to write tests using a real database.