@@ -34,7 +34,7 @@ type MockRequester struct {
34
34
mock.Mock
35
35
}
36
36
37
- func (m * MockRequester ) Get (headers ... utils.Header ) (response []byte , responseHeaders http.Header , code int , err error ) {
37
+ func (m * MockRequester ) Get (uri string , headers ... utils.Header ) (response []byte , responseHeaders http.Header , code int , err error ) {
38
38
args := m .Called (headers )
39
39
return args .Get (0 ).([]byte ), args .Get (1 ).(http.Header ), args .Int (2 ), args .Error (3 )
40
40
}
@@ -51,7 +51,7 @@ func TestNewPollingProjectConfigManagerWithOptions(t *testing.T) {
51
51
52
52
exeCtx := utils .NewCancelableExecutionCtx ()
53
53
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
54
- configManager .Start (exeCtx )
54
+ configManager .Start (sdkKey , exeCtx )
55
55
mockRequester .AssertExpectations (t )
56
56
57
57
actual , err := configManager .GetConfig ()
@@ -72,7 +72,7 @@ func TestNewPollingProjectConfigManagerWithNull(t *testing.T) {
72
72
73
73
exeCtx := utils .NewCancelableExecutionCtx ()
74
74
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
75
- configManager .Start (exeCtx )
75
+ configManager .Start (sdkKey , exeCtx )
76
76
mockRequester .AssertExpectations (t )
77
77
78
78
_ , err := configManager .GetConfig ()
@@ -90,15 +90,15 @@ func TestNewPollingProjectConfigManagerWithSimilarDatafileRevisions(t *testing.T
90
90
91
91
exeCtx := utils .NewCancelableExecutionCtx ()
92
92
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
93
- configManager .Start (exeCtx )
93
+ configManager .Start (sdkKey , exeCtx )
94
94
mockRequester .AssertExpectations (t )
95
95
96
96
actual , err := configManager .GetConfig ()
97
97
assert .Nil (t , err )
98
98
assert .NotNil (t , actual )
99
99
assert .Equal (t , projectConfig1 , actual )
100
100
101
- configManager .SyncConfig (mockDatafile2 )
101
+ configManager .SyncConfig (sdkKey , mockDatafile2 )
102
102
actual , err = configManager .GetConfig ()
103
103
assert .Equal (t , projectConfig1 , actual )
104
104
}
@@ -118,7 +118,7 @@ func TestNewPollingProjectConfigManagerWithLastModifiedDates(t *testing.T) {
118
118
119
119
exeCtx := utils .NewCancelableExecutionCtx ()
120
120
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
121
- configManager .Start (exeCtx )
121
+ configManager .Start (sdkKey , exeCtx )
122
122
123
123
// Fetch valid config
124
124
actual , err := configManager .GetConfig ()
@@ -127,7 +127,7 @@ func TestNewPollingProjectConfigManagerWithLastModifiedDates(t *testing.T) {
127
127
assert .Equal (t , projectConfig1 , actual )
128
128
129
129
// Sync and check no changes were made to the previous config because of 304 error code
130
- configManager .SyncConfig ([]byte {})
130
+ configManager .SyncConfig (sdkKey , []byte {})
131
131
actual , err = configManager .GetConfig ()
132
132
assert .Nil (t , err )
133
133
assert .NotNil (t , actual )
@@ -148,15 +148,15 @@ func TestNewPollingProjectConfigManagerWithDifferentDatafileRevisions(t *testing
148
148
149
149
exeCtx := utils .NewCancelableExecutionCtx ()
150
150
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
151
- configManager .Start (exeCtx )
151
+ configManager .Start (sdkKey , exeCtx )
152
152
mockRequester .AssertExpectations (t )
153
153
154
154
actual , err := configManager .GetConfig ()
155
155
assert .Nil (t , err )
156
156
assert .NotNil (t , actual )
157
157
assert .Equal (t , projectConfig1 , actual )
158
158
159
- configManager .SyncConfig (mockDatafile2 )
159
+ configManager .SyncConfig (sdkKey , mockDatafile2 )
160
160
actual , err = configManager .GetConfig ()
161
161
assert .Equal (t , projectConfig2 , actual )
162
162
}
@@ -175,20 +175,20 @@ func TestNewPollingProjectConfigManagerWithErrorHandling(t *testing.T) {
175
175
176
176
exeCtx := utils .NewCancelableExecutionCtx ()
177
177
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
178
- configManager .Start (exeCtx )
178
+ configManager .Start (sdkKey , exeCtx )
179
179
mockRequester .AssertExpectations (t )
180
180
181
181
actual , err := configManager .GetConfig () // polling for bad file
182
182
assert .NotNil (t , err )
183
183
assert .Nil (t , actual )
184
184
assert .Nil (t , projectConfig1 )
185
185
186
- configManager .SyncConfig (mockDatafile2 ) // polling for good file
186
+ configManager .SyncConfig (sdkKey , mockDatafile2 ) // polling for good file
187
187
actual , err = configManager .GetConfig ()
188
188
assert .Nil (t , err )
189
189
assert .Equal (t , projectConfig2 , actual )
190
190
191
- configManager .SyncConfig (mockDatafile1 ) // polling for bad file, error not null but good project
191
+ configManager .SyncConfig (sdkKey , mockDatafile1 ) // polling for bad file, error not null but good project
192
192
actual , err = configManager .GetConfig ()
193
193
assert .Nil (t , err )
194
194
assert .Equal (t , projectConfig2 , actual )
@@ -206,7 +206,7 @@ func TestNewPollingProjectConfigManagerOnDecision(t *testing.T) {
206
206
207
207
exeCtx := utils .NewCancelableExecutionCtx ()
208
208
configManager := NewPollingProjectConfigManager (sdkKey , Requester (mockRequester ))
209
- configManager .Start (exeCtx )
209
+ configManager .Start (sdkKey , exeCtx )
210
210
211
211
var numberOfCalls = 0
212
212
callback := func (notification notification.ProjectConfigUpdateNotification ) {
@@ -219,7 +219,7 @@ func TestNewPollingProjectConfigManagerOnDecision(t *testing.T) {
219
219
assert .Nil (t , err )
220
220
assert .NotNil (t , actual )
221
221
222
- configManager .SyncConfig (mockDatafile2 )
222
+ configManager .SyncConfig (sdkKey , mockDatafile2 )
223
223
actual , err = configManager .GetConfig ()
224
224
assert .Nil (t , err )
225
225
assert .NotNil (t , actual )
@@ -234,37 +234,32 @@ func TestNewPollingProjectConfigManagerOnDecision(t *testing.T) {
234
234
assert .Nil (t , err )
235
235
}
236
236
237
- func TestDefaultRequester (t * testing.T ) {
238
-
239
- sdkKey := "test_sdk_key"
240
- DefaultRequester (sdkKey )
241
- exeCtx := utils .NewCancelableExecutionCtx ()
242
- configManager := NewPollingProjectConfigManager (sdkKey , DefaultRequester (sdkKey ))
243
- configManager .Start (exeCtx )
244
-
245
- requester := configManager .requester
246
- assert .NotNil (t , requester )
247
- assert .Equal (t , requester .String (), "{url: https://cdn.optimizely.com/datafiles/test_sdk_key.json, timeout: 5s, retries: 1}" )
248
- }
249
-
250
237
func TestPollingInterval (t * testing.T ) {
251
238
252
239
sdkKey := "test_sdk_key"
253
- DefaultRequester ( sdkKey )
240
+
254
241
exeCtx := utils .NewCancelableExecutionCtx ()
255
242
configManager := NewPollingProjectConfigManager (sdkKey , PollingInterval (5 * time .Second ))
256
- configManager .Start (exeCtx )
243
+ configManager .Start (sdkKey , exeCtx )
257
244
258
245
assert .Equal (t , configManager .pollingInterval , 5 * time .Second )
259
246
}
260
247
261
248
func TestInitialDatafile (t * testing.T ) {
262
249
263
250
sdkKey := "test_sdk_key"
264
- DefaultRequester (sdkKey )
265
251
exeCtx := utils .NewCancelableExecutionCtx ()
266
252
configManager := NewPollingProjectConfigManager (sdkKey , InitialDatafile ([]byte ("test" )))
267
- configManager .Start (exeCtx )
253
+ configManager .Start (sdkKey , exeCtx )
268
254
269
255
assert .Equal (t , configManager .initDatafile , []byte ("test" ))
270
256
}
257
+
258
+ func TestDatafileTemplate (t * testing.T ) {
259
+
260
+ sdkKey := "test_sdk_key"
261
+ datafileTemplate := "https://localhost/v1/%s.json"
262
+ configManager := NewPollingProjectConfigManager (sdkKey , DatafileTemplate (datafileTemplate ))
263
+
264
+ assert .Equal (t , datafileTemplate , configManager .datafileURLTemplate )
265
+ }
0 commit comments