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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }