Example #1
0
        public void GetChildrenReturnsProperDisplayOrderWithLotsOfNodes()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        node1   = new SiteMapNodeInfo("node1");
            SiteMapNodeInfo        node2   = new SiteMapNodeInfo("node2");
            SiteMapNodeInfo        node3   = new SiteMapNodeInfo("node3");
            SiteMapNodeInfo        node4   = new SiteMapNodeInfo("node4");
            SiteMapNodeInfo        node5   = new SiteMapNodeInfo("node5");
            SiteMapNodeInfo        node6   = new SiteMapNodeInfo("node6");
            SiteMapNodeInfo        node7   = new SiteMapNodeInfo("node7");
            SiteMapNodeInfo        node8   = new SiteMapNodeInfo("node8");

            service.AddNode(node2, 2);
            service.AddNode(node3);
            service.AddNode(node1, 1);
            service.AddNode(node4, 4);
            service.AddNode(node5);
            service.AddNode(node6, 10);
            service.AddNode(node7);
            service.AddNode(node8, 1000);

            Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]);
            Assert.AreSame(node4, service.GetChildren(service.RootNode.Key)[2]);
            Assert.AreSame(node6, service.GetChildren(service.RootNode.Key)[3]);
            Assert.AreSame(node8, service.GetChildren(service.RootNode.Key)[4]);
            Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[5]);
            Assert.AreSame(node5, service.GetChildren(service.RootNode.Key)[6]);
            Assert.AreSame(node7, service.GetChildren(service.RootNode.Key)[7]);
        }
        protected virtual void AddGlobalServices(IServiceCollection globalServices)
        {
            globalServices.AddNew <EnterpriseLibraryAuthorizationService, IAuthorizationService>();
            _siteMapBuilderService = globalServices.AddNew <SiteMapBuilderService, ISiteMapBuilderService>();

            globalServices.Add <IPostalInfoLookupService>(
                new PostalInfoLookupService(PostalInfoLookupDataSet.CreateLoaded()));
        }
Example #3
0
        public void CanSetPropertiesToRootNode()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();

            service.RootNode.Title = "Title";

            Assert.AreEqual("Title", service.RootNode.Title);
        }
Example #4
0
        public void ThrowsWhenSpecifyingEmptyAuthorizationRule()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       parent  = new SiteMapNodeInfo("parent");
            string rule = String.Empty;

            service.AddNode(parent, rule);
        }
Example #5
0
        public void NodeThatDoesNotRequireAuthorizationReturnsNullAuthorizationRule()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node    = new SiteMapNodeInfo("node");

            service.AddNode(node);

            Assert.IsNull(service.GetAuthorizationRule(node.Key));
        }
Example #6
0
        public void AssociateAuthorizationRuleWithNode()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node    = new SiteMapNodeInfo("node");

            service.AddNode(node, "rule");

            Assert.AreEqual("rule", service.GetAuthorizationRule(node.Key));
        }
Example #7
0
        public void CannotAddNodesWithSameKey()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node1   = new SiteMapNodeInfo("node");
            SiteMapNodeInfo       node2   = new SiteMapNodeInfo("node");

            service.AddNode(node1);
            service.AddNode(node2);
        }
Example #8
0
        public void CanAddNodeWithUIOrderSet()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        node    = new SiteMapNodeInfo("parent");

            service.AddNode(node, 1);

            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node));
        }
