refactor: refactoring http request creation and sending (#395)
* refactoring http request creation and sending * fix lint error * increase the test coverage of client.go * refactor: Change the style of HTTPRequestBuilder.Build func to one-argument-per-line.
This commit is contained in:
committed by
GitHub
parent
157de0680f
commit
f1b66967a4
@@ -16,7 +16,7 @@ var errTestRequestBuilderFailed = errors.New("test request builder failed")
|
||||
|
||||
type failingRequestBuilder struct{}
|
||||
|
||||
func (*failingRequestBuilder) Build(_ context.Context, _, _ string, _ any) (*http.Request, error) {
|
||||
func (*failingRequestBuilder) Build(_ context.Context, _, _ string, _ any, _ http.Header) (*http.Request, error) {
|
||||
return nil, errTestRequestBuilderFailed
|
||||
}
|
||||
|
||||
@@ -41,9 +41,10 @@ func TestDecodeResponse(t *testing.T) {
|
||||
stringInput := ""
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
value interface{}
|
||||
body io.Reader
|
||||
name string
|
||||
value interface{}
|
||||
body io.Reader
|
||||
hasError bool
|
||||
}{
|
||||
{
|
||||
name: "nil input",
|
||||
@@ -60,18 +61,32 @@ func TestDecodeResponse(t *testing.T) {
|
||||
value: &map[string]interface{}{},
|
||||
body: bytes.NewReader([]byte(`{"test": "test"}`)),
|
||||
},
|
||||
{
|
||||
name: "reader return error",
|
||||
value: &stringInput,
|
||||
body: &errorReader{err: errors.New("dummy")},
|
||||
hasError: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
err := decodeResponse(tc.body, tc.value)
|
||||
if err != nil {
|
||||
if (err != nil) != tc.hasError {
|
||||
t.Errorf("Unexpected error: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
type errorReader struct {
|
||||
err error
|
||||
}
|
||||
|
||||
func (e *errorReader) Read(_ []byte) (n int, err error) {
|
||||
return 0, e.err
|
||||
}
|
||||
|
||||
func TestHandleErrorResp(t *testing.T) {
|
||||
// var errRes *ErrorResponse
|
||||
var errRes ErrorResponse
|
||||
|
||||
Reference in New Issue
Block a user