public void TryMatchMediaType_WithNonRawvalueRequest_DoesntMatchRequest_OnSingleton() { // Arrange IEdmModel model = ODataTestUtil.GetEdmModel(); IEdmSingleton president = model.EntityContainer.FindSingleton("President"); model.SchemaElements.OfType <IEdmEntityType>().First(e => e.Name == "FormatterPerson"); IEdmEntityType personType = model.SchemaElements.OfType <IEdmEntityType>().First(e => e.Name == "FormatterPerson"); IEdmStructuralProperty ageProperty = personType.FindProperty("Age") as IEdmStructuralProperty; Assert.NotNull(ageProperty); // Guard PropertySegment propertySegment = new PropertySegment(ageProperty); ODataPath path = new ODataPath(new SingletonSegment(president), propertySegment); ODataPrimitiveValueMediaTypeMapping mapping = new ODataPrimitiveValueMediaTypeMapping(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/President/Age/"); request.ODataProperties().Path = path; // Act double mapResult = mapping.TryMatchMediaType(request); // Assert Assert.Equal(0, mapResult); }
public void TryMatchMediaType_WithNonRawvalueRequest_DoesntMatchRequest() { IEdmModel model = ODataTestUtil.GetEdmModel(); IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); IEdmEntityType personType = model.SchemaElements.OfType <IEdmEntityType>().First(e => e.Name == "FormatterPerson"); IEdmStructuralProperty ageProperty = personType.FindProperty("Age") as IEdmStructuralProperty; Assert.NotNull(ageProperty); // Guard PropertySegment propertySegment = new PropertySegment(ageProperty); var keys = new[] { new KeyValuePair <string, object>("PerId", 1) }; KeySegment keySegment = new KeySegment(keys, personType, people); ODataPath path = new ODataPath(new EntitySetSegment(people), keySegment, propertySegment); ODataPrimitiveValueMediaTypeMapping mapping = new ODataPrimitiveValueMediaTypeMapping(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/People(1)/Age/"); request.ODataProperties().Path = path; double mapResult = mapping.TryMatchMediaType(request); Assert.Equal(0, mapResult); }
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 TryMatchMediaType_WithNonRawvalueRequest_DoesntMatchRequest() { 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); }