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()); }
public void RuntimeState_No_Routes(RuntimeLevel level) { InstallAreaRoutes routes = GetInstallAreaRoutes(level); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(0, endpoints.DataSources.Count); }
/// <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); }
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()); }