Skip to content

Commit 49f9584

Browse files
test: corrections
1 parent 9c6e9bb commit 49f9584

File tree

3 files changed

+50
-36
lines changed

3 files changed

+50
-36
lines changed

OptimizelySDK.Tests/DecisionServiceTest.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ public void TestGetVariationForFeatureExperimentGivenNonMutexGroupAndUserNotBuck
700700

701701
DecisionServiceMock.
702702
Setup(ds => ds.GetVariation(multiVariateExp, OptimizelyUserContextMock.Object,
703-
ProjectConfig, null)).
703+
ProjectConfig, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
704704
Returns<Variation>(null);
705705
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("multi_variate_feature");
706706

@@ -736,7 +736,7 @@ public void TestGetVariationForFeatureExperimentGivenNonMutexGroupAndUserIsBucke
736736
DecisionServiceMock.Setup(ds => ds.GetVariation(
737737
ProjectConfig.GetExperimentFromKey("test_experiment_multivariate"),
738738
OptimizelyUserContextMock.Object, ProjectConfig,
739-
It.IsAny<OptimizelyDecideOption[]>())).
739+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
740740
Returns(variation);
741741

742742
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("multi_variate_feature");
@@ -771,7 +771,7 @@ public void TestGetVariationForFeatureExperimentGivenMutexGroupAndUserIsBucketed
771771
DecisionServiceMock.
772772
Setup(ds =>
773773
ds.GetVariation(ProjectConfig.GetExperimentFromKey("group_experiment_1"),
774-
OptimizelyUserContextMock.Object, ProjectConfig)).
774+
OptimizelyUserContextMock.Object, ProjectConfig, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
775775
Returns(variation);
776776

777777
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("boolean_feature");
@@ -795,7 +795,7 @@ public void TestGetVariationForFeatureExperimentGivenMutexGroupAndUserNotBuckete
795795
DecisionServiceMock.
796796
Setup(ds => ds.GetVariation(It.IsAny<Experiment>(),
797797
It.IsAny<OptimizelyUserContext>(), ProjectConfig,
798-
It.IsAny<OptimizelyDecideOption[]>())).
798+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
799799
Returns(Result<Variation>.NullResult(null));
800800

801801
var featureFlag = ProjectConfig.GetFeatureFlagFromKey("boolean_feature");
@@ -1311,7 +1311,7 @@ public void TestGetVariationForFeatureWhenTheUserIsBuckedtedInBothExperimentAndR
13111311

13121312
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
13131313
OptimizelyUserContextMock.Object, ProjectConfig,
1314-
It.IsAny<OptimizelyDecideOption[]>())).
1314+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
13151315
Returns(variation);
13161316
var actualDecision = DecisionServiceMock.Object.GetVariationForFeatureExperiment(
13171317
featureFlag, OptimizelyUserContextMock.Object, userAttributes, ProjectConfig,

OptimizelySDK.Tests/OptimizelyTest.cs

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017-2023, Optimizely
2+
* Copyright 2017-2024, Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -3395,8 +3395,9 @@ public void TestActivateListener(UserAttributes userAttributes)
33953395
mockUserContext.Setup(ouc => ouc.GetUserId()).Returns(TestUserId);
33963396

33973397
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3398-
It.IsAny<OptimizelyUserContext>(), It.IsAny<ProjectConfig>()))
3399-
.Returns(variation);
3398+
It.IsAny<OptimizelyUserContext>(), It.IsAny<ProjectConfig>(),
3399+
It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
3400+
Returns(variation);
34003401
DecisionServiceMock.Setup(ds => ds.GetVariationForFeature(featureFlag,
34013402
It.IsAny<OptimizelyUserContext>(), It.IsAny<ProjectConfig>()))
34023403
.Returns(decision);
@@ -3509,9 +3510,10 @@ public void TestTrackListener(UserAttributes userAttributes, EventTags eventTags
35093510
ErrorHandlerMock.Object, LoggerMock.Object);
35103511
mockUserContext.Setup(ouc => ouc.GetUserId()).Returns(TestUserId);
35113512

