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);
        }
Пример #5
0
        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));
        }