generated from NdoleStudio/go-http-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient_option_test.go
133 lines (99 loc) · 2.45 KB
/
client_option_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package smobilpay
import (
"net/http"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestWithHTTPClient(t *testing.T) {
t.Run("httpClient is not set when the httpClient is nil", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
// Act
WithHTTPClient(nil).apply(config)
// Assert
assert.NotNil(t, config.httpClient)
})
t.Run("httpClient is set when the httpClient is not nil", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
newClient := &http.Client{Timeout: 300}
// Act
WithHTTPClient(newClient).apply(config)
// Assert
assert.NotNil(t, config.httpClient)
assert.Equal(t, newClient.Timeout, config.httpClient.Timeout)
})
}
func TestWithBaseURL(t *testing.T) {
t.Run("baseURL is set successfully", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
baseURL := "https://example.com"
config := defaultClientConfig()
// Act
WithBaseURL(baseURL).apply(config)
// Assert
assert.Equal(t, config.baseURL, config.baseURL)
})
t.Run("tailing / is trimmed from baseURL", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
baseURL := "https://example.com/"
config := defaultClientConfig()
// Act
WithBaseURL(baseURL).apply(config)
// Assert
assert.Equal(t, "https://example.com", config.baseURL)
})
}
func TestWithAccessToken(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
accessToken := "access-token"
// Act
WithAccessToken(accessToken).apply(config)
// Assert
assert.Equal(t, accessToken, config.accessToken)
}
func TestWithAccessSecret(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
accessSecret := "access-secret"
// Act
WithAccessSecret(accessSecret).apply(config)
// Assert
assert.Equal(t, accessSecret, config.accessSecret)
}
func TestWithCollectSyncVerifyInterval(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
interval := time.Second * 2
// Act
WithCollectSyncVerifyInterval(interval).apply(config)
// Assert
assert.Equal(t, interval, config.collectSyncVerifyInterval)
}
func TestWithCollectSyncVerifyRetryCount(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
retryCount := uint(1000)
// Act
WithCollectSyncVerifyRetryCount(retryCount).apply(config)
// Assert
assert.Equal(t, retryCount, config.collectSyncVerifyRetryCount)
}