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); }