Example #9
0
        public void VerifyThatAddSingleNodeAddsANodeToTheRoot()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node    = new SiteMapNodeInfo("node");

            service.AddNode(node);

            Assert.AreEqual(1, service.GetChildren(service.RootNode.Key).Count);
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node));
        }
        public void CustomersActionsGetsRegisteredOnSiteMap()
        {
            TestableCustomersModuleInitializer moduleInitializer = new TestableCustomersModuleInitializer();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo nodeSearchOrder = siteMapBuilder.GetChildren("Customers")[0];

            Assert.AreEqual("SearchCustomer", nodeSearchOrder.Key);
        }
        public void OrdersGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService     siteMapBuilder    = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo node = siteMapBuilder.GetChildren(siteMapBuilder.RootNode.Key)[0];

            Assert.AreEqual("Orders", node.Key);
        }
        public void AdminModuleInitializerGetsRegisteredOnSiteMap()
        {
            TestableModule        module  = new TestableModule();
            SiteMapBuilderService service = new SiteMapBuilderService();

            module.TestRegisterSiteMapInformation(service);

            SiteMapNodeInfo node = service.GetChildren(service.RootNode.Key)[0];

            Assert.AreEqual("Admin", node.Key);
        }
        public void AdminModuleInitializerGetsRegisterOnSiteMapAdministerPermissionsAsChildNode()
        {
            TestableModule        module  = new TestableModule();
            SiteMapBuilderService service = new SiteMapBuilderService();

            module.TestRegisterSiteMapInformation(service);

            SiteMapNodeInfo node = service.GetChildren(service.RootNode.Key)[0];

            Assert.AreEqual(1, service.GetChildren(node.Key).Count);
            Assert.AreEqual("AllowAdministerPermissions", service.GetAuthorizationRule(service.GetChildren(node.Key)[0].Key));
        }
Example #14
0
        public void CanBuildSimpleTree()
        {
            SiteMapBuilderService service    = new SiteMapBuilderService();
            SiteMapNodeInfo       child      = new SiteMapNodeInfo("child");
            SiteMapNodeInfo       grandChild = new SiteMapNodeInfo("grandChild");

            service.AddNode(child);
            service.AddNode(grandChild, child);

            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(child));
            Assert.IsTrue(service.GetChildren(child.Key).Contains(grandChild));
        }
        public void TestGetRootNodeCoreReturnsProviderManagedRootNode()
        {
            ModuleSiteMapProvider provider = new ModuleSiteMapProvider();

            provider.AuthorizationService = new MockAuthorizationService();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            provider.SiteMapBuilder = siteMapBuilder;

            Assert.IsNotNull(provider.RootNode);
            Assert.AreSame(provider, provider.RootNode.Provider);
        }
Example #16
0
        public void RegisterSiteMapInformationRegistersOneNodeWithTwoChilds()
        {
            TestableModule        module = new TestableModule();
            SiteMapBuilderService siteMapBuilderService = new SiteMapBuilderService();

            module.TestRegisterSiteMapInformation(siteMapBuilderService);

            ReadOnlyCollection <SiteMapNodeInfo> nodes = siteMapBuilderService.GetChildren(siteMapBuilderService.RootNode.Key);

            Assert.AreEqual(1, nodes.Count);
            Assert.AreEqual(2, siteMapBuilderService.GetChildren(nodes[0].Key).Count);
        }
Example #17
0
        public void CanSpecifyAuthorizationRuleWhenAddingChildNode()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       parent  = new SiteMapNodeInfo("parent");
            SiteMapNodeInfo       child   = new SiteMapNodeInfo("child");

            service.AddNode(parent);
            service.AddNode(child, parent, "rule");

            Assert.IsNull(service.GetAuthorizationRule(parent.Key));
            Assert.AreEqual("rule", service.GetAuthorizationRule(child.Key));
        }
Example #18
0
        public void CanSpecifyAuthorizationRuleWhenAddingNodesWithPreferredDisplayOrder()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        child2  = new SiteMapNodeInfo("child1");
            SiteMapNodeInfo        child1  = new SiteMapNodeInfo("child2");

            service.AddNode(child2, "rule");
            service.AddNode(child1, "rule", 1000);

            Assert.AreSame(child1, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(child2, service.GetChildren(service.RootNode.Key)[1]);
        }
Example #19
0
        public void AddTwoNodesWorks()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node1   = new SiteMapNodeInfo("node1");
            SiteMapNodeInfo       node2   = new SiteMapNodeInfo("node2");

            service.AddNode(node1);
            service.AddNode(node2);

            Assert.AreEqual(2, service.GetChildren(service.RootNode.Key).Count);
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2));
        }
