Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, we used
mockery
to generate the mock service implementations that we use in our command tests. This PR removesmockery
in favour ofgomock
. There are several reasons we want to do this,gomock
is actively maintained by the Go team, whilemockery
appears to be abandoned.gomock
supports Go modules, whilemockery
does not. This allows to include gomock'smockgen
tool in our vendor folder via Go modules, which in turn lets us build the binary from the local vendor folder on each invocation of thescripts/regenmocks.sh
script. To put it more simply, this lets us runmockgen
without having to make the user install that binary themselves.gomock
is used elsewhere at DO, so the switch is nice for consistency's sake.