public void GetValueProvider_ReturnsValueProvider_BackedByRoutingStore() { // Arrange HttpRequestMessage request = new HttpRequestMessage(); request.GetRoutingConventionsDataStore()["ID"] = 42; HttpActionContext actionContext = new HttpActionContext { ControllerContext = new HttpControllerContext { Request = request } }; ODataValueProviderFactory factory = new ODataValueProviderFactory(); // Act var valueProvider = factory.GetValueProvider(actionContext); // Assert Assert.NotNull(valueProvider); Assert.Equal(42, valueProvider.GetValue("ID").RawValue); }
public void CanModelBindNonStringData() { // Arrange HttpServer server = new HttpServer(); MockAssembly assembly = new MockAssembly(typeof(TestController)); server.Configuration.Services.Replace(typeof(IAssembliesResolver), new TestAssemblyResolver(assembly)); ODataModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet<TestClass>("Test"); server.Configuration.Routes.MapODataRoute("odata", "", builder.GetEdmModel()); HttpClient client = new HttpClient(server); // Act var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/Test"); request.GetRoutingConventionsDataStore()["test"] = new TestClass { Id = 42 }; var response = client.SendAsync(request).Result; // Assert TestClass result = response.Content.ReadAsAsync<TestClass>().Result; Assert.Equal(42, result.Id); }
public void GetRoutingConventionsDataStore_ReturnsSameInstance_IfCalledMultipleTimes() { // Arrange HttpRequestMessage request = new HttpRequestMessage(); // Act IDictionary<string, object> instance1 = request.GetRoutingConventionsDataStore(); IDictionary<string, object> instance2 = request.GetRoutingConventionsDataStore(); // Assert Assert.NotNull(instance1); Assert.NotNull(instance2); Assert.Same(instance1, instance2); }
public void GetRoutingConventionsDataStore_ReturnsEmptyNonNullDictionary() { // Arrange HttpRequestMessage request = new HttpRequestMessage(); // Act IDictionary<string, object> result = request.GetRoutingConventionsDataStore(); // Assert Assert.NotNull(result); Assert.Empty(result); }