Skip to content

Commit c6f6bd1

Browse files
committed
add missing tests for coveralls increase
1 parent b1fde5a commit c6f6bd1

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

pkg/client/factory_test.go

+49
Original file line numberDiff line numberDiff line change
@@ -385,3 +385,52 @@ func TestOptimizelyClientWithNoTracer(t *testing.T) {
385385
tracer := optimizelyClient.tracer.(*tracing.NoopTracer)
386386
assert.NotNil(t, tracer)
387387
}
388+
389+
func TestConvertDecideOptionsWithCMABOptions(t *testing.T) {
390+
// Test with IgnoreCMABCache option
391+
options := []decide.OptimizelyDecideOptions{decide.IgnoreCMABCache}
392+
convertedOptions := convertDecideOptions(options)
393+
assert.True(t, convertedOptions.IgnoreCMABCache)
394+
assert.False(t, convertedOptions.ResetCMABCache)
395+
assert.False(t, convertedOptions.InvalidateUserCMABCache)
396+
397+
// Test with ResetCMABCache option
398+
options = []decide.OptimizelyDecideOptions{decide.ResetCMABCache}
399+
convertedOptions = convertDecideOptions(options)
400+
assert.False(t, convertedOptions.IgnoreCMABCache)
401+
assert.True(t, convertedOptions.ResetCMABCache)
402+
assert.False(t, convertedOptions.InvalidateUserCMABCache)
403+
404+
// Test with InvalidateUserCMABCache option
405+
options = []decide.OptimizelyDecideOptions{decide.InvalidateUserCMABCache}
406+
convertedOptions = convertDecideOptions(options)
407+
assert.False(t, convertedOptions.IgnoreCMABCache)
408+
assert.False(t, convertedOptions.ResetCMABCache)
409+
assert.True(t, convertedOptions.InvalidateUserCMABCache)
410+
411+
// Test with all CMAB options
412+
options = []decide.OptimizelyDecideOptions{
413+
decide.IgnoreCMABCache,
414+
decide.ResetCMABCache,
415+
decide.InvalidateUserCMABCache,
416+
}
417+
convertedOptions = convertDecideOptions(options)
418+
assert.True(t, convertedOptions.IgnoreCMABCache)
419+
assert.True(t, convertedOptions.ResetCMABCache)
420+
assert.True(t, convertedOptions.InvalidateUserCMABCache)
421+
422+
// Test with CMAB options mixed with other options
423+
options = []decide.OptimizelyDecideOptions{
424+
decide.DisableDecisionEvent,
425+
decide.IgnoreCMABCache,
426+
decide.EnabledFlagsOnly,
427+
decide.ResetCMABCache,
428+
decide.InvalidateUserCMABCache,
429+
}
430+
convertedOptions = convertDecideOptions(options)
431+
assert.True(t, convertedOptions.DisableDecisionEvent)
432+
assert.True(t, convertedOptions.EnabledFlagsOnly)
433+
assert.True(t, convertedOptions.IgnoreCMABCache)
434+
assert.True(t, convertedOptions.ResetCMABCache)
435+
assert.True(t, convertedOptions.InvalidateUserCMABCache)
436+
}

pkg/config/datafileprojectconfig/config_test.go

+28
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,34 @@ func TestCmabExperimentsNil(t *testing.T) {
655655
}
656656
}
657657

658+
func TestGetExperimentByID(t *testing.T) {
659+
// Create a test config with some experiments
660+
testConfig := DatafileProjectConfig{
661+
experimentMap: map[string]entities.Experiment{
662+
"exp1": {ID: "exp1", Key: "experiment_1"},
663+
"exp2": {ID: "exp2", Key: "experiment_2"},
664+
},
665+
}
666+
667+
// Test getting an experiment that exists
668+
experiment, err := testConfig.GetExperimentByID("exp1")
669+
assert.NoError(t, err)
670+
assert.Equal(t, "exp1", experiment.ID)
671+
assert.Equal(t, "experiment_1", experiment.Key)
672+
673+
// Test getting another experiment that exists
674+
experiment, err = testConfig.GetExperimentByID("exp2")
675+
assert.NoError(t, err)
676+
assert.Equal(t, "exp2", experiment.ID)
677+
assert.Equal(t, "experiment_2", experiment.Key)
678+
679+
// Test getting an experiment that doesn't exist
680+
experiment, err = testConfig.GetExperimentByID("non_existent")
681+
assert.Error(t, err)
682+
assert.Equal(t, `experiment with ID "non_existent" not found`, err.Error())
683+
assert.Equal(t, entities.Experiment{}, experiment)
684+
}
685+
658686
func TestGetAttributeKeyByID(t *testing.T) {
659687
// Setup
660688
id := "id"

0 commit comments

Comments
 (0)