generated from NdoleStudio/go-http-client
-
Notifications
You must be signed in to change notification settings - Fork 1
/
client_option_test.go
143 lines (108 loc) · 2.73 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
134
135
136
137
138
139
140
141
142
143
package mtnmomo
import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
)
const (
testSubscriptionKey = "subscriptionKey"
testAPIKey = "APIKey"
testTargetEnvironment = "targetEnvironment"
testAPIUser = "APIUser"
)
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 TestWithSubscriptionKey(t *testing.T) {
t.Run("subscriptionKey is set successfully", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
// Act
WithSubscriptionKey(testSubscriptionKey).apply(config)
// Assert
assert.Equal(t, testSubscriptionKey, config.subscriptionKey)
})
}
func TestWithAPIKey(t *testing.T) {
t.Run("apiKey is set successfully", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
// Act
WithAPIKey(testAPIKey).apply(config)
// Assert
assert.Equal(t, testAPIKey, config.apiKey)
})
}
func TestWithAPIUser(t *testing.T) {
t.Run("apiUser is set successfully", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
// Act
WithAPIUser(testAPIUser).apply(config)
// Assert
assert.Equal(t, testAPIUser, config.apiUser)
})
}
func TestWithTargetEnvironment(t *testing.T) {
t.Run("targetEnvironment is set successfully", func(t *testing.T) {
// Setup
t.Parallel()
// Arrange
config := defaultClientConfig()
// Act
WithTargetEnvironment(testTargetEnvironment).apply(config)
// Assert
assert.Equal(t, testTargetEnvironment, config.targetEnvironment)
})
}