Skip to content

Commit a01cdc4

Browse files
removing isValid attribute from Client
1 parent 8ad96e3 commit a01cdc4

File tree

4 files changed

+2
-85
lines changed

4 files changed

+2
-85
lines changed

optimizely/client/client.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ type OptimizelyClient struct {
3838
configManager optimizely.ProjectConfigManager
3939
decisionService decision.Service
4040
eventProcessor event.Processor
41-
isValid bool
4241

4342
executionCtx utils.ExecutionCtx
4443
}
@@ -130,12 +129,6 @@ func (o *OptimizelyClient) GetEnabledFeatures(userContext entities.UserContext)
130129

131130
// Track take and event key with event tags and if the event is part of the config, send to events backend.
132131
func (o *OptimizelyClient) Track(eventKey string, userContext entities.UserContext, eventTags map[string]interface{}) (err error) {
133-
if !o.isValid {
134-
errorMessage := "optimizely instance is not valid; failing GetEnabledFeatures"
135-
err = errors.New(errorMessage)
136-
logger.Error(errorMessage, err)
137-
return err
138-
}
139132

140133
defer func() {
141134
if r := recover(); r != nil {
@@ -264,9 +257,6 @@ func (o *OptimizelyClient) getFeatureVariable(featureKey, variableKey string, us
264257

265258
// GetProjectConfig returns the current ProjectConfig or nil if the instance is not valid
266259
func (o *OptimizelyClient) GetProjectConfig() (projectConfig optimizely.ProjectConfig, err error) {
267-
if !o.isValid {
268-
return nil, fmt.Errorf("optimizely instance is not valid")
269-
}
270260

271261
projectConfig, err = o.configManager.GetConfig()
272262
if err != nil {

optimizely/client/client_test.go

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ func TestTrack(t *testing.T) {
140140
configManager: ValidProjectConfigManager(),
141141
decisionService: mockDecisionService,
142142
eventProcessor: mockProcessor,
143-
isValid: true,
144143
}
145144

146145
err := client.Track("sample_conversion", entities.UserContext{ID: "1212121", Attributes: map[string]interface{}{}}, map[string]interface{}{})
@@ -160,7 +159,6 @@ func TestTrackFail(t *testing.T) {
160159
configManager: ValidProjectConfigManager(),
161160
decisionService: mockDecisionService,
162161
eventProcessor: mockProcessor,
163-
isValid: true,
164162
}
165163

166164
err := client.Track("bob", entities.UserContext{ID: "1212121", Attributes: map[string]interface{}{}}, map[string]interface{}{})
@@ -170,24 +168,6 @@ func TestTrackFail(t *testing.T) {
170168

171169
}
172170

173-
func TestTrackInvalid(t *testing.T) {
174-
mockProcessor := &MockProcessor{}
175-
mockDecisionService := new(MockDecisionService)
176-
177-
client := OptimizelyClient{
178-
configManager: ValidProjectConfigManager(),
179-
decisionService: mockDecisionService,
180-
eventProcessor: mockProcessor,
181-
isValid: false,
182-
}
183-
184-
err := client.Track("sample_conversion", entities.UserContext{ID: "1212121", Attributes: map[string]interface{}{}}, map[string]interface{}{})
185-
186-
assert.NotNil(t, err)
187-
assert.True(t, len(mockProcessor.Events) == 0)
188-
189-
}
190-
191171
func TestIsFeatureEnabled(t *testing.T) {
192172
testUserContext := entities.UserContext{ID: "test_user_1"}
193173
testVariation := entities.Variation{
@@ -227,7 +207,6 @@ func TestIsFeatureEnabled(t *testing.T) {
227207
client := OptimizelyClient{
228208
configManager: mockConfigManager,
229209
decisionService: mockDecisionService,
230-
isValid: true,
231210
}
232211
result, _ := client.IsFeatureEnabled(testFeatureKey, testUserContext)
233212
assert.True(t, result)
@@ -249,7 +228,6 @@ func TestIsFeatureEnabledErrorCases(t *testing.T) {
249228
client := OptimizelyClient{
250229
configManager: mockConfigManager,
251230
decisionService: mockDecisionService,
252-
isValid: false,
253231
}
254232
result, _ := client.IsFeatureEnabled(testFeatureKey, testUserContext)
255233
assert.False(t, result)
@@ -267,7 +245,6 @@ func TestIsFeatureEnabledErrorCases(t *testing.T) {
267245
client = OptimizelyClient{
268246
configManager: mockConfigManager,
269247
decisionService: mockDecisionService,
270-
isValid: true,
271248
}
272249
result, err := client.IsFeatureEnabled(testFeatureKey, testUserContext)
273250
if assert.Error(t, err) {
@@ -288,7 +265,6 @@ func TestIsFeatureEnabledPanic(t *testing.T) {
288265
client := OptimizelyClient{
289266
configManager: mockConfigManager,
290267
decisionService: mockDecisionService,
291-
isValid: true,
292268
}
293269

294270
// returning an error object will cause the Client to panic
@@ -366,7 +342,6 @@ func TestGetEnabledFeatures(t *testing.T) {
366342
client := OptimizelyClient{
367343
configManager: mockConfigManager,
368344
decisionService: mockDecisionService,
369-
isValid: true,
370345
}
371346
result, err := client.GetEnabledFeatures(testUserContext)
372347
assert.NoError(t, err)
@@ -386,7 +361,6 @@ func TestGetEnabledFeaturesErrorCases(t *testing.T) {
386361
client := OptimizelyClient{
387362
configManager: mockConfigManager,
388363
decisionService: mockDecisionService,
389-
isValid: false,
390364
}
391365
result, err := client.GetEnabledFeatures(testUserContext)
392366
assert.Error(t, err)
@@ -405,7 +379,6 @@ func TestGetEnabledFeaturesPanic(t *testing.T) {
405379
client := OptimizelyClient{
406380
configManager: mockConfigManager,
407381
decisionService: mockDecisionService,
408-
isValid: true,
409382
}
410383

411384
// returning an error object will cause the Client to panic
@@ -454,7 +427,6 @@ func TestGetFeatureVariableBooleanWithValidValue(t *testing.T) {
454427
client := OptimizelyClient{
455428
configManager: mockConfigManager,
456429
decisionService: mockDecisionService,
457-
isValid: true,
458430
}
459431
result, _ := client.GetFeatureVariableBoolean(testFeatureKey, testVariableKey, testUserContext)
460432
assert.Equal(t, true, result)
@@ -500,7 +472,6 @@ func TestGetFeatureVariableBooleanWithInvalidValue(t *testing.T) {
500472
client := OptimizelyClient{
501473
configManager: mockConfigManager,
502474
decisionService: mockDecisionService,
503-
isValid: true,
504475
}
505476
result, err := client.GetFeatureVariableBoolean(testFeatureKey, testVariableKey, testUserContext)
506477
assert.Equal(t, false, result)
@@ -547,7 +518,6 @@ func TestGetFeatureVariableBooleanWithInvalidValueType(t *testing.T) {
547518
client := OptimizelyClient{
548519
configManager: mockConfigManager,
549520
decisionService: mockDecisionService,
550-
isValid: true,
551521
}
552522
result, err := client.GetFeatureVariableBoolean(testFeatureKey, testVariableKey, testUserContext)
553523
assert.Equal(t, false, result)
@@ -594,7 +564,6 @@ func TestGetFeatureVariableBooleanWithEmptyValueType(t *testing.T) {
594564
client := OptimizelyClient{
595565
configManager: mockConfigManager,
596566
decisionService: mockDecisionService,
597-
isValid: true,
598567
}
599568
result, err := client.GetFeatureVariableBoolean(testFeatureKey, testVariableKey, testUserContext)
600569
assert.Equal(t, false, result)
@@ -641,7 +610,6 @@ func TestGetFeatureVariableBooleanReturnsDefaultValueIfFeatureNotEnabled(t *test
641610
client := OptimizelyClient{
642611
configManager: mockConfigManager,
643612
decisionService: mockDecisionService,
644-
isValid: true,
645613
}
646614
result, err := client.GetFeatureVariableBoolean(testFeatureKey, testVariableKey, testUserContext)
647615
assert.Equal(t, false, result)
@@ -662,7 +630,6 @@ func TestGetFeatureVariableBoolPanic(t *testing.T) {
662630
client := OptimizelyClient{
663631
configManager: mockConfigManager,
664632
decisionService: mockDecisionService,
665-
isValid: true,
666633
}
667634

668635
// returning an error object will cause the Client to panic
@@ -711,7 +678,6 @@ func TestGetFeatureVariableDoubleWithValidValue(t *testing.T) {
711678
client := OptimizelyClient{
712679
configManager: mockConfigManager,
713680
decisionService: mockDecisionService,
714-
isValid: true,
715681
}
716682
result, _ := client.GetFeatureVariableDouble(testFeatureKey, testVariableKey, testUserContext)
717683
assert.Equal(t, float64(5), result)
@@ -757,7 +723,6 @@ func TestGetFeatureVariableDoubleWithInvalidValue(t *testing.T) {
757723
client := OptimizelyClient{
758724
configManager: mockConfigManager,
759725
decisionService: mockDecisionService,
760-
isValid: true,
761726
}
762727
result, err := client.GetFeatureVariableDouble(testFeatureKey, testVariableKey, testUserContext)
763728
assert.Equal(t, float64(0), result)
@@ -804,7 +769,6 @@ func TestGetFeatureVariableDoubleWithInvalidValueType(t *testing.T) {
804769
client := OptimizelyClient{
805770
configManager: mockConfigManager,
806771
decisionService: mockDecisionService,
807-
isValid: true,
808772
}
809773
result, err := client.GetFeatureVariableDouble(testFeatureKey, testVariableKey, testUserContext)
810774
assert.Equal(t, float64(0), result)
@@ -851,7 +815,6 @@ func TestGetFeatureVariableDoubleWithEmptyValueType(t *testing.T) {
851815
client := OptimizelyClient{
852816
configManager: mockConfigManager,
853817
decisionService: mockDecisionService,
854-
isValid: true,
855818
}
856819
result, err := client.GetFeatureVariableDouble(testFeatureKey, testVariableKey, testUserContext)
857820
assert.Equal(t, float64(0), result)
@@ -898,7 +861,6 @@ func TestGetFeatureVariableDoubleReturnsDefaultValueIfFeatureNotEnabled(t *testi
898861
client := OptimizelyClient{
899862
configManager: mockConfigManager,
900863
decisionService: mockDecisionService,
901-
isValid: true,
902864
}
903865
result, err := client.GetFeatureVariableDouble(testFeatureKey, testVariableKey, testUserContext)
904866
assert.Equal(t, float64(4), result)
@@ -919,7 +881,6 @@ func TestGetFeatureVariableDoublePanic(t *testing.T) {
919881
client := OptimizelyClient{
920882
configManager: mockConfigManager,
921883
decisionService: mockDecisionService,
922-
isValid: true,
923884
}
924885

925886
// returning an error object will cause the Client to panic
@@ -968,7 +929,6 @@ func TestGetFeatureVariableIntegerWithValidValue(t *testing.T) {
968929
client := OptimizelyClient{
969930
configManager: mockConfigManager,
970931
decisionService: mockDecisionService,
971-
isValid: true,
972932
}
973933
result, _ := client.GetFeatureVariableInteger(testFeatureKey, testVariableKey, testUserContext)
974934
assert.Equal(t, 5, result)
@@ -1014,7 +974,6 @@ func TestGetFeatureVariableIntegerWithInvalidValue(t *testing.T) {
1014974
client := OptimizelyClient{
1015975
configManager: mockConfigManager,
1016976
decisionService: mockDecisionService,
1017-
isValid: true,
1018977
}
1019978
result, err := client.GetFeatureVariableInteger(testFeatureKey, testVariableKey, testUserContext)
1020979
assert.Equal(t, 0, result)
@@ -1061,7 +1020,6 @@ func TestGetFeatureVariableIntegerWithInvalidValueType(t *testing.T) {
10611020
client := OptimizelyClient{
10621021
configManager: mockConfigManager,
10631022
decisionService: mockDecisionService,
1064-
isValid: true,
10651023
}
10661024
result, err := client.GetFeatureVariableInteger(testFeatureKey, testVariableKey, testUserContext)
10671025
assert.Equal(t, 0, result)
@@ -1108,7 +1066,6 @@ func TestGetFeatureVariableIntegerWithEmptyValueType(t *testing.T) {
11081066
client := OptimizelyClient{
11091067
configManager: mockConfigManager,
11101068
decisionService: mockDecisionService,
1111-
isValid: true,
11121069
}
11131070
result, err := client.GetFeatureVariableInteger(testFeatureKey, testVariableKey, testUserContext)
11141071
assert.Equal(t, 0, result)
@@ -1155,7 +1112,6 @@ func TestGetFeatureVariableIntegerReturnsDefaultValueIfFeatureNotEnabled(t *test
11551112
client := OptimizelyClient{
11561113
configManager: mockConfigManager,
11571114
decisionService: mockDecisionService,
1158-
isValid: true,
11591115
}
11601116
result, err := client.GetFeatureVariableInteger(testFeatureKey, testVariableKey, testUserContext)
11611117
assert.Equal(t, 4, result)
@@ -1176,7 +1132,6 @@ func TestGetFeatureVariableIntegerPanic(t *testing.T) {
11761132
client := OptimizelyClient{
11771133
configManager: mockConfigManager,
11781134
decisionService: mockDecisionService,
1179-
isValid: true,
11801135
}
11811136

11821137
// returning an error object will cause the Client to panic
@@ -1225,7 +1180,6 @@ func TestGetFeatureVariableStringWithValidValue(t *testing.T) {
12251180
client := OptimizelyClient{
12261181
configManager: mockConfigManager,
12271182
decisionService: mockDecisionService,
1228-
isValid: true,
12291183
}
12301184
result, _ := client.GetFeatureVariableString(testFeatureKey, testVariableKey, testUserContext)
12311185
assert.Equal(t, testVariableValue, result)
@@ -1271,7 +1225,6 @@ func TestGetFeatureVariableStringWithInvalidValueType(t *testing.T) {
12711225
client := OptimizelyClient{
12721226
configManager: mockConfigManager,
12731227
decisionService: mockDecisionService,
1274-
isValid: true,
12751228
}
12761229
result, err := client.GetFeatureVariableString(testFeatureKey, testVariableKey, testUserContext)
12771230
assert.Equal(t, "", result)
@@ -1318,7 +1271,6 @@ func TestGetFeatureVariableStringWithEmptyValueType(t *testing.T) {
13181271
client := OptimizelyClient{
13191272
configManager: mockConfigManager,
13201273
decisionService: mockDecisionService,
1321-
isValid: true,
13221274
}
13231275
result, err := client.GetFeatureVariableString(testFeatureKey, testVariableKey, testUserContext)
13241276
assert.Equal(t, "", result)
@@ -1365,7 +1317,6 @@ func TestGetFeatureVariableStringReturnsDefaultValueIfFeatureNotEnabled(t *testi
13651317
client := OptimizelyClient{
13661318
configManager: mockConfigManager,
13671319
decisionService: mockDecisionService,
1368-
isValid: true,
13691320
}
13701321
result, err := client.GetFeatureVariableString(testFeatureKey, testVariableKey, testUserContext)
13711322
assert.Equal(t, "defaultString", result)
@@ -1386,7 +1337,6 @@ func TestGetFeatureVariableStringPanic(t *testing.T) {
13861337
client := OptimizelyClient{
13871338
configManager: mockConfigManager,
13881339
decisionService: mockDecisionService,
1389-
isValid: true,
13901340
}
13911341

13921342
// returning an error object will cause the Client to panic
@@ -1407,7 +1357,6 @@ func TestGetFeatureVariableErrorCases(t *testing.T) {
14071357
client := OptimizelyClient{
14081358
configManager: mockConfigManager,
14091359
decisionService: mockDecisionService,
1410-
isValid: false,
14111360
}
14121361
_, err1 := client.GetFeatureVariableBoolean("test_feature_key", "test_variable_key", testUserContext)
14131362
_, err2 := client.GetFeatureVariableDouble("test_feature_key", "test_variable_key", testUserContext)
@@ -1427,7 +1376,6 @@ func TestGetProjectConfigIsValid(t *testing.T) {
14271376

14281377
client := OptimizelyClient{
14291378
configManager: mockConfigManager,
1430-
isValid: true,
14311379
}
14321380

14331381
actual, err := client.GetProjectConfig()
@@ -1436,18 +1384,6 @@ func TestGetProjectConfigIsValid(t *testing.T) {
14361384
assert.Equal(t, mockConfigManager.projectConfig, actual)
14371385
}
14381386

1439-
func TestGetProjectConfigInvalid(t *testing.T) {
1440-
client := OptimizelyClient{
1441-
configManager: ValidProjectConfigManager(),
1442-
isValid: false,
1443-
}
1444-
1445-
actual, err := client.GetProjectConfig()
1446-
1447-
assert.NotNil(t, err)
1448-
assert.Nil(t, actual)
1449-
}
1450-
14511387
// Helper Methods
14521388
func getTestFeatureDecision(experiment entities.Experiment, variation entities.Variation, decisionMade bool) decision.FeatureDecision {
14531389
return decision.FeatureDecision{

optimizely/client/factory.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ type OptionFunc func(*OptimizelyClient, utils.ExecutionCtx)
4949
func (f OptimizelyFactory) GetClient(clientOptions ...OptionFunc) *OptimizelyClient {
5050
executionCtx := utils.NewCancelableExecutionCtx()
5151
appClient := &OptimizelyClient{
52-
isValid: false,
5352
executionCtx: executionCtx,
5453
}
5554
for _, opt := range clientOptions {
@@ -139,7 +138,6 @@ func (f OptimizelyFactory) ClientWithOptions(clientOptions Options) (*Optimizely
139138

140139
executionCtx := utils.NewCancelableExecutionCtx()
141140
client := &OptimizelyClient{
142-
isValid: false,
143141
executionCtx: executionCtx,
144142
}
145143

@@ -172,7 +170,6 @@ func (f OptimizelyFactory) ClientWithOptions(clientOptions Options) (*Optimizely
172170
client.eventProcessor = event.NewEventProcessor(executionCtx, event.DefaultBatchSize, event.DefaultEventQueueSize, event.DefaultEventFlushInterval)
173171
}
174172

175-
client.isValid = true
176173
return client, nil
177174
}
178175

0 commit comments

Comments
 (0)