@@ -297,6 +297,7 @@ func TestGoFeatureFlag_GetCacheRefreshDate(t *testing.T) {
297
297
name string
298
298
fields fields
299
299
hasRefresh bool
300
+ offline bool
300
301
}{
301
302
{
302
303
name : "Should be refreshed" ,
@@ -308,20 +309,29 @@ func TestGoFeatureFlag_GetCacheRefreshDate(t *testing.T) {
308
309
fields : fields {waitingDuration : 2 * time .Second , pollingInterval : 3 * time .Second },
309
310
hasRefresh : false ,
310
311
},
312
+ {
313
+ name : "Should not crash in offline mode" ,
314
+ fields : fields {waitingDuration : 2 * time .Second , pollingInterval : 3 * time .Second },
315
+ hasRefresh : false ,
316
+ offline : true ,
317
+ },
311
318
}
312
319
for _ , tt := range tests {
313
320
t .Run (tt .name , func (t * testing.T ) {
314
321
gff , _ := ffclient .New (ffclient.Config {
315
322
PollingInterval : tt .fields .pollingInterval ,
316
323
Retriever : & ffclient.FileRetriever {Path : "testdata/flag-config.yaml" },
324
+ Offline : tt .offline ,
317
325
})
318
326
319
327
date1 := gff .GetCacheRefreshDate ()
320
328
time .Sleep (tt .fields .waitingDuration )
321
329
date2 := gff .GetCacheRefreshDate ()
322
330
323
- assert .NotEqual (t , time.Time {}, date1 )
324
- assert .NotEqual (t , time.Time {}, date2 )
331
+ if ! tt .offline {
332
+ assert .NotEqual (t , time.Time {}, date1 )
333
+ assert .NotEqual (t , time.Time {}, date2 )
334
+ }
325
335
assert .Equal (t , tt .hasRefresh , date1 .Before (date2 ))
326
336
})
327
337
}
0 commit comments