示例#1
0
        public void SetHttpContext_ShouldNotSetHttpContextIfContextParamIsEmpty()
        {
            var builder = new NoticeBuilder();

            builder.SetHttpContext(null, null);

            var notice = builder.ToNotice();

            Assert.True(notice.Context == null);
        }
示例#2
0
        public void SetHttpContext_ShouldSetHttpContextProperty()
        {
            var builder = new NoticeBuilder();

            builder.SetHttpContext(new FakeHttpContext(), null);

            var notice = builder.ToNotice();

            Assert.NotNull(notice.HttpContext);
        }
示例#3
0
        public void ToJsonString_ShouldNotSerializeExceptionAndHttpContext()
        {
            var builder = new NoticeBuilder();

            builder.SetErrorEntries(new Exception());
            builder.SetHttpContext(new FakeHttpContext(), null);

            var notice = builder.ToNotice();
            var json   = NoticeBuilder.ToJsonString(notice);

            Assert.True(json.IndexOf("\"Exception\":", StringComparison.OrdinalIgnoreCase) == -1);
            Assert.True(json.IndexOf("\"HttpContext\":", StringComparison.OrdinalIgnoreCase) == -1);
        }
示例#4
0
        public void SetHttpContext_ShouldSetActionAndContextIfProvided()
        {
            var httpContext = new FakeHttpContext
            {
                Action    = "Action",
                Component = "Component"
            };

            var builder = new NoticeBuilder();

            builder.SetHttpContext(httpContext, null);

            var notice = builder.ToNotice();

            Assert.True(!string.IsNullOrEmpty(notice.Context.Action));
            Assert.True(!string.IsNullOrEmpty(notice.Context.Component));
        }
示例#5
0
        public void SetHttpContext_ContextHttpParameters(string url, string userAgent)
        {
            var httpContext = new FakeHttpContext
            {
                Url       = url,
                UserAgent = userAgent
            };

            var builder = new NoticeBuilder();

            builder.SetHttpContext(httpContext, null);

            var notice = builder.ToNotice();

            Assert.NotNull(notice.Context);
            Assert.True(string.IsNullOrEmpty(url) ? string.IsNullOrEmpty(notice.Context.Url) : notice.Context.Url.Equals(url));
            Assert.True(string.IsNullOrEmpty(userAgent) ? string.IsNullOrEmpty(notice.Context.UserAgent) : notice.Context.UserAgent.Equals(userAgent));
        }
示例#6
0
        public void SetHttpContext_ShouldSetParametersIfConfigIsNotDefined()
        {
            var httpContext = new FakeHttpContext
            {
                Parameters      = new Dictionary <string, string>(),
                EnvironmentVars = new Dictionary <string, string>(),
                Session         = new Dictionary <string, string>()
            };

            var builder = new NoticeBuilder();

            builder.SetHttpContext(httpContext, null);

            var notice = builder.ToNotice();

            Assert.NotNull(notice.Params);
            Assert.NotNull(notice.EnvironmentVars);
            Assert.NotNull(notice.Session);
        }
示例#7
0
        public void ToJsonString_ShouldTruncateNoticeBigger64KB()
        {
            var httpContext = new FakeHttpContext
            {
                Parameters = new Dictionary <string, string>
                {
                    { "long_param", new string('x', 64001) }
                }
            };

            var builder = new NoticeBuilder();

            builder.SetHttpContext(httpContext, null);

            var notice = builder.ToNotice();
            var json   = NoticeBuilder.ToJsonString(notice);

            Assert.NotNull(json);
            Assert.True(json.Length <= 64000);
        }
示例#8
0
        public void SetHttpContext_ContextUserInfo(string id, string name, string email)
        {
            var httpContext = new FakeHttpContext
            {
                UserName  = name,
                UserId    = id,
                UserEmail = email
            };

            var builder = new NoticeBuilder();

            builder.SetHttpContext(httpContext, null);

            var notice = builder.ToNotice();

            Assert.NotNull(notice.Context);
            Assert.NotNull(notice.Context.User);
            Assert.True(string.IsNullOrEmpty(id) ? string.IsNullOrEmpty(notice.Context.User.Id) : notice.Context.User.Id.Equals(id));
            Assert.True(string.IsNullOrEmpty(name) ? string.IsNullOrEmpty(notice.Context.User.Name) : notice.Context.User.Name.Equals(name));
            Assert.True(string.IsNullOrEmpty(email) ? string.IsNullOrEmpty(notice.Context.User.Email) : notice.Context.User.Email.Equals(email));
        }