public void CustomHttpRouteGetVitualPathRunsCustomHttpRoute() { // Arrange DomainHttpRoute route = new DomainHttpRoute( "myDomain", "api/{controller}/{action}", new { controller = "SomeValue", action = "SomeAction" } ); HostedHttpRouteCollection collection = new HostedHttpRouteCollection( new RouteCollection() ); collection.Add("domainRoute", route); HttpRequestMessage request = CreateHttpRequestMessageWithContext(); HttpRouteValueDictionary routeValues = new HttpRouteValueDictionary() { { "controller", "controllerName" }, { "action", "actionName" }, { "httproute", true } }; request.SetRouteData(new HttpRouteData(route, routeValues)); // Act IHttpVirtualPathData httpvPathData = collection.GetVirtualPath( request, "domainRoute", routeValues ); // Assert Assert.NotNull(httpvPathData); Assert.Equal("/api/controllerName/actionNameFromDomain", httpvPathData.VirtualPath); }
public void IgnoreRoute_GetVirtualPathReturnsNull() { // Arrange DomainHttpRoute route = new DomainHttpRoute("myDomain", "api/{controller}/{action}", new { controller = "SomeValue", action = "SomeAction" }); HostedHttpRouteCollection collection = new HostedHttpRouteCollection(new RouteCollection()); collection.IgnoreRoute("domainRoute", route.RouteTemplate); HttpRequestMessage request = CreateHttpRequestMessageWithContext(); HttpRouteValueDictionary routeValues = new HttpRouteValueDictionary() { { "controller", "controllerName" }, { "action", "actionName" }, { "httproute", true } }; request.SetRouteData(new HttpRouteData(route, routeValues)); // Act IHttpVirtualPathData httpvPathData = collection.GetVirtualPath(request, "domainRoute", routeValues); // Assert // Altough it contains the ignore route, GetVirtualPath from the ignored route will always return null. Assert.Equal(collection.Count, 1); Assert.Null(httpvPathData); }
public void ConvertHttpRouteDataToRouteDataRunsCustomHttpRoute() { // Arrange DomainHttpRoute route = new DomainHttpRoute( "myDomain", "api/{controller}/{action}", new { controller = "Values", action = "GetTenant" } ); HostedHttpRouteCollection collection = new HostedHttpRouteCollection( new RouteCollection() ); collection.Add("domainRoute", route); HttpRequestMessage request = CreateHttpRequestMessageWithContext(); IHttpRouteData httpRouteData = collection.GetRouteData(request); // Act RouteData routeData = httpRouteData.ToRouteData(); // Assert Assert.NotNull(routeData.Values); Assert.Equal(3, routeData.Values.Count); Assert.Equal("controllerName", routeData.Values["controller"]); Assert.Equal("actionName", routeData.Values["action"]); Assert.Equal("myDomain", routeData.Values["domain"]); }
public void CustomHttpRouteGetVitualPathRunsCustomHttpRoute() { // Arrange DomainHttpRoute route = new DomainHttpRoute("myDomain", "api/{controller}/{action}", new { controller = "SomeValue", action = "SomeAction" }); HostedHttpRouteCollection collection = new HostedHttpRouteCollection(new RouteCollection()); collection.Add("domainRoute", route); HttpRequestMessage request = CreateHttpRequestMessageWithContext(); HttpRouteValueDictionary routeValues = new HttpRouteValueDictionary() { {"controller", "controllerName"}, {"action", "actionName"}, {"httproute", true} }; request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(route, routeValues); // Act IHttpVirtualPathData httpvPathData = collection.GetVirtualPath(request, "domainRoute", routeValues); // Assert Assert.NotNull(httpvPathData); Assert.Equal("/api/controllerName/actionNameFromDomain", httpvPathData.VirtualPath); }
public void ConvertHttpRouteDataToRouteDataRunsCustomHttpRoute() { // Arrange DomainHttpRoute route = new DomainHttpRoute("myDomain", "api/{controller}/{action}", new { controller = "Values", action = "GetTenant" }); HostedHttpRouteCollection collection = new HostedHttpRouteCollection(new RouteCollection()); collection.Add("domainRoute", route); HttpRequestMessage request = CreateHttpRequestMessageWithContext(); IHttpRouteData httpRouteData = collection.GetRouteData(request); // Act RouteData routeData = httpRouteData.ToRouteData(); // Assert Assert.NotNull(routeData.Values); Assert.Equal(3, routeData.Values.Count); Assert.Equal("controllerName", routeData.Values["controller"]); Assert.Equal("actionName", routeData.Values["action"]); Assert.Equal("myDomain", routeData.Values["domain"]); }