3512-
DecisionServiceMock
3513-
.Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config))
3514-
.Returns(variation);
3513+
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3514+
It.IsAny<OptimizelyUserContext>(), Config, It.IsAny<OptimizelyDecideOption[]>(),
3515+
It.IsAny<bool>())).
3516+
Returns(variation);
35153517

35163518
// Adding notification listeners.
35173519
var notificationType = NotificationCenter.NotificationType.Track;
@@ -3565,9 +3567,10 @@ public void TestActivateSendsDecisionNotificationWithActualVariationKey()
35653567
It.IsAny<string>(),
35663568
It.IsAny<UserAttributes>(), It.IsAny<Dictionary<string, object>>()));
35673569

3568-
DecisionServiceMock
3569-
.Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config))
3570-
.Returns(variation);
3570+
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3571+
It.IsAny<OptimizelyUserContext>(), Config, It.IsAny<OptimizelyDecideOption[]>(),
3572+
It.IsAny<bool>())).
3573+
Returns(variation);
35713574

35723575
var optly = Helper.CreatePrivateOptimizely();
35733576
optly.SetFieldOrProperty("ProjectConfigManager", ConfigManager);
@@ -3622,9 +3625,10 @@ public void
36223625
It.IsAny<string>(),
36233626
It.IsAny<UserAttributes>(), It.IsAny<Dictionary<string, object>>()));
36243627

3625-
DecisionServiceMock
3626-
.Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config))
3627-
.Returns(variation);
3628+
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3629+
It.IsAny<OptimizelyUserContext>(), Config, It.IsAny<OptimizelyDecideOption[]>(),
3630+
It.IsAny<bool>())).
3631+
Returns(variation);
36283632

36293633
var optly = Helper.CreatePrivateOptimizely();
36303634
optly.SetFieldOrProperty("ProjectConfigManager", ConfigManager);
@@ -3666,8 +3670,9 @@ public void TestActivateSendsDecisionNotificationWithNullVariationKey()
36663670

36673671
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
36683672
It.IsAny<OptimizelyUserContext>(),
3669-
It.IsAny<ProjectConfig>(), null))
3670-
.Returns(Result<Variation>.NullResult(null));
3673+
It.IsAny<ProjectConfig>(), It.IsAny<OptimizelyDecideOption[]>(),
3674+
It.IsAny<bool>())).
3675+
Returns(Result<Variation>.NullResult(null));
36713676

36723677
optStronglyTyped.NotificationCenter.AddNotification(
36733678
NotificationCenter.NotificationType.Decision,
@@ -3727,9 +3732,10 @@ public void TestGetVariationSendsDecisionNotificationWithActualVariationKey()
37273732
ErrorHandlerMock.Object, LoggerMock.Object);
37283733
mockUserContext.Setup(ouc => ouc.GetUserId()).Returns(TestUserId);
37293734

3730-
DecisionServiceMock
3731-
.Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config))
3732-
.Returns(variation);
3735+
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3736+
It.IsAny<OptimizelyUserContext>(), Config, It.IsAny<OptimizelyDecideOption[]>(),
3737+
It.IsAny<bool>())).
3738+
Returns(variation);
37333739

37343740
optStronglyTyped.NotificationCenter.AddNotification(
37353741
NotificationCenter.NotificationType.Decision,
@@ -3788,9 +3794,10 @@ public void
37883794
ErrorHandlerMock.Object, LoggerMock.Object);
37893795
mockUserContext.Setup(ouc => ouc.GetUserId()).Returns(TestUserId);
37903796

