I believe this custom mock is starting to reach the point of complexity and custom logic where simply using gomock and explicitly mocking each function call and return values within each test case yields clearer and easer to understand tests.
I'm not gonna push for this to be changed to gomock right now, as it's already here and works well, but I think if we come back to it in the future and need to further expand it with more custom logic and state, a refactor to gomock would be a good idea.
Originally posted by @jimeh in #17 (comment)