Skip to content

Commit 2d23fe1

Browse files
[FSSDK-11837] legacy api adjustment with key null support in decide (#388)
1 parent 7ebbb27 commit 2d23fe1

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

OptimizelySDK.Tests/OptimizelyUserContextTest.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,23 @@ public void DecideInvalidFlagKey()
405405
Assert.IsTrue(TestData.CompareObjects(decision, decisionExpected));
406406
}
407407

408+
[Test]
409+
public void DecideNullFlagKey()
410+
{
411+
var user = Optimizely.CreateUserContext(UserID);
412+
user.SetAttribute("browser_type", "chrome");
413+
414+
var decisionExpected = OptimizelyDecision.NewErrorDecision(
415+
null,
416+
user,
417+
DecisionMessage.Reason(DecisionMessage.FLAG_KEY_INVALID, "null"),
418+
ErrorHandlerMock.Object,
419+
LoggerMock.Object);
420+
var decision = user.Decide(null);
421+
422+
Assert.IsTrue(TestData.CompareObjects(decision, decisionExpected));
423+
}
424+
408425
[Test]
409426
public void DecideWhenConfigIsNull()
410427
{

OptimizelySDK/Optimizely.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,13 @@ OptimizelyDecideOption[] options
871871
ErrorHandler, Logger);
872872
}
873873

874+
if (key == null)
875+
{
876+
return OptimizelyDecision.NewErrorDecision(key, user,
877+
DecisionMessage.Reason(DecisionMessage.FLAG_KEY_INVALID, "null"),
878+
ErrorHandler, Logger);
879+
}
880+
874881
var allOptions = GetAllOptions(options).
875882
Where(opt => opt != OptimizelyDecideOption.ENABLED_FLAGS_ONLY).
876883
ToArray();

0 commit comments

Comments
 (0)