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();
            }
        }
Example #3
0
        //
        // 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");
        }