Beispiel #1
0
 internal FlagChangedEventArgs(string key, JToken newValue, JToken oldValue, bool flagWasDeleted)
 {
     Key            = key;
     NewValue       = ImmutableJsonValue.FromSafeValue(newValue);
     OldValue       = ImmutableJsonValue.FromSafeValue(oldValue);
     FlagWasDeleted = flagWasDeleted;
 }
Beispiel #2
0
 public void JsonVariationReturnsDefaultForUnknownFlag()
 {
     using (var client = ClientWithFlagsJson("{}"))
     {
         var defaultVal = ImmutableJsonValue.Of(3);
         Assert.Equal(defaultVal, client.JsonVariation(nonexistentFlagKey, defaultVal));
     }
 }
Beispiel #3
0
        public void JsonVariationReturnsValue()
        {
            var jsonValue = new JObject {
                { "thing", new JValue("stuff") }
            };
            string flagsJson = TestUtil.JsonFlagsWithSingleFlag("flag-key", jsonValue);

            using (var client = ClientWithFlagsJson(flagsJson))
            {
                Assert.Equal(jsonValue, client.JsonVariation("flag-key", ImmutableJsonValue.Of(3)).AsJToken());
            }
        }
Beispiel #4
0
 public void TrackSendsCustomEvent()
 {
     using (LdClient client = MakeClient(user, "{}"))
     {
         JToken data = new JValue("hi");
         client.Track("eventkey", ImmutableJsonValue.FromJToken(data));
         Assert.Collection(eventProcessor.Events,
                           e => CheckIdentifyEvent(e, user),
                           e => {
             CustomEvent ce = Assert.IsType <CustomEvent>(e);
             Assert.Equal("eventkey", ce.Key);
             Assert.Equal(user.Key, ce.User.Key);
             Assert.Equal(data, ce.JsonData);
         });
     }
 }
Beispiel #5
0
        public void JsonVariationDetailReturnsValue()
        {
            var jsonValue = new JObject {
                { "thing", new JValue("stuff") }
            };
            var    reason    = EvaluationReason.Off.Instance;
            string flagsJson = TestUtil.JsonFlagsWithSingleFlag("flag-key", jsonValue, 1, reason);

            using (var client = ClientWithFlagsJson(flagsJson))
            {
                var expected = new EvaluationDetail <JToken>(jsonValue, 1, reason);
                var result   = client.JsonVariationDetail("flag-key", ImmutableJsonValue.Of(3));
                Assert.True(JToken.DeepEquals(expected.Value, result.Value.AsJToken()));
                Assert.Equal(expected.VariationIndex, result.VariationIndex);
                Assert.Equal(expected.Reason, result.Reason);
            }
        }
Beispiel #6
0
 /// <see cref="ILdClient.Track(string, ImmutableJsonValue)"/>
 public void Track(string eventName, ImmutableJsonValue data)
 {
     SendEventIfOnline(_eventFactoryDefault.NewCustomEvent(eventName, User, data.AsJToken()));
 }
Beispiel #7
0
 /// <see cref="ILdClient.AllFlags()"/>
 public IDictionary <string, ImmutableJsonValue> AllFlags()
 {
     return(flagCacheManager.FlagsForUser(User)
            .ToDictionary(p => p.Key, p => ImmutableJsonValue.FromSafeValue(p.Value.value)));
 }
Beispiel #8
0
 /// <see cref="ILdClient.JsonVariationDetail(string, ImmutableJsonValue)"/>
 public EvaluationDetail <ImmutableJsonValue> JsonVariationDetail(string key, ImmutableJsonValue defaultValue)
 {
     return(VariationInternal(key, defaultValue, ValueTypes.Json, _eventFactoryWithReasons));
 }
Beispiel #9
0
 /// <see cref="ILdClient.JsonVariation(string, ImmutableJsonValue)"/>
 public ImmutableJsonValue JsonVariation(string key, ImmutableJsonValue defaultValue)
 {
     return(VariationInternal(key, defaultValue, ValueTypes.Json, _eventFactoryDefault).Value);
 }