Example #20
0
        public void OnLoadRegistersRequiredPermissionsAndSiteMapNodesUsingServicesInModuleContainer()
        {
            MockRootCompositionContainer rootContainer         = new MockRootCompositionContainer();
            MockPermissionCatalog        permissionCatalog     = rootContainer.Services.AddNew <MockPermissionCatalog, IPermissionsCatalog>();
            SiteMapBuilderService        siteMapBuilderService = rootContainer.Services.AddNew <SiteMapBuilderService, ISiteMapBuilderService>();
            CompositionContainer         moduleContainer       = rootContainer.Containers.AddNew <CompositionContainer>();
            TestableModule module = new TestableModule();

            module.Load(moduleContainer);

            Assert.IsTrue(module.RegisterRequiredPermissionsCalled);
            Assert.IsTrue(module.RegisterSiteMapInformationCalled);
            Assert.AreSame(siteMapBuilderService, module.SiteMapBuilderService);
            Assert.AreSame(permissionCatalog, module.PermissionCatalog);
        }
Example #21
0
        public void GetChildrenReturnsTwoTopLevelNodesInDisplayOrder()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        node1   = new SiteMapNodeInfo("node1");
            SiteMapNodeInfo        node2   = new SiteMapNodeInfo("node2");

            service.AddNode(node2, 2);
            service.AddNode(node1, 1);

            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2));

            Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]);
        }
        public void RootNodeContainsAddedChild()
        {
            ModuleSiteMapProvider provider = new ModuleSiteMapProvider();

            provider.AuthorizationService = new MockAuthorizationService();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            provider.SiteMapBuilder = siteMapBuilder;

            SiteMapNodeInfo child = new SiteMapNodeInfo("child");

            siteMapBuilder.AddNode(child);

            Assert.AreEqual(1, provider.RootNode.ChildNodes.Count);
            Assert.AreEqual("child", provider.RootNode.ChildNodes[0].Key);
        }
