as already done for the KStreamPrintTest we could remove the usage of KStreamTestDriver even in the KStreamPeekTest and testing it at processor level not at stream level.
My proposal is to :
- create the KStreamPeek instance providing the action which fill a collection as already happens today
- testing for both forwardDownStream values true and false
- using the MockProcessorContext class for overriding the forward method filling a streamObserved collection as happens today forwardDownStream is true; checking that the forward isn't called when forwardDownStream is false (so the test fails)