GitHub user mewwts opened a pull request: https://github.com/apache/kafka/pull/3999
MINOR: Add attributes `processedKeys` and `processedValues` to MockProcessorSupplier This would allow for easier testing of topologies using the following pattern: ```Scala // in Scala val builder = new KStreamBuilder val stream: KStream[K, V] = builder.stream(KSerde, VSerde, topic) val processedStream: KStream[K, VR] =createTopology(stream, builder) val processorSupplier = new MyMockProcessorSupplier[K, VR] processedStream.process(processorSupplier) val streamDriver = new MyKStreamTestDriver(builder, TestUtils.tempDirectory()) streamDriver.setTime(0L) streamDriver.process(topic, somethingK, somethingV) streamDriver.flushState() val results = (processorSupplier.processedKeys zip processorSupplier.processedValues).toMap results(expectedK) should be(expectedVR) ``` Without breaking any existing tests that rely on the `processed` `ArrayList`. Of course it's not as elegant as rewriting the logic here, as we're (almost) duplicating the information in the `processed` array. You can merge this pull request into a Git repository by running: $ git pull https://github.com/mewwts/kafka add-processed-keys-and-values Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/3999.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3999 ---- commit ab8d7071ffbf7231f5bc82265f654616acd8b483 Author: Mats Julian Olsen <m...@plysjbyen.net> Date: 2017-10-02T07:04:21Z Add attributes `processedKeys` and `processedValues` to MockProcessorSupplier. ---- ---