Example #23
0
        public void GetChildrenReturnsChildNodesInDisplayOrder()
        {
            ISiteMapBuilderService service  = new SiteMapBuilderService();
            SiteMapNodeInfo        parent   = new SiteMapNodeInfo("parent");
            SiteMapNodeInfo        toplevel = new SiteMapNodeInfo("toplevel");
            SiteMapNodeInfo        child1   = new SiteMapNodeInfo("child1");
            SiteMapNodeInfo        child2   = new SiteMapNodeInfo("child2");

            service.AddNode(toplevel);
            service.AddNode(parent, 1);
            service.AddNode(child2, parent);
            service.AddNode(child1, parent, 100);

            Assert.AreSame(parent, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(toplevel, service.GetChildren(service.RootNode.Key)[1]);

            Assert.AreSame(child1, service.GetChildren(parent.Key)[0]);
            Assert.AreSame(child2, service.GetChildren(parent.Key)[1]);
        }
        public void UserGrantedAccessToNodeWhenNoAuthServiceDefined()
        {
            TestableModuleSiteMapProvider provider = new TestableModuleSiteMapProvider();

            provider.AuthorizationService = new MockAuthorizationService();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            provider.SiteMapBuilder = siteMapBuilder;

            SiteMapNodeInfo child = new SiteMapNodeInfo("node");

            siteMapBuilder.AddNode(child, "TestRule");

            SiteMapNode node = provider.RootNode.ChildNodes[0];

            Assert.AreEqual(1, provider.RootNode.ChildNodes.Count);
            Assert.AreEqual("node", node.Key);

            Assert.IsTrue(provider.TestIsAccessibleToUser(node));
        }
Example #25
0
        public void GetChildrenReturnsThreeTopLevelNodesInDisplayOrderWhenOneDoesNotSpecifyPreference()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        node1   = new SiteMapNodeInfo("node1");
            SiteMapNodeInfo        node2   = new SiteMapNodeInfo("node2");
            SiteMapNodeInfo        node3   = new SiteMapNodeInfo("node3");

            service.AddNode(node2, 2);
            service.AddNode(node3);
            service.AddNode(node1, 1);


            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node3));

            Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]);
            Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[2]);
        }
        public void UserDeniedAccessToNodeWhenLackingRequiredRole()
        {
            TestableModuleSiteMapProvider provider             = new TestableModuleSiteMapProvider();
            SiteMapBuilderService         siteMapBuilder       = new SiteMapBuilderService();
            MockAuthorizationService      authorizationService = new MockAuthorizationService();

            authorizationService.ShouldAuthorize = false;
            provider.SiteMapBuilder       = siteMapBuilder;
            provider.AuthorizationService = authorizationService;

            SiteMapNodeInfo child = new SiteMapNodeInfo("node");

            siteMapBuilder.AddNode(child, "TestRule");

            SiteMapNode node = provider.RootNode.ChildNodes[0];

            Assert.AreEqual(1, provider.RootNode.ChildNodes.Count);
            Assert.AreEqual("node", node.Key);

            Assert.IsFalse(provider.TestIsAccessibleToUser(node));
        }
        public void CanBuildSimpleTree()
        {
            ModuleSiteMapProvider provider = new ModuleSiteMapProvider();

            provider.AuthorizationService = new MockAuthorizationService();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            provider.SiteMapBuilder = siteMapBuilder;

            SiteMapNodeInfo child           = new SiteMapNodeInfo("child");
            SiteMapNodeInfo grandChild      = new SiteMapNodeInfo("grandChild");
            SiteMapNodeInfo greatGrandChild = new SiteMapNodeInfo("greatGrandChild");

            siteMapBuilder.AddNode(child);
            siteMapBuilder.AddNode(grandChild, child);
            siteMapBuilder.AddNode(greatGrandChild, grandChild);

            Assert.AreEqual(1, provider.RootNode.ChildNodes.Count);
            Assert.AreEqual("child", provider.RootNode.ChildNodes[0].Key);
            Assert.AreEqual("grandChild", provider.RootNode.ChildNodes[0].ChildNodes[0].Key);
            Assert.AreEqual("greatGrandChild", provider.RootNode.ChildNodes[0].ChildNodes[0].ChildNodes[0].Key);
        }
        public void OrdersActionsGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService     siteMapBuilder    = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo nodeCreateNewOrder = siteMapBuilder.GetChildren("Orders")[0];

            Assert.AreEqual("CreateNewOrder", nodeCreateNewOrder.Key);

            SiteMapNodeInfo nodeMySavedDrafts = siteMapBuilder.GetChildren("Orders")[1];

            Assert.AreEqual("MySavedDrafts", nodeMySavedDrafts.Key);

            SiteMapNodeInfo nodeMyApprovals = siteMapBuilder.GetChildren("Orders")[2];

            Assert.AreEqual("MyApprovals", nodeMyApprovals.Key);

            SiteMapNodeInfo nodeSearchOrder = siteMapBuilder.GetChildren("Orders")[3];

            Assert.AreEqual("SearchOrder", nodeSearchOrder.Key);
        }
Example #29
0
        public void GetChildrenReturnsProperDisplayOrderWhenSeveralDoNotSpecifyPreference()
        {
            ISiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo        node1   = new SiteMapNodeInfo("node1");
            SiteMapNodeInfo        node2   = new SiteMapNodeInfo("node2");
            SiteMapNodeInfo        node3   = new SiteMapNodeInfo("node3");
            SiteMapNodeInfo        node4   = new SiteMapNodeInfo("node4");

            service.AddNode(node2, 2);
            service.AddNode(node3);
            service.AddNode(node1, 1);
            service.AddNode(node4);


            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node3));
            Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node4));

            Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]);
            Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]);
            Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[2]);
            Assert.AreSame(node4, service.GetChildren(service.RootNode.Key)[3]);
        }
 protected virtual void AddGlobalServices(IServiceCollection globalServices)
 {
     globalServices.AddNew <EnterpriseLibraryAuthorizationService, IAuthorizationService>();
     _siteMapBuilderService = globalServices.AddNew <SiteMapBuilderService, ISiteMapBuilderService>();
 }