internal FlagChangedEventArgs(string key, JToken newValue, JToken oldValue, bool flagWasDeleted) { Key = key; NewValue = ImmutableJsonValue.FromSafeValue(newValue); OldValue = ImmutableJsonValue.FromSafeValue(oldValue); FlagWasDeleted = flagWasDeleted; }
public void JsonVariationReturnsDefaultForUnknownFlag() { using (var client = ClientWithFlagsJson("{}")) { var defaultVal = ImmutableJsonValue.Of(3); Assert.Equal(defaultVal, client.JsonVariation(nonexistentFlagKey, defaultVal)); } }
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()); } }
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); }); } }
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); } }
/// <see cref="ILdClient.Track(string, ImmutableJsonValue)"/> public void Track(string eventName, ImmutableJsonValue data) { SendEventIfOnline(_eventFactoryDefault.NewCustomEvent(eventName, User, data.AsJToken())); }
/// <see cref="ILdClient.AllFlags()"/> public IDictionary <string, ImmutableJsonValue> AllFlags() { return(flagCacheManager.FlagsForUser(User) .ToDictionary(p => p.Key, p => ImmutableJsonValue.FromSafeValue(p.Value.value))); }
/// <see cref="ILdClient.JsonVariationDetail(string, ImmutableJsonValue)"/> public EvaluationDetail <ImmutableJsonValue> JsonVariationDetail(string key, ImmutableJsonValue defaultValue) { return(VariationInternal(key, defaultValue, ValueTypes.Json, _eventFactoryWithReasons)); }
/// <see cref="ILdClient.JsonVariation(string, ImmutableJsonValue)"/> public ImmutableJsonValue JsonVariation(string key, ImmutableJsonValue defaultValue) { return(VariationInternal(key, defaultValue, ValueTypes.Json, _eventFactoryDefault).Value); }