コード例 #1
0
        public void RuntimeState_Install(RuntimeLevel level)
        {
            InstallAreaRoutes routes = GetInstallAreaRoutes(level);
            var endpoints            = new TestRouteBuilder();

            routes.CreateRoutes(endpoints);

            Assert.AreEqual(2, endpoints.DataSources.Count);
            EndpointDataSource route = endpoints.DataSources.First();

            Assert.AreEqual(2, route.Endpoints.Count);

            var endpoint1 = (RouteEndpoint)route.Endpoints[0];

            Assert.AreEqual($"install/api/{{action}}/{{id?}}", endpoint1.RoutePattern.RawText);
            Assert.AreEqual(Constants.Web.Mvc.InstallArea, endpoint1.RoutePattern.Defaults[AreaToken]);
            Assert.AreEqual("Index", endpoint1.RoutePattern.Defaults[ActionToken]);
            Assert.AreEqual(ControllerExtensions.GetControllerName <InstallApiController>(), endpoint1.RoutePattern.Defaults[ControllerToken]);
            Assert.AreEqual(endpoint1.RoutePattern.Defaults[AreaToken], typeof(InstallApiController).GetCustomAttribute <AreaAttribute>(false).RouteValue);

            var endpoint2 = (RouteEndpoint)route.Endpoints[1];

            Assert.AreEqual($"install/{{action}}/{{id?}}", endpoint2.RoutePattern.RawText);
            Assert.AreEqual(Constants.Web.Mvc.InstallArea, endpoint2.RoutePattern.Defaults[AreaToken]);
            Assert.AreEqual("Index", endpoint2.RoutePattern.Defaults[ActionToken]);
            Assert.AreEqual(ControllerExtensions.GetControllerName <InstallController>(), endpoint2.RoutePattern.Defaults[ControllerToken]);
            Assert.AreEqual(endpoint2.RoutePattern.Defaults[AreaToken], typeof(InstallController).GetCustomAttribute <AreaAttribute>(false).RouteValue);

            EndpointDataSource fallbackRoute = endpoints.DataSources.Last();

            Assert.AreEqual(1, fallbackRoute.Endpoints.Count);

            Assert.AreEqual("Fallback {*path:nonfile}", fallbackRoute.Endpoints[0].ToString());
        }
コード例 #2
0
        public void RuntimeState_No_Routes(RuntimeLevel level)
        {
            InstallAreaRoutes routes = GetInstallAreaRoutes(level);
            var endpoints            = new TestRouteBuilder();

            routes.CreateRoutes(endpoints);

            Assert.AreEqual(0, endpoints.DataSources.Count);
        }
コード例 #3
0
    /// <summary>
    ///     Enables the Umbraco installer
    /// </summary>
    public static IUmbracoEndpointBuilderContext UseInstallerEndpoints(this IUmbracoEndpointBuilderContext app)
    {
        if (!app.RuntimeState.UmbracoCanBoot())
        {
            return(app);
        }

        InstallAreaRoutes installerRoutes = app.ApplicationServices.GetRequiredService <InstallAreaRoutes>();

        installerRoutes.CreateRoutes(app.EndpointRouteBuilder);

        return(app);
    }
コード例 #4
0
        public void RuntimeState_Run()
        {
            InstallAreaRoutes routes = GetInstallAreaRoutes(RuntimeLevel.Run);
            var endpoints            = new TestRouteBuilder();

            routes.CreateRoutes(endpoints);

            Assert.AreEqual(1, endpoints.DataSources.Count);
            EndpointDataSource route = endpoints.DataSources.First();

            Assert.AreEqual(1, route.Endpoints.Count);

            Assert.AreEqual("install/{controller?}/{action?} HTTP: GET", route.Endpoints[0].ToString());
        }