private static HttpConfiguration CreateConfiguration(bool tracingEnabled = false) { IEdmModel model = ODataTestUtil.GetEdmModel(); HttpConfiguration configuration = CreateConfiguration(model); if (tracingEnabled) { configuration.Services.Replace(typeof(ITraceWriter), new Mock <ITraceWriter>().Object); } return(configuration); }
public void TryMatchMediaTypeWithNonRawvalueRequestDoesntMatchRequest() { IEdmModel model = ODataTestUtil.GetEdmModel(); PropertyAccessPathSegment propertySegment = new PropertyAccessPathSegment((model.GetEdmType(typeof(FormatterPerson)) as IEdmEntityType).FindProperty("Age")); ODataPath path = new ODataPath(new EntitySetPathSegment("People"), new KeyValuePathSegment("1"), propertySegment); ODataPrimitiveValueMediaTypeMapping mapping = new ODataPrimitiveValueMediaTypeMapping(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/People(1)/Age/"); request.ODataProperties().Model = model; request.ODataProperties().Path = path; double mapResult = mapping.TryMatchMediaType(request); Assert.Equal(0, mapResult); }
public void PostEntry_InODataAtomFormat() { var _config = new HttpConfiguration(); _config.EnableOData(ODataTestUtil.GetEdmModel()); using (HttpServer host = new HttpServer(_config)) { var _client = new HttpClient(host); HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(baseAddress + "People")); requestMessage.Content = new StringContent(BaselineResource.EntryTypePersonAtom, Encoding.UTF8, "application/atom+xml"); using (HttpResponseMessage response = _client.SendAsync(requestMessage).Result) { Assert.NotNull(response); Assert.Equal(HttpStatusCode.Created, response.StatusCode); Assert.Equal("application/atom+xml", response.Content.Headers.ContentType.MediaType); ODataTestUtil.VerifyResponse(response.Content, BaselineResource.EntryTypePersonAtom); } } }
public void PostEntry_InODataJsonVerboseFormat() { var config = new HttpConfiguration(); config.Routes.MapODataRoute(ODataTestUtil.GetEdmModel()); using (HttpServer host = new HttpServer(config)) { var client = new HttpClient(host); HttpRequestMessage requestMessage = new HttpRequestMessage(System.Net.Http.HttpMethod.Post, new Uri(baseAddress + "People")); requestMessage.Content = new StringContent(Resources.PersonRequestEntryInPlainOldJson); requestMessage.Content.Headers.ContentType = ODataTestUtil.ApplicationJsonMediaType; using (HttpResponseMessage response = client.SendAsync(requestMessage).Result) { Assert.NotNull(response); Assert.Equal(HttpStatusCode.Created, response.StatusCode); Assert.Equal("application/json", response.Content.Headers.ContentType.MediaType); ODataTestUtil.VerifyJsonResponse(response.Content, Resources.PersonEntryInJsonVerbose); } } }
public void PostEntry_InODataJsonFormat() { var _config = new HttpConfiguration(); _config.Routes.MapHttpRoute(ODataRouteNames.GetById, "{controller}({id})"); _config.Routes.MapHttpRoute(ODataRouteNames.Default, "{controller}"); _config.Formatters.Insert(0, new ODataMediaTypeFormatter(ODataTestUtil.GetEdmModel())); using (HttpServer host = new HttpServer(_config)) { var _client = new HttpClient(host); HttpRequestMessage requestMessage = new HttpRequestMessage(System.Net.Http.HttpMethod.Post, new Uri(baseAddress + "People")); requestMessage.Content = new StringContent(BaselineResource.ODataJsonPersonRequest); requestMessage.Content.Headers.ContentType = ODataTestUtil.ApplicationJsonMediaType; using (HttpResponseMessage response = _client.SendAsync(requestMessage).Result) { Assert.NotNull(response); Assert.Equal(HttpStatusCode.Created, response.StatusCode); Assert.Equal("application/json", response.Content.Headers.ContentType.MediaType); ODataTestUtil.VerifyJsonResponse(response.Content, BaselineResource.EntryTypePersonODataJson); } } }
public ODataFormatterTests() { _config = new HttpConfiguration(); _config.EnableOData(ODataTestUtil.GetEdmModel()); _serverFormatters = _config.Formatters.OfType <ODataMediaTypeFormatter>(); }