public async Task AttributeRouting_QueryProperty_AfterCallBoundFunction() { // Arrange const string RequestUri = @"http://localhost/Customers(12)/NS.GetOrder(orderId=4)/Amount"; CustomersModelWithInheritance model = new CustomersModelWithInheritance(); HttpConfiguration config = new[] { typeof(CustomersController) }.GetHttpConfiguration(); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; config.MapODataServiceRoute("odata", "", model.Model); HttpServer server = new HttpServer(config); config.EnsureInitialized(); HttpClient client = new HttpClient(server); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, RequestUri); // Act HttpResponseMessage response = await client.SendAsync(request); string responseString = await response.Content.ReadAsStringAsync(); // Assert Assert.True(response.IsSuccessStatusCode); Assert.Equal("{\r\n \"@odata.context\":\"http://localhost/$metadata#Edm.Int32\",\"value\":56\r\n}", responseString); }
public async Task DollarFormat_Applies_IfPresent(string path, string mediaTypeFormat) { // Arrange MediaTypeHeaderValue expected = MediaTypeHeaderValue.Parse(mediaTypeFormat); string url = string.Format("http://localhost/{0}?$format={1}", path, mediaTypeFormat); IEdmModel model = GetEdmModel(); var configuration = new[] { typeof(FormatCustomersController), typeof(ThisController) }.GetHttpConfiguration(); HttpServer server = new HttpServer(configuration); HttpClient client = new HttpClient(server); configuration.MapODataServiceRoute("odata", routePrefix: null, model: model); // Act HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url); request.Headers.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); HttpResponseMessage response = await client.SendAsync(request); // Assert response.EnsureSuccessStatusCode(); Assert.Equal(expected, response.Content.Headers.ContentType); }
public void NullableEnumParameter_Works_WithNullEnumValue() { // Arrange const string expect = "{\r\n" + " \"@odata.context\":\"http://localhost/odata/$metadata#Edm.Boolean\",\"value\":false\r\n" + "}"; HttpConfiguration config = new[] { typeof(NullableEnumValueController) }.GetHttpConfiguration(); config.MapODataServiceRoute("odata", "odata", GetSampleModel()); HttpClient client = new HttpClient(new HttpServer(config)); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/odata/NullableEnumFunction(ColorParameter=null)"); // Act HttpResponseMessage respone = client.SendAsync(request).Result; // Assert Assert.Equal(expect, respone.Content.ReadAsStringAsync().Result); }