public void FormatFilter_ContextContainsFormat_ContainsProducesFilter_Conflicting( string format, FormatSource place) { // Arrange var produces = new ProducesAttribute("application/xml", new string[] { "application/foo", "text/bar" }); var mockObjects = new MockObjects(format, place); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces }); mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat( "xml", MediaTypeHeaderValue.Parse("application/xml")); var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert var result = Assert.IsType <HttpNotFoundResult>(resourceExecutingContext.Result); }
public void FormatFilter_MoreSpecificThan_Produces() { // Arrange var produces = new ProducesAttribute("application/xml", new string[] { }); var mockObjects = new MockObjects("xml", FormatSource.RouteData); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces }); mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat( "xml", MediaTypeHeaderValue.Parse("application/xml;version=1")); var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert var actionResult = resourceExecutingContext.Result; Assert.IsType <HttpNotFoundResult>(actionResult); }
public void FormatFilter_ContextContainsFormat_ContainsProducesFilter_Conflicting( string format, FormatSource place) { // Arrange var produces = new ProducesAttribute("application/xml", new string[] { "application/foo", "text/bar" }); var mockObjects = new MockObjects(format, place); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces }); mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat( "xml", MediaTypeHeaderValue.Parse("application/xml")); var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert var result = Assert.IsType<HttpNotFoundResult>(resourceExecutingContext.Result); }
public void FormatFilter_MoreSpecificThan_Produces() { // Arrange var produces = new ProducesAttribute("application/xml", new string[] { }); var mockObjects = new MockObjects("xml", FormatSource.RouteData); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces }); mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat( "xml", MediaTypeHeaderValue.Parse("application/xml;version=1")); var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert var actionResult = resourceExecutingContext.Result; Assert.IsType<HttpNotFoundResult>(actionResult); }
public void FormatFilter_ContextContainsFormat_ContainsProducesFilter_Matching( string format, FormatSource place, string contentType) { // Arrange var produces = new ProducesAttribute(contentType, new string[] { "application/foo", "text/bar" }); var mockObjects = new MockObjects(format, place); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces }); var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert Assert.Null(resourceExecutingContext.Result); }
public void FormatFilter_LessSpecificThan_Produces() { // Arrange var produces = new ProducesAttribute("application/xml;version=1", new string[] { }); var mockObjects = new MockObjects("xml", FormatSource.RouteData); var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { produces }); mockObjects.Options.FormatterMappings.SetMediaTypeMappingForFormat( "xml", MediaTypeHeaderValue.Parse("application/xml")); var filter = new FormatFilter(mockObjects.OptionsManager, mockObjects.ActionContextAccessor); // Act filter.OnResourceExecuting(resourceExecutingContext); // Assert Assert.Null(resourceExecutingContext.Result); }