private void Initialize( Mock <HttpContext> httpContext, string format = null, FormatSource?place = null) { OptionsManager = new TestOptionsManager <MvcOptions>(); // Setup options on mock service provider Options = OptionsManager.Value; // Set up default output formatters. Options.OutputFormatters.Add(new HttpNoContentOutputFormatter()); Options.OutputFormatters.Add(new StringOutputFormatter()); Options.OutputFormatters.Add(new JsonOutputFormatter( new JsonSerializerSettings(), ArrayPool <char> .Shared)); // Set up default mapping for json extensions to content type Options.FormatterMappings.SetMediaTypeMappingForFormat( "json", MediaTypeHeaderValue.Parse("application/json")); // Setup MVC services on mock service provider MockActionContext = CreateMockActionContext(httpContext, format, place); }
private ActionContext CreateMockActionContext( Mock <HttpContext> httpContext, string format, FormatSource?place) { var data = new RouteData(); if (place == FormatSource.RouteData || place == FormatSource.RouteAndQueryData) { data.Values.Add("format", format); httpContext.Setup(c => c.Request.Query.ContainsKey("format")).Returns(false); } if (place == FormatSource.QueryData || place == FormatSource.RouteAndQueryData) { httpContext.Setup(c => c.Request.Query.ContainsKey("format")).Returns(true); httpContext.Setup(c => c.Request.Query["format"]).Returns(format); } else if (place == null && format == null) { httpContext.Setup(c => c.Request.Query.ContainsKey("format")).Returns(false); } return(new ActionContext(httpContext.Object, data, new ActionDescriptor())); }
private void Initialize( Mock <HttpContext> httpContext, string format = null, FormatSource?place = null) { // Setup options on mock service provider MockOptions = new MvcOptions(); MockFormatterMappingOptions = new MvcFormatterMappingOptions(); // Set up default output formatters. MockOptions.OutputFormatters.Add(new HttpNoContentOutputFormatter()); MockOptions.OutputFormatters.Add(new StringOutputFormatter()); MockOptions.OutputFormatters.Add(new JsonOutputFormatter()); // Set up default mapping for json extensions to content type MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat( "json", MediaTypeHeaderValue.Parse("application/json")); var mvcOptions = new Mock <IOptions <MvcFormatterMappingOptions> >(); mvcOptions.Setup(o => o.Options).Returns(MockFormatterMappingOptions); IOptions = mvcOptions.Object; // Setup MVC services on mock service provider MockActionContext = CreateMockActionContext(httpContext, format, place); var scopedInstance = new Mock <IScopedInstance <ActionContext> >(); scopedInstance.Setup(s => s.Value).Returns(MockActionContext); ScopedInstance = scopedInstance.Object; }
public MockObjects(string format = null, FormatSource?place = null) { var httpContext = new Mock <HttpContext>(); httpContext.Setup(c => c.Request.Query.ContainsKey("format")).Returns(false); MockHttpContext = httpContext.Object; Initialize(httpContext, format, place); }
private void Initialize( Mock <HttpContext> httpContext, string format = null, FormatSource?place = null) { OptionsManager = Options.Create(new MvcOptions()); // Setup options on mock service provider MvcOptions = OptionsManager.Value; // Set up default output formatters. MvcOptions.OutputFormatters.Add(new HttpNoContentOutputFormatter()); MvcOptions.OutputFormatters.Add(new StringOutputFormatter()); MvcOptions.OutputFormatters.Add(SystemTextJsonOutputFormatter.CreateFormatter(new JsonOptions())); // Set up default mapping for json extensions to content type MvcOptions.FormatterMappings.SetMediaTypeMappingForFormat( "json", MediaTypeHeaderValue.Parse("application/json")); // Setup MVC services on mock service provider MockActionContext = CreateMockActionContext(httpContext, format, place); }