Beispiel #1
0
        private AspNetQueryStringLayoutRenderer CreateAndMockRenderer(params Tuple <string, string[]>[] pairs)
        {
#if !ASP_NET_CORE
            var httpContext    = Substitute.For <HttpContextBase>();
            var pairCollection = new NameValueCollection();
#else
            var httpContext    = HttpContext;
            var pairCollection = new QueryBuilder();
#endif

            foreach (var tuple in pairs)
            {
                foreach (var value in tuple.Item2)
                {
                    pairCollection.Add(tuple.Item1, value);
                }
            }

#if !ASP_NET_CORE
            httpContext.Request.QueryString.Returns(pairCollection);
#else
            httpContext.Request.QueryString = pairCollection.ToQueryString();
#endif

            var renderer = new AspNetQueryStringLayoutRenderer();
            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
            return(renderer);
        }
        private static AspNetQueryStringLayoutRenderer CreateAndMockRenderer(params Tuple <string, string[]>[] values)
        {
            var renderer = new AspNetQueryStringLayoutRenderer();

#if !ASP_NET_CORE
            var httpContext      = Substitute.For <HttpContextBase>();
            var namedClollection = new NameValueCollection();
            foreach (var tuple in values)
            {
                foreach (var value in tuple.Item2)
                {
                    namedClollection.Add(tuple.Item1, value);
                }
            }

            httpContext.Request.QueryString.Returns(namedClollection);

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
#else
            var httpContext = Substitute.For <HttpContextBase>();
            var dict        = new Dictionary <string, StringValues>();
            foreach (var tuple in values)
            {
                dict.Add(tuple.Item1, new StringValues(tuple.Item2));
            }
            IQueryCollection querystringValues = new QueryCollection(dict);

            httpContext.Request.Query.Returns(querystringValues);

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
#endif

            return(renderer);
        }
        public void NullKeyRendersEmptyString()
        {
            var httpContext = Substitute.For <HttpContextBase>();

            var renderer = new AspNetQueryStringLayoutRenderer();

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

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

            Assert.Empty(result);
        }
        public void KeyNotFoundRendersEmptyString_Flat_Formatting()
        {
            var httpContext      = Substitute.For <HttpContextBase>();
            var namedClollection = new NameValueCollection();

            namedClollection.Add("Id", "1");
            httpContext.Request.QueryString.Returns(namedClollection);

            var renderer = new AspNetQueryStringLayoutRenderer();

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
            renderer.QueryStringKeys     = new List <string> {
                "key"
            };
            renderer.OutputFormat = AspNetLayoutOutputFormat.Flat;

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

            Assert.Empty(result);
        }
        public void KeyFoundRendersValue_QueryString_Single_Item_Json_Formatting()
        {
            var expectedResult   = "[{\"Id\":\"1\"}]";
            var httpContext      = Substitute.For <HttpContextBase>();
            var namedClollection = new NameValueCollection();

            namedClollection.Add("Id", "1");
            httpContext.Request.QueryString.Returns(namedClollection);

            var renderer = new AspNetQueryStringLayoutRenderer();

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
            renderer.QueryStringKeys     = new List <string> {
                "Id"
            };
            renderer.OutputFormat = AspNetLayoutOutputFormat.Json;

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

            Assert.Equal(expectedResult, result);
        }
        public void KeyFoundRendersValue_QueryString_Multiple_Item_Flat_Formatting()
        {
            var expectedResult   = "Id:1," + Environment.NewLine + "Id2:2";
            var httpContext      = Substitute.For <HttpContextBase>();
            var namedClollection = new NameValueCollection();

            namedClollection.Add("Id", "1");
            namedClollection.Add("Id2", "2");
            httpContext.Request.QueryString.Returns(namedClollection);

            var renderer = new AspNetQueryStringLayoutRenderer();

            renderer.HttpContextAccessor = new FakeHttpContextAccessor(httpContext);
            renderer.QueryStringKeys     = new List <string> {
                "Id", "Id2"
            };
            renderer.OutputFormat = AspNetLayoutOutputFormat.Flat;

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

            Assert.Equal(expectedResult, result);
        }