3791-
DecisionServiceMock
3792-
.Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config))
3793-
.Returns(variation);
3797+
DecisionServiceMock.
3798+
Setup(ds => ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config
3799+
, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
3800+
Returns(variation);
37943801

37953802
optStronglyTyped.NotificationCenter.AddNotification(
37963803
NotificationCenter.NotificationType.Decision,
@@ -3828,8 +3835,9 @@ public void TestGetVariationSendsDecisionNotificationWithNullVariationKey()
38283835
It.IsAny<UserAttributes>(), It.IsAny<Dictionary<string, object>>()));
38293836

38303837
DecisionServiceMock.Setup(ds => ds.GetVariation(It.IsAny<Experiment>(),
3831-
It.IsAny<OptimizelyUserContext>(), It.IsAny<ProjectConfig>()))
3832-
.Returns(Result<Variation>.NullResult(null));
3838+
It.IsAny<OptimizelyUserContext>(), It.IsAny<ProjectConfig>()
3839+
, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
3840+
Returns(Result<Variation>.NullResult(null));
38333841
//DecisionServiceMock.Setup(ds => ds.GetVariation(experiment, TestUserId, Config, null)).Returns(Result<Variation>.NullResult(null));
38343842

38353843
optStronglyTyped.NotificationCenter.AddNotification(
@@ -3875,8 +3883,9 @@ public void
38753883
It.IsAny<UserAttributes>(), It.IsAny<Dictionary<string, object>>()));
38763884

38773885
DecisionServiceMock.Setup(ds => ds.GetVariation(experiment,
3878-
It.IsAny<OptimizelyUserContext>(), ConfigManager.GetConfig(), null))
3879-
.Returns(variation);
3886+
It.IsAny<OptimizelyUserContext>(), ConfigManager.GetConfig()
3887+
, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
3888+
Returns(variation);
38803889

38813890
var optly = Helper.CreatePrivateOptimizely();
38823891
var optStronglyTyped = optly.GetObject() as Optimizely;
@@ -3936,8 +3945,9 @@ public void
39363945
It.IsAny<UserAttributes>(), It.IsAny<Dictionary<string, object>>()));
39373946

39383947
DecisionServiceMock.Setup(ds =>
3939-
ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config, null))
3940-
.Returns(variation);
3948+
ds.GetVariation(experiment, It.IsAny<OptimizelyUserContext>(), Config
3949+
, It.IsAny<OptimizelyDecideOption[]>(), It.IsAny<bool>())).
3950+
Returns(variation);
39413951

39423952
var optly = Helper.CreatePrivateOptimizely();
39433953
var optStronglyTyped = optly.GetObject() as Optimizely;
@@ -5322,7 +5332,8 @@ public void TestGetAllFeatureVariablesReturnsNullScenarios()
53225332

53235333
LoggerMock.Verify(
53245334
log => log.Log(LogLevel.ERROR,
5325-
"Optimizely instance is not valid, failing getAllFeatureVariableValues call. type"),
5335+
"Optimizely instance is not valid, failing getAllFeatureVariableValues call. type")
5336+
,
53265337
Times.Once);
53275338
}
53285339

OptimizelySDK/Optimizely.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -931,10 +931,13 @@ internal OptimizelyDecision Decide(OptimizelyUserContext user,
931931
decisionReasons += flagDecisionResult.DecisionReasons;
932932
decision = flagDecisionResult.ResultObject;
933933
}
934-
935-
DecisionService.AddDecisionToUnitOfWork(userId, decision.Experiment?.Id,
936-
new Decision(decision.Variation?.Id));
937-
934+
935+
if (!options.Contains(OptimizelyDecideOption.IGNORE_USER_PROFILE_SERVICE))
936+
{
937+
DecisionService.AddDecisionToUnitOfWork(userId, decision.Experiment?.Id,
938+
new Decision(decision.Variation?.Id));
939+
}
940+
938941
var featureEnabled = false;
939942

940943
if (decision?.Variation != null)

0 commit comments

Comments
 (0)