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

Comments

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

Merged
athul merged 8 commits intomasterfrom
decoupling
Feb 16, 2020
Merged

Decoupling functionality to make unit testing easier in the future#13
athul merged 8 commits intomasterfrom
decoupling

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 <[email protected]>
@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