Skip to content
This repository has been archived by the owner on Jul 14, 2022. It is now read-only.

Decoupling functionality to make unit testing easier in the future #13

Merged
merged 8 commits into from
Feb 16, 2020

Conversation

gbmor
Copy link
Contributor

@gbmor gbmor commented Feb 16, 2020

Separating CLI IO from the functions that perform requests. This will make it easier to write/run unit tests later, since the output of the HTTP request functions can be examined directly and the only function printing to the screen is main(). I also noticed Basic put|patch|delete|post were the same function but with a single string parameter changed, so I just combined them into a single function: basic.go::BasicRequestWithBody(cli *cli.Context, method string) where method is one of PUT|PATCH|DELETE|POST

I'm fairly confident that nothing broke, but please test it on your own. Next, unit tests will be much easier to write.

@athul
Copy link
Contributor

athul commented Feb 16, 2020

The different files for the post to delete operations were intentional. At first I thought that this might improve the "contributability" factor, but later I understood that, this was a huge blunder but I was lazy enought to not refactor 🤪🤪🤪.

I was thinking about the tests and looked more into it. As still a noob in Go, I found tests intimidating.

Will check more into this and I was thinking of updating the readme. Since today is Sunday here, and my hands are tied up a bit. So will update everything as soon as I'm free😀😀😀.

I'm sorry for making this one slow 😢😢

Copy link
Contributor

@athul athul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@athul athul merged commit 60e6580 into master Feb 16, 2020
athul added a commit that referenced this pull request Feb 16, 2020
…#13)

* decoupled basic http methods from cli io
passing output up to the caller to print to the screen.
this will allow easier testing in the future.

* uber-go/multierr dependency

* decoupled send.go funcs from cli io, cleaned up request()

* single location for http.Client
this will allow things like timeouts to be configured by the user later

* formatting mostly

* combined basic post|put|patch|delete into a single function

* basic test for getHTTPClient

* 📝Updated Readme and ran go mod tidy

Co-authored-by: Athul Cyriac Ajay <athul8720@gmail.com>
@athul athul deleted the decoupling branch September 3, 2020 05:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants