@@ -13,7 +13,6 @@ import (
13
13
"net/http"
14
14
"net/http/httptest"
15
15
"testing"
16
- "time"
17
16
18
17
"github.com/aws/aws-sdk-go/aws"
19
18
"github.com/stretchr/testify/assert"
@@ -33,20 +32,18 @@ func TestValidateBasicConfig(t *testing.T) {
33
32
type testCase struct {
34
33
Description string
35
34
Input * BasicClientConfig
35
+ Client HTTPClient
36
36
ExpectedErr error
37
37
ExpectedConfig * BasicClientConfig
38
38
}
39
39
40
40
allDefaultsCaseConfig := & BasicClientConfig {
41
- HTTPClient : http .DefaultClient ,
42
- Address : "http://awesome-argus-hostname.io" ,
43
- Bucket : "bucket-name" ,
41
+ Address : "http://awesome-argus-hostname.io" ,
42
+ Bucket : "bucket-name" ,
44
43
}
45
- myAmazingClient := & http.Client {Timeout : time .Hour }
46
44
allDefinedCaseConfig := & BasicClientConfig {
47
- HTTPClient : myAmazingClient ,
48
- Address : "http://legit-argus-hostname.io" ,
49
- Bucket : "amazing-bucket" ,
45
+ Address : "http://legit-argus-hostname.io" ,
46
+ Bucket : "amazing-bucket" ,
50
47
}
51
48
52
49
tcs := []testCase {
@@ -75,9 +72,8 @@ func TestValidateBasicConfig(t *testing.T) {
75
72
{
76
73
Description : "All defined" ,
77
74
Input : & BasicClientConfig {
78
- Address : "http://legit-argus-hostname.io" ,
79
- Bucket : "amazing-bucket" ,
80
- HTTPClient : myAmazingClient ,
75
+ Address : "http://legit-argus-hostname.io" ,
76
+ Bucket : "amazing-bucket" ,
81
77
},
82
78
ExpectedConfig : allDefinedCaseConfig ,
83
79
},
@@ -103,6 +99,7 @@ func TestSendRequest(t *testing.T) {
103
99
URL string
104
100
Body []byte
105
101
ClientDoFails bool
102
+ NilHTTPClient bool
106
103
ExpectedResponse response
107
104
ExpectedErr error
108
105
MockError error
@@ -147,6 +144,20 @@ func TestSendRequest(t *testing.T) {
147
144
MockError : nil ,
148
145
MockAuth : "basic xyz" ,
149
146
},
147
+ {
148
+ Description : "Happy path with default http client" ,
149
+ Method : http .MethodPut ,
150
+ URL : "http://argus-hostname.io" ,
151
+ Body : []byte ("testing" ),
152
+ Owner : "HappyCaseOwner" ,
153
+ ExpectedResponse : response {
154
+ Code : http .StatusOK ,
155
+ Body : []byte ("testing" ),
156
+ },
157
+ MockError : nil ,
158
+ MockAuth : "basic xyz" ,
159
+ NilHTTPClient : true ,
160
+ },
150
161
}
151
162
for _ , tc := range tcs {
152
163
t .Run (tc .Description , func (t * testing.T ) {
@@ -165,11 +176,15 @@ func TestSendRequest(t *testing.T) {
165
176
server := httptest .NewServer (echoHandler )
166
177
defer server .Close ()
167
178
179
+ var httpClient HTTPClient = server .Client ()
180
+ if tc .NilHTTPClient {
181
+ httpClient = nil
182
+ }
183
+
168
184
client , err := NewBasicClient (BasicClientConfig {
169
- HTTPClient : server .Client (),
170
- Address : "http://argus-hostname.io" ,
171
- Bucket : "bucket-name" ,
172
- })
185
+ Address : "http://argus-hostname.io" ,
186
+ Bucket : "bucket-name" ,
187
+ }, httpClient )
173
188
174
189
acquirer .On ("Acquire" ).Return (tc .MockAuth , tc .MockError )
175
190
client .auth = acquirer
@@ -278,10 +293,9 @@ func TestGetItems(t *testing.T) {
278
293
}))
279
294
280
295
client , err := NewBasicClient (BasicClientConfig {
281
- HTTPClient : server .Client (),
282
- Address : server .URL ,
283
- Bucket : bucket ,
284
- })
296
+ Address : server .URL ,
297
+ Bucket : bucket ,
298
+ }, server .Client ())
285
299
286
300
require .Nil (err )
287
301
@@ -434,10 +448,9 @@ func TestPushItem(t *testing.T) {
434
448
}))
435
449
436
450
client , err := NewBasicClient (BasicClientConfig {
437
- HTTPClient : server .Client (),
438
- Address : server .URL ,
439
- Bucket : bucket ,
440
- })
451
+ Address : server .URL ,
452
+ Bucket : bucket ,
453
+ }, server .Client ())
441
454
442
455
acquirer .On ("Acquire" ).Return (tc .MockAuth , tc .MockError )
443
456
client .auth = acquirer
@@ -547,10 +560,9 @@ func TestRemoveItem(t *testing.T) {
547
560
}))
548
561
549
562
client , err := NewBasicClient (BasicClientConfig {
550
- HTTPClient : server .Client (),
551
- Address : server .URL ,
552
- Bucket : bucket ,
553
- })
563
+ Address : server .URL ,
564
+ Bucket : bucket ,
565
+ }, server .Client ())
554
566
555
567
acquirer .On ("Acquire" ).Return (tc .MockAuth , tc .MockError )
556
568
client .auth = acquirer
0 commit comments