public void RegisterRoutesIsCalledOnAllServiceRouteMappersEvenWhenSomeThrowExceptions() { FakeServiceRouteMapper.RegistrationCalls = 0; var assembly = new Mock <IAssembly>(); assembly.Setup(x => x.GetTypes()).Returns(new[] { typeof(ExceptionOnRegisterServiceRouteMapper), typeof(ExceptionOnCreateInstanceServiceRouteMapper), typeof(FakeServiceRouteMapper) }); var al = new Mock <IAssemblyLocator>(); al.Setup(x => x.Assemblies).Returns(new[] { assembly.Object }); var tl = new TypeLocator { AssemblyLocator = al.Object }; var srm = new ServicesRoutingManager(new RouteCollection()) { TypeLocator = tl }; srm.RegisterRoutes(); Assert.AreEqual(1, FakeServiceRouteMapper.RegistrationCalls); }
public void TwoRoutesOnTheSameFolderHaveSimilarNames() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock <IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); srm.MapRoute("folder", "alt/url", new[] { "foo" }); //Assert var route = (Route)routeCollection[0]; Assert.AreEqual("folder-route0-instance0", route.DataTokens["Name"]); route = (Route)routeCollection[1]; Assert.AreEqual("folder-route1-instance0", route.DataTokens["Name"]); }
public void VirtualDirOnlyMakesRouteWithNoWildcardPrefix() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock <IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com/vdir" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var mockGlobals = new Mock <IGlobals>(); mockGlobals.Setup(x => x.ApplicationPath).Returns("/vdir"); TestableGlobals.SetTestableInstance(mockGlobals.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); //Assert Assert.AreEqual(1, routeCollection.Count); var route = (Route)routeCollection[0]; StringAssert.DoesNotStartWith("{", route.Url); }
public void SimpleDomainMakes1Route() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock <IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); //Assert Assert.AreEqual(1, routeCollection.Count); }
public void UrlCanStartWithSlash() { //Arrange _mockPortalController.Setup(x => x.GetPortals()).Returns(new ArrayList()); //Act var srm = new ServicesRoutingManager(new RouteCollection()); //Assert Assert.DoesNotThrow(() => srm.MapRoute("name", "/url", null, new[] { "foo" })); }
public void VirtualDirWithChild() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock <IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com/vdir" }, new PortalAliasInfo { HTTPAlias = "www.foo.com/vdir/child" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var mockGlobals = new Mock <IGlobals>(); mockGlobals.Setup(x => x.ApplicationPath).Returns("/vdir"); TestableGlobals.SetTestableInstance(mockGlobals.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); //Assert Assert.AreEqual(2, routeCollection.Count); var urls = routeCollection.Cast <Route>().Select(x => x.Url).ToList(); Assert.AreEqual(1, urls.Count(x => x.Contains("{prefix0}"))); //if 2 urls and only 1 has prefix 0 then the other has no prefixesed wcon }
public void NameSpaceRequiredOnMapRouteCalls([ValueSource("_emptyStringArrays")] string[] namespaces) { var srm = new ServicesRoutingManager(new RouteCollection()); Assert.Throws <ArgumentException>(() => srm.MapRoute("usm", "default", "url", null, namespaces)); }
public void RegisterRoutesIsCalledOnAllServiceRouteMappersEvenWhenSomeThrowExceptions() { FakeServiceRouteMapper.RegistrationCalls = 0; var assembly = new Mock<IAssembly>(); assembly.Setup(x => x.GetTypes()).Returns(new[] { typeof (ExceptionOnRegisterServiceRouteMapper), typeof (ExceptionOnCreateInstanceServiceRouteMapper), typeof (FakeServiceRouteMapper) }); var al = new Mock<IAssemblyLocator>(); al.Setup(x => x.Assemblies).Returns(new[] {assembly.Object}); var tl = new TypeLocator {AssemblyLocator = al.Object}; var srm = new ServicesRoutingManager(new RouteCollection()) {TypeLocator = tl}; srm.RegisterRoutes(); Assert.AreEqual(1, FakeServiceRouteMapper.RegistrationCalls); }
public void UniqueNameRequiredOnMapRouteCalls(string uniqueName) { var srm = new ServicesRoutingManager(new RouteCollection()); Assert.Throws <ArgumentNullException>(() => srm.MapRoute(uniqueName, "default", "url", null, new[] { "foo" })); }
public void TwoRoutesOnTheSameFolderHaveSimilarNames() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock<IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); srm.MapRoute("folder", "alt/url", new[] { "foo" }); //Assert var route = (Route)routeCollection[0]; Assert.AreEqual("folder-route0-instance0", route.DataTokens["Name"]); route = (Route)routeCollection[1]; Assert.AreEqual("folder-route1-instance0", route.DataTokens["Name"]); }
public void NameSpaceRequiredOnMapRouteCalls([ValueSource("_emptyStringArrays")] string[] namespaces) { var srm = new ServicesRoutingManager(new RouteCollection()); Assert.Throws<ArgumentException>(() => srm.MapRoute("usm", "default", "url", null, namespaces)); }
public void VirtualDirWithChild() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock<IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com/vdir" }, new PortalAliasInfo{HTTPAlias = "www.foo.com/vdir/child"} }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var mockGlobals = new Mock<IGlobals>(); mockGlobals.Setup(x => x.ApplicationPath).Returns("/vdir"); TestableGlobals.SetTestableInstance(mockGlobals.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); //Assert Assert.AreEqual(2, routeCollection.Count); var urls = routeCollection.Cast<Route>().Select(x => x.Url).ToList(); Assert.AreEqual(1, urls.Count(x => x.Contains("{prefix0}"))); //if 2 urls and only 1 has prefix 0 then the other has no prefixesed wcon }
public void VirtualDirOnlyMakesRouteWithNoWildcardPrefix() { //Arrange var portalInfo = new ArrayList { new PortalInfo { PortalID = 0 } }; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock<IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] { new PortalAliasInfo { HTTPAlias = "www.foo.com/vdir" } }); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var mockGlobals = new Mock<IGlobals>(); mockGlobals.Setup(x => x.ApplicationPath).Returns("/vdir"); TestableGlobals.SetTestableInstance(mockGlobals.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] { "foo" }); //Assert Assert.AreEqual(1, routeCollection.Count); var route = (Route)routeCollection[0]; StringAssert.DoesNotStartWith("{", route.Url); }
public void SimpleDomainMakes1Route() { //Arrange var portalInfo = new ArrayList {new PortalInfo {PortalID = 0}}; _mockPortalController.Setup(x => x.GetPortals()).Returns(portalInfo); var mockPac = new Mock<IPortalAliasController>(); mockPac.Setup(x => x.GetPortalAliasByPortalId(0)).Returns(new[] {new PortalAliasInfo{HTTPAlias = "www.foo.com"}}); TestablePortalAliasController.SetTestableInstance(mockPac.Object); var routeCollection = new RouteCollection(); var srm = new ServicesRoutingManager(routeCollection); //Act srm.MapRoute("folder", "url", new[] {"foo"}); //Assert Assert.AreEqual(1, routeCollection.Count); }
public void UniqueNameRequiredOnMapRouteCalls(string uniqueName) { var srm = new ServicesRoutingManager(new RouteCollection()); Assert.Throws<ArgumentNullException>(() => srm.MapRoute(uniqueName, "default", "url", null, new[] {"foo"})); }