public void ShouldThrowWhenSendingMoreThan10CustomPropertiesToTrackEventTest() { var eventOptions = EventOptionsBuilder.Builder(EventTypes.LOG_IN) .WithUserId("USER_ID") .WithUserTraits("USER_NAME", "USER_EMAIL") .WithContext(_context) .WithProperties(new Dictionary <object, object>() { { "prop1", "CUSTOM_PARAM_VALUE" }, { "prop2", true }, { "prop3", 3 }, { "prop4", "CUSTOM_PARAM_VALUE" }, { "prop5", true }, { "prop6", 3 }, { "prop7", "CUSTOM_PARAM_VALUE" }, { "prop8", true }, { "prop9", 3 }, { "prop10", "CUSTOM_PARAM_VALUE" }, { "prop11", true }, { "prop12", 3 }, { "prop13", "CUSTOM_PARAM_VALUE" } }) .WithTimestamp(new DateTime()) .Build(); var eventManager = new EventManager(_options); eventManager.StartEventsPersist(); var apiManager = new ApiManager(eventManager, _options); try { apiManager.Track(eventOptions); } finally { eventManager.StopEventsPersist(); } }
public void ShouldFailVerifyEventCallWhenUnauthorizedTest() { var eventOptions = EventOptionsBuilder.Builder(EventTypes.LOG_IN) .WithUserId("USER_ID") .WithUserTraits("USER_NAME", "USER_EMAIL") .Build(); var eventManager = new EventManager(_options); eventManager.StartEventsPersist(); var apiManager = new ApiManager(eventManager, _options); try { var verifyResult = apiManager.Verify(eventOptions); Assert.IsNotNull(verifyResult); } catch (SecureNativeInvalidOptionsException) { } finally { eventManager.StopEventsPersist(); } }
// // GET: /events/track public string Track() { var context = SecureNative.SDK.Client.ContextBuilder() .WithIp("127.0.0.1") .WithClientToken(Environment.GetEnvironmentVariable("SECURENATIVE_CLIENT_TOKEN")) .WithHeaders(new Dictionary <string, string> { { "user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" } }) .Build(); /*var context = SecureNativeContextBuilder.FromHttpRequest(Request).Build();*/ var eventOptions = EventOptionsBuilder.Builder(EventTypes.LOG_IN) .WithUserId("2020") .WithUserTraits("track01", "*****@*****.**") .WithContext(context) .WithProperties(new Dictionary <object, object> { { "prop1", "CUSTOM_PARAM_VALUE" }, { "prop2", true }, { "prop3", 3 }, { "prop4", "CUSTOM_PARAM_VALUE" } }) .WithTimestamp(new DateTime()) .Build(); SecureNativeSdk.securenative.Track(eventOptions); return("track"); }