Esempio n. 1
0
        public void CannotAddNodesWithSameKey()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node1   = new SiteMapNodeInfo("node");
            SiteMapNodeInfo       node2   = new SiteMapNodeInfo("node");

            service.AddNode(node1);
            service.AddNode(node2);
        }
Esempio n. 2
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));
        }
Esempio n. 3
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]);
        }
Esempio n. 4
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));
        }
Esempio n. 5
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));
        }
Esempio n. 6
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]);
        }
Esempio n. 7
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]);
        }
Esempio n. 8
0
        public void ThrowsWhenSpecifyingEmptyAuthorizationRule()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       parent  = new SiteMapNodeInfo("parent");
            string rule = String.Empty;

            service.AddNode(parent, rule);
        }
Esempio n. 9
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));
        }
Esempio n. 10
0
        public void NodeThatDoesNotRequireAuthorizationReturnsNullAuthorizationRule()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node    = new SiteMapNodeInfo("node");

            service.AddNode(node);

            Assert.IsNull(service.GetAuthorizationRule(node.Key));
        }
Esempio n. 11
0
        public void AssociateAuthorizationRuleWithNode()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();
            SiteMapNodeInfo       node    = new SiteMapNodeInfo("node");

            service.AddNode(node, "rule");

            Assert.AreEqual("rule", service.GetAuthorizationRule(node.Key));
        }
Esempio n. 12
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]);
        }
Esempio n. 13
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));
        }
Esempio n. 14
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]);
        }
        protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService)
        {
            SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Home", "~/Default.aspx", "Home", "Home");

            _siteMapBuilderService.AddNode(moduleNode);

            _siteMapBuilderService.RootNode.Url   = "~/Default.aspx";
            _siteMapBuilderService.RootNode.Title = "MVPWithCWABQuickStart";

            // TODO: register other site map nodes for pages that belong to the website root
        }
        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);
        }
Esempio n. 17
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]);
        }
        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);
        }
        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));
        }
        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));
        }
Esempio n. 21
0
        public void CannotAddNullNode()
        {
            SiteMapBuilderService service = new SiteMapBuilderService();

            service.AddNode(null);
        }