public void RuntimeState_All_Routes(RuntimeLevel level) { var routes = GetRoutes(level); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(2, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); Assert.AreEqual(2, route.Endpoints.Count); var endpoint0 = (RouteEndpoint)route.Endpoints[0]; Assert.AreEqual($"{routes.GetPreviewHubRoute()}/negotiate", endpoint0.RoutePattern.RawText); var endpoint1 = (RouteEndpoint)route.Endpoints[1]; Assert.AreEqual($"{routes.GetPreviewHubRoute()}", endpoint1.RoutePattern.RawText); var endpoint3 = (RouteEndpoint)endpoints.DataSources.Last().Endpoints[0]; var previewControllerName = ControllerExtensions.GetControllerName <PreviewController>(); Assert.AreEqual( $"umbraco/{previewControllerName.ToLowerInvariant()}/{{action}}/{{id?}}", endpoint3.RoutePattern.RawText); Assert.AreEqual(Constants.Web.Mvc.BackOfficeArea, endpoint3.RoutePattern.Defaults["area"]); Assert.AreEqual("Index", endpoint3.RoutePattern.Defaults[ActionToken]); Assert.AreEqual(previewControllerName, endpoint3.RoutePattern.Defaults[ControllerToken]); Assert.AreEqual( endpoint3.RoutePattern.Defaults["area"], typeof(PreviewController).GetCustomAttribute <AreaAttribute>(false).RouteValue); }
public void RuntimeState_No_Routes(RuntimeLevel level) { var routes = GetBackOfficeAreaRoutes(level); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(0, endpoints.DataSources.Count); }
public void MapUmbracoApiRoute(string umbracoPath, string area, bool isBackOffice, string defaultAction) { var endpoints = new TestRouteBuilder(); endpoints.MapUmbracoApiRoute <Testing1Controller>(umbracoPath, area, isBackOffice, defaultAction); var route = endpoints.DataSources.First(); var endpoint = (RouteEndpoint)route.Endpoints[0]; var controllerName = ControllerExtensions.GetControllerName <Testing1Controller>(); var controllerNamePattern = controllerName.ToLowerInvariant(); var areaPattern = area?.ToLowerInvariant(); if (isBackOffice) { if (area.IsNullOrWhiteSpace()) { Assert.AreEqual( $"{umbracoPath}/backoffice/api/{controllerNamePattern}/{{action}}/{{id?}}", endpoint.RoutePattern.RawText); } else { Assert.AreEqual( $"{umbracoPath}/backoffice/{areaPattern}/{controllerNamePattern}/{{action}}/{{id?}}", endpoint.RoutePattern.RawText); } } else { if (area.IsNullOrWhiteSpace()) { Assert.AreEqual( $"{umbracoPath}/api/{controllerNamePattern}/{{action}}/{{id?}}", endpoint.RoutePattern.RawText); } else { Assert.AreEqual( $"{umbracoPath}/{areaPattern}/{controllerNamePattern}/{{action}}/{{id?}}", endpoint.RoutePattern.RawText); } } if (!area.IsNullOrWhiteSpace()) { Assert.AreEqual(area, endpoint.RoutePattern.Defaults[AreaToken]); } if (!defaultAction.IsNullOrWhiteSpace()) { Assert.AreEqual(defaultAction, endpoint.RoutePattern.Defaults["action"]); } Assert.AreEqual(controllerName, endpoint.RoutePattern.Defaults[ControllerToken]); }
public void TestRoute2_Regression_WhenExplicitlyProvided() { var route = TestRouteBuilder.BuildRoute( System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream( "Itinero.Test.test_data.routes.route2.json")); Assert.IsNotNull(route); Itinero.Profiles.Profile.ClearRegistered(); var instructions = route.GenerateInstructions(Itinero.Osm.Vehicles.Vehicle.Car.Fastest()); }
public void TestRoute2_Regression_WhenRegistered() { Itinero.Osm.Vehicles.Vehicle.RegisterVehicles(); var route = TestRouteBuilder.BuildRoute( System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream( "Itinero.Test.test_data.routes.route2.json")); Assert.IsNotNull(route); var instructions = route.GenerateInstructions(); }
public void TestRoute2_Regression_ThrowsWhenProfileNotRegistered() { var route = TestRouteBuilder.BuildRoute( System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream( "Itinero.Test.test_data.routes.route2.json")); Assert.IsNotNull(route); Itinero.Profiles.Profile.ClearRegistered(); Assert.Catch <Exception>(() => { var instructions = route.GenerateInstructions(); }); }
public void RuntimeState_Run() { var routes = GetInstallAreaRoutes(RuntimeLevel.Run); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(1, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); Assert.AreEqual(1, route.Endpoints.Count); Assert.AreEqual("install/{controller?}/{action?} HTTP: GET", route.Endpoints[0].ToString()); }
public void RuntimeState_Install(RuntimeLevel level) { var routes = GetInstallAreaRoutes(level); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(2, endpoints.DataSources.Count); var 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); var fallbackRoute = endpoints.DataSources.Last(); Assert.AreEqual(1, fallbackRoute.Endpoints.Count); Assert.AreEqual("Fallback {*path:nonfile}", fallbackRoute.Endpoints[0].ToString()); }
public void RuntimeState_All_Routes(RuntimeLevel level) { var routes = GetBackOfficeAreaRoutes(level); var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); Assert.AreEqual(1, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); Assert.AreEqual(3, route.Endpoints.Count); AssertMinimalBackOfficeRoutes(route); var endpoint4 = (RouteEndpoint)route.Endpoints[2]; var apiControllerName = ControllerExtensions.GetControllerName <Testing1Controller>(); Assert.AreEqual( $"umbraco/backoffice/api/{apiControllerName.ToLowerInvariant()}/{{action}}/{{id?}}", endpoint4.RoutePattern.RawText); Assert.IsFalse(endpoint4.RoutePattern.Defaults.ContainsKey(AreaToken)); Assert.IsFalse(endpoint4.RoutePattern.Defaults.ContainsKey(ActionToken)); Assert.AreEqual(apiControllerName, endpoint4.RoutePattern.Defaults[ControllerToken]); }