GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Push — master ( ade00f...013a6a )
by
unknown
01:57 queued 14s
created

mollie.TestClientService_List   C

Complexity

Conditions 8

Size

Total Lines 115
Code Lines 86

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 8
eloc 86
nop 1
dl 0
loc 115
rs 5.5915
c 0
b 0
f 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
package mollie
2
3
import (
4
	"context"
5
	"fmt"
6
	"net/http"
7
	"testing"
8
9
	"github.com/VictorAvelar/mollie-api-go/v4/testdata"
10
	"github.com/stretchr/testify/assert"
11
)
12
13
func TestClientsService_Get(t *testing.T) {
14
	setEnv()
15
	defer unsetEnv()
16
17
	type args struct {
18
		ctx    context.Context
19
		client string
20
		opts   *GetLinkedClientOptions
21
	}
22
23
	cases := []struct {
24
		name    string
25
		args    args
26
		wantErr bool
27
		err     error
28
		pre     func()
29
		handler http.HandlerFunc
30
	}{
31
		{
32
			"get partner client works as expected.",
33
			args{
34
				context.Background(),
35
				"org_1337",
36
				nil,
37
			},
38
			false,
39
			nil,
40
			noPre,
41
			func(w http.ResponseWriter, r *http.Request) {
42
				testHeader(t, r, AuthHeader, "Bearer token_X12b31ggg23")
43
				testMethod(t, r, "GET")
44
45
				if _, ok := r.Header[AuthHeader]; !ok {
46
					w.WriteHeader(http.StatusUnauthorized)
47
				}
48
				_, _ = w.Write([]byte(testdata.GetPartnerClientResponse))
49
			},
50
		},
51
		{
52
			"get partner client with options works as expected.",
53
			args{
54
				context.Background(),
55
				"org_1337",
56
				&GetLinkedClientOptions{
57
					Embed: []EmbedValue{EmbedOrganization},
58
				},
59
			},
60
			false,
61
			nil,
62
			noPre,
63
			func(w http.ResponseWriter, r *http.Request) {
64
				testHeader(t, r, AuthHeader, "Bearer token_X12b31ggg23")
65
				testMethod(t, r, "GET")
66
				testQuery(t, r, "embed=organization")
67
68
				if _, ok := r.Header[AuthHeader]; !ok {
69
					w.WriteHeader(http.StatusUnauthorized)
70
				}
71
				_, _ = w.Write([]byte(testdata.GetPartnerClientResponse))
72
			},
73
		},
74
		{
75
			"get partner client, an error is returned from the server",
76
			args{
77
				context.Background(),
78
				"org_1337",
79
				nil,
80
			},
81
			true,
82
			fmt.Errorf("500 Internal Server Error: An internal server error occurred while processing your request."),
83
			noPre,
84
			errorHandler,
85
		},
86
		{
87
			"get partner client, an error occurs when parsing json",
88
			args{
89
				context.Background(),
90
				"org_1337",
91
				nil,
92
			},
93
			true,
94
			fmt.Errorf("invalid character 'h' looking for beginning of object key string"),
95
			noPre,
96
			encodingHandler,
97
		},
98
		{
99
			"get partner client, invalid url when building request",
100
			args{
101
				context.Background(),
102
				"org_1337",
103
				nil,
104
			},
105
			true,
106
			errBadBaseURL,
107
			crashSrv,
108
			errorHandler,
109
		},
110
	}
111
112
	for _, c := range cases {
113
		setup()
114
		defer teardown()
115
116
		t.Run(c.name, func(t *testing.T) {
117
			c.pre()
118
			tMux.HandleFunc(fmt.Sprintf("/v2/clients/%s", c.args.client), c.handler)
119
120
			res, m, err := tClient.Clients.Get(c.args.ctx, c.args.client, c.args.opts)
121
			if c.wantErr {
122
				assert.NotNil(t, err)
123
				assert.EqualError(t, err, c.err.Error())
124
			} else {
125
				assert.Nil(t, err)
126
				assert.IsType(t, &LinkedClient{}, m)
127
				assert.IsType(t, &http.Response{}, res.Response)
128
			}
129
		})
130
	}
131
}
132
133
func TestClientService_List(t *testing.T) {
134
	setEnv()
135
	defer unsetEnv()
136
137
	type args struct {
138
		ctx    context.Context
139
		client string
140
		opts   *ListLinkedClientsOptions
141
	}
142
143
	cases := []struct {
144
		name    string
145
		args    args
146
		wantErr bool
147
		err     error
148
		pre     func()
149
		handler http.HandlerFunc
150
	}{
151
		{
152
			"list partner client works as expected.",
153
			args{
154
				context.Background(),
155
				"org_1337",
156
				nil,
157
			},
158
			false,
159
			nil,
160
			noPre,
161
			func(w http.ResponseWriter, r *http.Request) {
162
				testHeader(t, r, AuthHeader, "Bearer token_X12b31ggg23")
163
				testMethod(t, r, "GET")
164
165
				if _, ok := r.Header[AuthHeader]; !ok {
166
					w.WriteHeader(http.StatusUnauthorized)
167
				}
168
				_, _ = w.Write([]byte(testdata.GetPartnerClientResponse))
169
			},
170
		},
171
		{
172
			"list partner client with options works as expected.",
173
			args{
174
				context.Background(),
175
				"org_1337",
176
				&ListLinkedClientsOptions{
177
					Embed: []EmbedValue{EmbedOrganization},
178
				},
179
			},
180
			false,
181
			nil,
182
			noPre,
183
			func(w http.ResponseWriter, r *http.Request) {
184
				testHeader(t, r, AuthHeader, "Bearer token_X12b31ggg23")
185
				testMethod(t, r, "GET")
186
				testQuery(t, r, "embed=organization")
187
188
				if _, ok := r.Header[AuthHeader]; !ok {
189
					w.WriteHeader(http.StatusUnauthorized)
190
				}
191
				_, _ = w.Write([]byte(testdata.GetPartnerClientResponse))
192
			},
193
		},
194
		{
195
			"list partner client, an error is returned from the server",
196
			args{
197
				context.Background(),
198
				"org_1337",
199
				nil,
200
			},
201
			true,
202
			fmt.Errorf("500 Internal Server Error: An internal server error occurred while processing your request."),
203
			noPre,
204
			errorHandler,
205
		},
206
		{
207
			"list partner client, an error occurs when parsing json",
208
			args{
209
				context.Background(),
210
				"org_1337",
211
				nil,
212
			},
213
			true,
214
			fmt.Errorf("invalid character 'h' looking for beginning of object key string"),
215
			noPre,
216
			encodingHandler,
217
		},
218
		{
219
			"list partner client, invalid url when building request",
220
			args{
221
				context.Background(),
222
				"org_1337",
223
				nil,
224
			},
225
			true,
226
			errBadBaseURL,
227
			crashSrv,
228
			errorHandler,
229
		},
230
	}
231
232
	for _, c := range cases {
233
		setup()
234
		defer teardown()
235
236
		t.Run(c.name, func(t *testing.T) {
237
			c.pre()
238
			tMux.HandleFunc("/v2/clients", c.handler)
239
240
			res, m, err := tClient.Clients.List(c.args.ctx, c.args.opts)
241
			if c.wantErr {
242
				assert.NotNil(t, err)
243
				assert.EqualError(t, err, c.err.Error())
244
			} else {
245
				assert.Nil(t, err)
246
				assert.IsType(t, &LinkedClientList{}, m)
247
				assert.IsType(t, &http.Response{}, res.Response)
248
			}
249
		})
250
	}
251
}
252