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.
Description
This is a WIP and example of how we may want to structure a jujuclient wrapper. We need a way to mock the clients and I tried my best thinking of sensible solution such as... NewClient(...options) or Client.WithController(a).WithController(b).
In the end, it felt almost inevitable to return the interfaces.
Next, I thought about generating the interfaces, and had a lot of success
But then it occured to me this may appear confusing in the long run as to what methods are actually used within JIMM. I ultimately thought having the interfaces split, but only contain what JIMM actively requires was best.
Overall, let me know what you think on this approach and if good enough - let's try replace the Dialer.