Added Test for --silent flag in api

This commit is contained in:
AliabbasMerchant 2020-06-29 00:30:24 +05:30
parent cb2308c077
commit 5e56e31384

View file

@ -39,6 +39,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: false,
Silent: false,
},
wantsErr: false,
},
@ -55,6 +56,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: false,
Silent: false,
},
wantsErr: false,
},
@ -71,6 +73,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: false,
Silent: false,
},
wantsErr: false,
},
@ -87,6 +90,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string{"accept: text/plain"},
ShowResponseHeaders: true,
Paginate: false,
Silent: false,
},
wantsErr: false,
},
@ -103,6 +107,24 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: true,
Silent: false,
},
wantsErr: false,
},
{
name: "with silenced output",
cli: "repos/OWNER/REPO/issues --silent",
wants: ApiOptions{
RequestMethod: "GET",
RequestMethodPassed: false,
RequestPath: "repos/OWNER/REPO/issues",
RequestInputFile: "",
RawFields: []string(nil),
MagicFields: []string(nil),
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: false,
Silent: true,
},
wantsErr: false,
},
@ -124,6 +146,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: true,
Silent: false,
},
wantsErr: false,
},
@ -145,6 +168,7 @@ func Test_NewCmdApi(t *testing.T) {
RequestHeaders: []string(nil),
ShowResponseHeaders: false,
Paginate: false,
Silent: false,
},
wantsErr: false,
},
@ -425,6 +449,37 @@ func Test_apiRun_paginationGraphQL(t *testing.T) {
assert.Equal(t, "PAGE1_END", endCursor)
}
func Test_apiRun_silent(t *testing.T) {
io, _, stdout, stderr := iostreams.Test()
response := &http.Response{
StatusCode: 200,
Body: ioutil.NopCloser(bytes.NewBufferString(`body`)),
Header: http.Header{"Content-Type": []string{"text/plain"}},
}
options := ApiOptions{
IO: io,
HttpClient: func() (*http.Client, error) {
var tr roundTripper = func(req *http.Request) (*http.Response, error) {
resp := response
resp.Request = req
return resp, nil
}
return &http.Client{Transport: tr}, nil
},
RequestPath: "issues",
Silent: true,
}
err := apiRun(&options)
assert.NoError(t, err)
assert.Equal(t, "", stdout.String(), "stdout")
assert.Equal(t, "", stderr.String(), "stderr")
assert.Equal(t, "https://api.github.com/issues", response.Request.URL.String())
}
func Test_apiRun_inputFile(t *testing.T) {
tests := []struct {
name string