public void QueryComposition_WorkAsExpect_ForCaseInsensitive() { // Arrange const string caseInSensitive = "?$fIlTer=iD Eq 33"; ODataUriResolver resolver = new CaseInsensitiveResolver(); HttpServer server = new HttpServer(InitializeConfiguration("QueryCompositionCustomer", true, resolver)); HttpClient client = new HttpClient(server); // Act HttpResponseMessage response = GetResponse(client, server.Configuration, "http://localhost:8080/QueryCompositionCustomer" + caseInSensitive); // Assert Assert.True(response.IsSuccessStatusCode); Assert.Contains("[{\"Name\":\"Highest\",\"Add", response.Content.ReadAsStringAsync().Result); }
private static HttpConfiguration GetQueryOptionConfiguration(bool caseInsensitive) { var config = RoutingConfigurationFactory.CreateWithTypes(new[] { typeof(ParserExtenstionCustomersController) }); ODataUriResolver resolver = new ODataUriResolver(); if (caseInsensitive) { resolver = new CaseInsensitiveResolver(); } config.Count().OrderBy().Filter().Expand().MaxTop(null).Select(); config.MapODataServiceRoute("query", "query", builder => builder.AddService(ServiceLifetime.Singleton, sp => GetEdmModel()) .AddService <IEnumerable <IODataRoutingConvention> >(ServiceLifetime.Singleton, sp => ODataRoutingConventions.CreateDefaultWithAttributeRouting("query", config)) .AddService(ServiceLifetime.Singleton, sp => resolver)); return(config); }
private static HttpConfiguration GetConfiguration(bool caseInsensitive, bool unqualifiedNameCall) { IEdmModel model = ODataRoutingModel.GetModel(); HttpConfiguration config = RoutingConfigurationFactory.CreateWithTypes(new[] { typeof(MetadataController), typeof(ProductsController), typeof(RoutingCustomersController), }); ODataUriResolver resolver = new ODataUriResolver(); if (unqualifiedNameCall) { resolver = new UnqualifiedODataUriResolver(); if (caseInsensitive) { resolver = new UnqualifiedCaseInsensitiveResolver(); } } else { if (caseInsensitive) { resolver = new CaseInsensitiveResolver(); } } config.Count().Filter().OrderBy().Expand().MaxTop(null).Select(); config.MapODataServiceRoute("odata", "odata", builder => builder.AddService(ServiceLifetime.Singleton, sp => model) .AddService <IEnumerable <IODataRoutingConvention> >(ServiceLifetime.Singleton, sp => ODataRoutingConventions.CreateDefaultWithAttributeRouting("odata", config)) .AddService(ServiceLifetime.Singleton, sp => resolver)); return(config); }