public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request.Form.Returns(new NameValueCollection {
                    { "key", expectedResult }
                });
#else
                httpContext.Request.HasFormContentType.Returns(true);
                var formCollection = new FormCollection(new Dictionary <string, StringValues> {
                    { "key", expectedResult }
                });
                httpContext.Request.Form.Returns(formCollection);
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Form = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request.Headers.Returns(new NameValueCollection {
                    { "key", expectedResult }
                });
#else
                var headerDictionary = new HeaderDictionary(new Dictionary <string, StringValues>()
                {
                    { "key", expectedResult }
                });
                httpContext.Request.Headers.Returns(headerDictionary);
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Header = "key";

                var result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request.QueryString.Returns(new NameValueCollection {
                    { "key", expectedResult }
                });
#else
                var queryCollection = new Microsoft.AspNetCore.Http.Internal.QueryCollection(new Dictionary <string, StringValues>()
                {
                    { "key", expectedResult }
                });
                httpContext.Request.Query.Returns(queryCollection);
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.QueryString         = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request.Cookies.Returns(new HttpCookieCollection {
                    new HttpCookie("key", expectedResult)
                });
#else
                var cookieCollection = Substitute.For <IRequestCookieCollection>();
                cookieCollection.Keys.Returns(x => new [] { "key" });
                cookieCollection.Count.Returns(x => 1);
                cookieCollection.TryGetValue("key", out Arg.Any <string>()).Returns(x => {
                    x[1] = expectedResult;
                    return(true);
                });
                cookieCollection.ContainsKey("key").Returns(true);
                httpContext.Request.Cookies.Returns(cookieCollection);
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Cookie = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request.QueryString.Returns(new NameValueCollection {
                    { "key", expectedResult }
                });
#else
                var queryCollection = Substitute.For <IQueryCollection>();
                queryCollection.Keys.Returns(x => new [] { "key" });
                queryCollection.Count.Returns(x => 1);
                queryCollection.TryGetValue("key", out Arg.Any <Microsoft.Extensions.Primitives.StringValues>()).Returns(x => {
                    x[1] = new Microsoft.Extensions.Primitives.StringValues(expectedResult);
                    return(true);
                });
                queryCollection.ContainsKey("key").Returns(true);
                httpContext.Request.Query.Returns(queryCollection);
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.QueryString         = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
        public void NullHttpContextRendersEmptyString()
        {
            var renderer = new AspNetRequestValueLayoutRenderer();

            string result = renderer.Render(new LogEventInfo());

            Assert.Empty(result);
        }
            public void KeyNotFoundRendersEmptyString()
            {
                var httpContext = Substitute.For <HttpContextBase>();

                var renderer = new AspNetRequestValueLayoutRenderer();

                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Item = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Empty(result);
            }
            public void NullKeyRendersEmptyString()
            {
                var httpContext = Substitute.For <HttpContextBase>();

                var renderer = new AspNetRequestValueLayoutRenderer();

                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.ServerVariable      = null;

                string result = renderer.Render(new LogEventInfo());

                Assert.Empty(result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

                httpContext.Request["key"].Returns(expectedResult);

                var renderer = new AspNetRequestValueLayoutRenderer();

                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Item = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

                httpContext.Request.ServerVariables.Returns(new NameValueCollection {
                    { "key", expectedResult }
                });

                var renderer = new AspNetRequestValueLayoutRenderer();

                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.ServerVariable      = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }
        public void NullRequestRendersEmptyStringWithoutLoggingError()
        {
            var internalLog = new StringWriter();

            InternalLogger.LogWriter = internalLog;
            InternalLogger.LogLevel  = LogLevel.Error;

            var httpContext = Substitute.For <HttpContextBase>();

            httpContext.Request.Returns(x => { throw new HttpException(); });

            var renderer = new AspNetRequestValueLayoutRenderer();

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
            renderer.Item = "key";

            string result = renderer.Render(new LogEventInfo());

            Assert.Empty(result);
            Assert.Equal(true, string.IsNullOrEmpty(internalLog.ToString()));
        }
            public void KeyFoundRendersValue()
            {
                var expectedResult = "value";
                var httpContext    = Substitute.For <HttpContextBase>();

#if !ASP_NET_CORE
                httpContext.Request["key"].Returns(expectedResult);
#else
                httpContext.Request.HttpContext.Items.Returns(new Dictionary <object, object>()
                {
                    { "key", expectedResult }
                });
#endif

                var renderer = new AspNetRequestValueLayoutRenderer();
                renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
                renderer.Item = "key";

                string result = renderer.Render(new LogEventInfo());

                Assert.Equal(expectedResult, result);
            }