public void Should_return_OK_when_media_type_is_accepted() { var notAcceptableMessageHandler = new NotAcceptableMessageHandler(new HttpConfiguration()); var requestMessage = new HttpRequestMessage(HttpMethod.Get, "foo/bar"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml")); var response = ExecuteRequest(notAcceptableMessageHandler, requestMessage); response.StatusCode.ShouldEqual(HttpStatusCode.OK); }
public void Should_return_NotAcceptable_when_type_group_is_not_accepted() { var notAcceptableMessageHandler = new NotAcceptableMessageHandler(configuration); var requestMessage = new HttpRequestMessage(HttpMethod.Get, "foo/bar"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("weird/*")); var response = ExecuteRequest(notAcceptableMessageHandler, requestMessage); response.StatusCode.ShouldEqual(HttpStatusCode.NotAcceptable); }
public void Should_return_OK_when_type_group_is_accepted() { var customXmlFormatter = new XmlMediaTypeFormatter(); customXmlFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/vnd.webapi.contrib+xml")); configuration.Formatters.Add(customXmlFormatter); var notAcceptableMessageHandler = new NotAcceptableMessageHandler(configuration); var requestMessage = new HttpRequestMessage(HttpMethod.Get, "foo/bar"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/*")); var response = ExecuteRequest(notAcceptableMessageHandler, requestMessage); response.StatusCode.ShouldEqual(HttpStatusCode.OK); }
public void Should_return_OK_when_one_of_the_media_types_is_all_media_types() { var config = new HttpConfiguration(); var customXmlFormatter = new XmlMediaTypeFormatter(); customXmlFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/vnd.webapi.contrib+xml")); customXmlFormatter.AddMediaRangeMapping(new MediaTypeHeaderValue("*/*"),new MediaTypeHeaderValue("application/vnd.webapi.contrib+xml")); config.Formatters.Add(customXmlFormatter); var notAcceptableMessageHandler = new NotAcceptableMessageHandler(config); var requestMessage = new HttpRequestMessage(HttpMethod.Get, "foo/bar"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("weird/type")); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); var response = ExecuteRequest(notAcceptableMessageHandler, requestMessage); response.StatusCode.ShouldEqual(HttpStatusCode.OK); }