public AddGlobalProperty ( string property, object value ) : void | ||
property | string | Property name |
value | object | Property value. This may be a simple value, array, or object, /// or an object that supports IDynamicPropertyValue returning one of those. |
return | void |
public void AddGlobalProperty_DelegateValueProviderNullReturn_Throws() { var client = new KeenClient(settingsEnv); if (UseMocks) client.EventCollection = new EventCollectionMock(settingsEnv, AddEvent: new Action<string, JObject, IProjectSettings>((c, e, p) => { if ((p == settingsEnv) && (c == "AddEventTest") && (e["AProperty"].Value<string>() == "AValue") && (e["AGlobal"].Value<string>() == "value")) return; else throw new Exception("Unexpected value"); })); var i = 0; // return valid for the first two tests, then null client.AddGlobalProperty("AGlobal", new DynamicPropertyValue(() => i++ > 1 ? null : "value")); // This is the second test (AddGlobalProperty runs the first) Assert.DoesNotThrow(() => client.AddEvent("AddEventTest", new { AProperty = "AValue" })); // Third test should fail. Assert.Throws<KeenException>(() => { client.AddEvent("AddEventTest", new { AProperty = "AValue" }); }); }
public void AddGlobalProperty_DelegateValueProviderThrows_Throws() { var client = new KeenClient(settingsEnv); Assert.Throws<KeenException>(() => client.AddGlobalProperty("AGlobal", new DynamicPropertyValue(() => { throw new Exception("test exception"); }))); }
public void AddGlobalProperty_DelegateNullDynamicValue_Throws() { var client = new KeenClient(settingsEnv); Assert.Throws<KeenException>(() => { client.AddGlobalProperty("AGlobal", new DynamicPropertyValue(() => null)); }); }
public void AddGlobalProperty_DelegateNullValueProvider_Throws() { var client = new KeenClient(settingsEnv); Assert.Throws<KeenException>(() => { client.AddGlobalProperty("AGlobal", null); }); }
public void AddGlobalProperty_DelegateObjectValue_Success() { var client = new KeenClient(settingsEnv); if (UseMocks) client.EventCollection = new EventCollectionMock(settingsEnv, AddEvent: new Action<string, JObject, IProjectSettings>((c, e, p) => { if ((p == settingsEnv) && (c == "AddEventTest") && (e["AProperty"].Value<string>() == "AValue") && (e["AGlobal"].Value<JObject>()["SubProp1"].Value<string>() == "Value")) return; else throw new Exception("Unexpected value"); })); Assert.DoesNotThrow(() => { client.AddGlobalProperty("AGlobal", new DynamicPropertyValue(() => new { SubProp1 = "Value", SubProp2 = "Value" })); client.AddEvent("AddEventTest", new { AProperty = "AValue" }); }); }
public void AddGlobalProperty_CollectionValue_Success() { var client = new KeenClient(settingsEnv); if (UseMocks) client.EventCollection = new EventCollectionMock(settingsEnv, AddEvent: new Action<string, JObject, IProjectSettings>((c, e, p) => { if ((p == settingsEnv) && (c == "AddEventTest") && (e["AProperty"].Value<string>() == "AValue") && (e["AGlobal"].Values<int>().All((x) => (x == 1) || (x == 2) || (x == 3)))) return; else throw new Exception("Unexpected value"); })); Assert.DoesNotThrow(() => { client.AddGlobalProperty("AGlobal", new[] { 1, 2, 3, }); client.AddEvent("AddEventTest", new { AProperty = "AValue" }); }); }
public void AddGlobalProperty_InvalidValueNameBlank_Throws() { var client = new KeenClient(settingsEnv); Assert.Throws<KeenException>(() => client.AddGlobalProperty("", "AValue")); }
public void AddGlobalProperty_InvalidValueNameLength_Throws() { var client = new KeenClient(settingsEnv); Assert.Throws<KeenException>(() => client.AddGlobalProperty(new String('A', 256), "AValue")); }
public void AddGlobalProperty_DelegateSimpleValue_Success() { var client = new KeenClient(SettingsEnv); if (UseMocks) client.EventCollection = new EventCollectionMock(SettingsEnv, addEvent: new Action<string, JObject, IProjectSettings>((c, e, p) => { if ((p == SettingsEnv) && (c == "AddEventTest") && (e["AProperty"].Value<string>() == "AValue") && (e["AGlobal"]!=null)) return; else throw new Exception("Unexpected value"); })); Assert.DoesNotThrow(() => { client.AddGlobalProperty("AGlobal", new DynamicPropertyValue(() => DateTime.Now.Millisecond)); client.AddEvent("AddEventTest", new { AProperty = "AValue" }); client.AddEvent("AddEventTest", new { AProperty = "AValue" }); }); }