Esempio n. 1
0
        public void ODataBuilder_Should_ReturnBasicEntityKeyString()
        {
            var key    = Guid.NewGuid();
            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation), key).Build();

            actual.Should().Be($"relation({key})");
        }
Esempio n. 2
0
        public void ODataBuilder_Should_ReturnBasicEntityString_WithOrder()
        {
            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation))
                         .SetOrder(nameof(Relation.Name))
                         .Build();

            actual.Should().Be("relation?$orderby=name");
        }
Esempio n. 3
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();

                app.UseDirectoryBrowser(new DirectoryBrowserOptions
                {
                    FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "ui5")),
                    RequestPath  = "/ui5"
                });
            }
            //DefaultFilesOptions options = new DefaultFilesOptions();
            //options.DefaultFileNames.Clear();
            //options.DefaultFileNames.Add("Index.html");
            //app.UseDefaultFiles(options);

            app.UseHsts();
            app.UseHttpsRedirection();

            app.UseStaticFiles();

            app.UseCookiePolicy();

            app.UseAuthentication();

            var provider = new FileExtensionContentTypeProvider();

            provider.Mappings[".properties"] = "application/text";

            app.UseStaticFiles(new StaticFileOptions
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "ui5")),
                RequestPath         = "/ui5",
                ContentTypeProvider = provider
            });

            app.UseCors("UI5Policy");

            app.Use((context, next) =>
            {
                context.Response.Headers["OData-Version"] = "4.0";
                return(next.Invoke());
            });

            app.UseODataBatching();

            app.UseMvc(routes =>
            {
                routes.Select().Expand().Filter().OrderBy().MaxTop(null).Count();
                routes.MapODataServiceRoute("odata", "odata", ODataBuilder.GetModel(), new DefaultODataBatchHandler());
                routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
                routes.EnableDependencyInjection();
            });

            Helper.Methods.CreateRolesAsync(serviceProvider).Wait();
        }
Esempio n. 4
0
        public void ODataBuilder_Should_ReturnBasicEntityString_WithOrderDescendingAndSkip()
        {
            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation))
                         .SetOrder(nameof(Relation.Name))
                         .SetDescending(true)
                         .SetSkip(2)
                         .Build();

            actual.Should().Be("relation?$orderby=name desc&$skip=2");
        }
Esempio n. 5
0
        public void ODataBuilder_Should_ReturnFilteredQueryWithExpand()
        {
            var filter = new ODataFilterSelector <Relation, string>(x => x.Name, Enums.FilterOperator.Equal, "Johnson");

            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation))
                         .SetFilter(new ODataFilters(filter))
                         .Expand(new ODataBuilder <Relation, Guid>(nameof(Order)))
                         .Build();

            actual.Should().Be($"relation?$filter=name eq 'Johnson'&$expand=order");
        }
Esempio n. 6
0
        public void ODataBuilder_Should_ReturnWithBasicFilter()
        {
            var key    = Guid.NewGuid();
            var filter = new ODataFilterSelector <Relation, string>(x => x.Name, Enums.FilterOperator.Equal, "Johnson");

            var expand = new ODataBuilder <Relation, int>(nameof(Order));

            expand.SetFilter(new ODataFilters(filter));

            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation), key)
                         .Expand(expand)
                         .Build();

            actual.Should().Be($"relation({key})?$expand=order($filter=name eq 'Johnson')");
        }
Esempio n. 7
0
        public void ODataBuilder_Should_ReturnFilteredQueryWithExpand_With_FilterAndOrder()
        {
            var filter = new ODataFilterSelector <Relation, string>(x => x.Name, Enums.FilterOperator.Equal, "Johnson");
            var expand = new ODataBuilder <Relation, Guid>(nameof(Order));

            expand.SetFilter(filter);
            expand.SetOrder <Order, int>(x => x.OrderNumber);

            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation))
                         .SetFilter(new ODataFilters(filter))
                         .Expand(expand)
                         .Build();

            actual.Should().Be("relation?$filter=name eq 'Johnson'&$expand=order($filter=name eq 'Johnson';$orderby=ordernumber)");
        }
        static void GlobalConfigurationManager_OnConfiguration_Config_OData(object sender, EventArgs e)
        {
            HttpConfiguration config = (HttpConfiguration)sender;

            //config.EnableQuerySupport();
            config.MapODataServiceRoute(routeName: "OData", routePrefix: "odata", model: ODataBuilder.GetEdmModel());
        }
Esempio n. 9
0
        public void ODataBuilder_Should_ReturnBasicEntityString()
        {
            var actual = new ODataBuilder <Relation, Guid>(nameof(Relation)).Build();

            actual.Should().Be("relation");
        }