5 Commits

Author SHA1 Message Date
Tom Wieczorek
ed34fad2e5 Better testify usage (#54)
* Use assert.NoError instead of assert.Nil

This gives nicer error messages.

* Swap arguments to assert.Equal

The expectation comes first. Otherwise, error messages will be
misleading.

An example:

=== RUN   TestDeleteWithIncorrectRepoForDeleteCaches
Error: authentication token not found for host github.com
    delete_test.go:56:
                Error Trace:    /build/source/cmd/delete_test.go:56
                Error:          Should be true
                Test:           TestDeleteWithIncorrectRepoForDeleteCaches
                Messages:       1 unmatched mocks: https://api.github.com/repos/testOrg/testRepo/actions/caches?key=cacheName
    delete_test.go:59:
                Error Trace:    /build/source/cmd/delete_test.go:59
                Error:          Not equal:
                                expected: "authentication token not found for host github.com"
                                actual  : "The given repo does not exist."

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1 +1 @@
                                -authentication token not found for host github.com
                                +The given repo does not exist.
                Test:           TestDeleteWithIncorrectRepoForDeleteCaches
--- FAIL: TestDeleteWithIncorrectRepoForDeleteCaches (0.00s)

* Use assert.Error instead of assert.NotNil

This gives nicer error messages.

* Use assert.ErrorAs and assert.ErrorContains

This simplifies the assertions and potentially gives better error
messages.

* Use require instead of assert and use assert.NotNil as guard

This is to prevent panics in tests, when things get accessed which
shouldn't be nil.
2023-03-11 22:19:00 +05:30
Sankalp Kotewar
8365ebe619 Bugbash fixes and refactoring (#14)
* Completed List cmd and added API calls

* Minor comments and add delete code to pass linting

* Typo in descriptions

* Minor comments

* Validations

* Validations-1

* improved branch flag validation

* removed build

* working after refactory with bad names

* Command working, test not working

* Corrected creation of service

* Finalized structure using service

* Deleted tests

* cleanup

* cleanup

* cleanup

* removed space with tab

* aligned types in model.go

* Update model.go

* resolved comments

* Refactor

* removed long descriptions

* Working incomplete tests

* Completed tests

* cleanup

* checks

* PR comments

* PR comments

* minor comment issue

* minor comment issue

* Added test cases for Delete

* updated tests to work with workflow

* Added missing error condition

* Updated tests to support new option service

* Improved eror handling for list

* Fixed test case

* Improved error handling

* Error handling and test cases for delete API calls

* Added test case for user confirmation delete.

* Removed unused import from test

* Fixed test case for error scenario

* Upgraded go-gh

* reusing rest client error

* Fix for failing windows test cases

* help cmd removed when cache isnt present on delete

* Pretty print ratio and space between cols modified

* Error handling wrapping

* Reverted back error message after silencing help

* Bugbash fixes for int limit, zero cache list msg

* Test case fixes for error message changes

* Handling no cache list scenario with(out) key

* Minor Refactoring and avoided code duplication

* Removed unused inputs after resolving conflicts

* Formatted test file

* removed err5xx as they all have same value.

* Removed err5xx from list as well

* Help and error message enhancements for list.

* changing commandname to avoid conflicts

* Ran `go fmt` formatter against all .go files

* Removed command from root.go

* Updated version to 1.0.0

Co-authored-by: t-dedah <t-dedah@github.com>
Co-authored-by: Deepak Dahiya <59823596+t-dedah@users.noreply.github.com>
2022-07-18 14:51:28 +05:30
Deepak Dahiya
db34270ecb Tests for CLI (#6)
* Completed List cmd and added API calls

* Minor comments and add delete code to pass linting

* Typo in descriptions

* Minor comments

* Validations

* Validations-1

* improved branch flag validation

* removed build

* working after refactory with bad names

* Command working, test not working

* Corrected creation of service

* Finalized structure using service

* Deleted tests

* cleanup

* cleanup

* cleanup

* removed space with tab

* aligned types in model.go

* Update model.go

* resolved comments

* Refactor

* removed long descriptions

* Working incomplete tests

* Completed tests

* cleanup

* checks

* PR comments

* PR comments

* minor comment issue

* minor comment issue

* updated tests to work with workflow

* Updated tests to support new option service

* Improved eror handling for list

* Improved error handling

* Upgraded go-gh

* reusing rest client error
2022-07-14 02:14:03 +05:30
Sankalp Kotewar
c98ebfe90b E2E delete command using list API (#4)
* Completed List cmd and added API calls

* Minor comments and add delete code to pass linting

* Typo in descriptions

* Added delete functionality using existing list API

* Updated limit param for list api to default 30

* Minor refactoring

* Linting fixes for survey output

* Implemented review comments

* Handling 404 response when confirm flag is passed

* Added COMMAND back to delete CLI

* Minor comments

* Check http err statuscode for 404

* Validations

* Validations-1

* improved branch flag validation

* removed build

* String match made case insensitive

* Added TODO for error handling

* Updated error message when args are not provided

* Worked on review comments

* Argument length check updated

* Separated direct and indirect dependencies

* Used SPrintF for formatting strings

* Updated lastAccessed time logic

* Removed extra variable userConfirmation

* Removed unnecessary computations

* Printing and formatting changes

* Passed key from input in queryparams

* Scan List API iteratively to get exact matches

* Added pretty print for trimmed list

* Update page number instead of re-generating params

* Added listAllCaches method and moved it to utils

* Moved redTick to utils

* Update internal/utils.go

Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>

* Limited scope of `sb` to `if` block

* Fixed pretty print issue

* Error type checked for httpError

* Added PrintOneOrMore fn, moved listAll to service

* Implemented `Goment` for last accessed time

* Used percentage based on window size for printing

* Removed stringbuilder and updated fn name

* Made `ListAllCaches` member of `actions_cache.go`

* Updated prettyPrint logic cover better content

* Using PrettyPrint for List command as well.

* Separated direct and indirect modules

Co-authored-by: t-dedah <t-dedah@github.com>
Co-authored-by: Deepak Dahiya <59823596+t-dedah@users.noreply.github.com>
Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
2022-06-28 14:40:11 +05:30
Deepak Dahiya
9e752991d6 Refactorization (#5)
* Completed List cmd and added API calls

* Minor comments and add delete code to pass linting

* Typo in descriptions

* Minor comments

* Validations

* Validations-1

* improved branch flag validation

* removed build

* working after refactory with bad names

* Command working, test not working

* Corrected creation of service

* Finalized structure using service

* Deleted tests

* cleanup

* cleanup

* cleanup

* removed space with tab

* aligned types in model.go

* Update model.go

* resolved comments

* Refactor

* removed long descriptions

* Added page
2022-06-24 16:08:15 +05:30