Skip to content

Commit a2b7018

Browse files
authored
fix: Add a public constructor for MapExperimentOverridesStore (#174)
This adds a new function NewMapExperimentOverridesStore, so that MapExperimentOverridesStore can be used outside the decision package. Unit tests are updated to exercise NewMapExperimentOverridesStore.
1 parent fadd0ec commit a2b7018

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

pkg/decision/experiment_override_service.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ type MapExperimentOverridesStore struct {
4646
mutex sync.RWMutex
4747
}
4848

49+
// NewMapExperimentOverridesStore returns a new MapExperimentOverridesStore
50+
func NewMapExperimentOverridesStore() *MapExperimentOverridesStore {
51+
return &MapExperimentOverridesStore{
52+
overridesMap: make(map[ExperimentOverrideKey]string),
53+
}
54+
}
55+
4956
// GetVariation returns the override variation key associated with the given user+experiment key
5057
func (m *MapExperimentOverridesStore) GetVariation(overrideKey ExperimentOverrideKey) (string, bool) {
5158
m.mutex.RLock()

pkg/decision/experiment_override_service_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ type ExperimentOverrideServiceTestSuite struct {
3535

3636
func (s *ExperimentOverrideServiceTestSuite) SetupTest() {
3737
s.mockConfig = new(mockProjectConfig)
38-
s.overrides = &MapExperimentOverridesStore{
39-
overridesMap: make(map[ExperimentOverrideKey]string),
40-
}
38+
s.overrides = NewMapExperimentOverridesStore()
4139
s.overrideService = NewExperimentOverrideService(s.overrides)
4240
}
4341

0 commit comments

Comments
 (0)