public void ReturnsFlagVersionAsVersion() { var flag = new FeatureFlagBuilder().FlagVersion(123).Version(456).Build(); var flagEvent = new FeatureFlagEvent("my-flag", flag); Assert.Equal(123, flagEvent.EventVersion); }
public void FallsBackToVersionAsVersion() { var flag = new FeatureFlagBuilder().Version(456).Build(); var flagEvent = new FeatureFlagEvent("my-flag", flag); Assert.Equal(456, flagEvent.EventVersion); }
public void CanUpdateFlagForUser() { var flagCacheManager = ManagerWithCachedFlags(); var updatedFeatureFlag = new FeatureFlagBuilder().Value(LdValue.Of(5)).Version(12).Build(); flagCacheManager.UpdateFlagForUser("int-flag", updatedFeatureFlag, user); var updatedFlagFromCache = flagCacheManager.FlagForUser("int-flag", user); Assert.Equal(5, updatedFlagFromCache.value.AsInt); Assert.Equal(12, updatedFeatureFlag.version); }
public void RemoveFlagSendsFlagChangeEvent() { var listener = new FlagChangedEventSink(); listenerManager.FlagChanged += listener.Handler; var flagCacheManager = ManagerWithCachedFlags(); var updatedFeatureFlag = new FeatureFlagBuilder().Value(LdValue.Of(7)).Build(); flagCacheManager.RemoveFlagForUser("int-flag", user); var e = listener.Await(); Assert.Equal("int-flag", e.Key); Assert.True(e.FlagWasDeleted); }
internal static IImmutableDictionary <string, FeatureFlag> MakeSingleFlagData(string flagKey, LdValue value, int?variation = null, EvaluationReason reason = null) { var flag = new FeatureFlagBuilder().Value(value).Variation(variation).Reason(reason).Build(); return(ImmutableDictionary.Create <string, FeatureFlag>().SetItem(flagKey, flag)); }