예제 #1
0
        public void Add()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();

            Assert.AreEqual(0, rgc.Count, "0");
            RoleGroup rg1 = new RoleGroup();

            rgc.Add(rg1);
            Assert.AreEqual(1, rgc.Count, "1");
            rgc.Add(rg1);
            Assert.AreEqual(2, rgc.Count, "2");
        }
예제 #2
0
        public void IndexOf()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();

            Assert.AreEqual(-1, rgc.IndexOf(null), "null");

            RoleGroup rg1 = new RoleGroup();

            rgc.Add(rg1);
            Assert.AreEqual(0, rgc.IndexOf(rg1), "0");
            rgc.Add(rg1);
            Assert.AreEqual(0, rgc.IndexOf(rg1), "1");
        }
예제 #3
0
        public void ThisIndex()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();
            RoleGroup           rg  = new RoleGroup();

            rgc.Add(rg);
            Assert.IsTrue(Object.ReferenceEquals(rg, rgc [0]));
        }
예제 #4
0
        public void Contains()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();

            Assert.IsFalse(rgc.Contains(null), "null");

            RoleGroup rg1 = new RoleGroup();

            rgc.Add(rg1);
            Assert.IsTrue(rgc.Contains(rg1), "1a");

            RoleGroup rg2 = new RoleGroup();

            Assert.IsFalse(rgc.Contains(rg2), "2a");
            rgc.Add(rg2);
            Assert.IsTrue(rgc.Contains(rg2), "2b");

            rgc.Remove(rg1);
            Assert.IsFalse(rgc.Contains(rg1), "1b");
        }
예제 #5
0
        public void Remove()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();

            rgc.Remove(null);

            RoleGroup rg1 = new RoleGroup();

            rgc.Remove(rg1);
            rgc.Add(rg1);
            rgc.Add(rg1);
            Assert.AreEqual(2, rgc.Count, "Count");
            rgc.Remove(rg1);
            Assert.IsTrue(rgc.Contains(rg1), "rg1-bis");

            RoleGroup rg2 = new RoleGroup();

            rgc.Add(rg2);
            rgc.Remove(rg2);
            rgc.Remove(rg2);
        }
예제 #6
0
        public void GetMatchingRoleGroup_NoRoles()
        {
            RoleGroup rg = new RoleGroup();

            RoleGroupCollection rgc = new RoleGroupCollection();

            rgc.Add(rg);
            Assert.AreEqual(1, rgc.Count, "Count");

            RoleGroup result = rgc.GetMatchingRoleGroup(GetPrincipal("me"));

            Assert.IsNull(result, "me");

            result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "mono"));
            Assert.IsNull(result, "me+mono");
        }
예제 #7
0
        public void ContainsUser_Out()
        {
            RoleGroup rg = new RoleGroup();

            rg.Roles = new string[2] {
                "mono", "hackers"
            };

            RoleGroupCollection rgc = new RoleGroupCollection();

            rgc.Add(rg);
            Assert.AreEqual(1, rgc.Count, "Count");

            RoleGroup result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "m0n0"));

            Assert.IsNull(result, "me+MoNo");

            result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "h4ck"));
            Assert.IsNull(result, "me+h4ck");
        }
예제 #8
0
        public void GetMatchingRoleGroup_In()
        {
            RoleGroup rg = new RoleGroup();

            rg.Roles = new string[2] {
                "mono", "hackers"
            };

            RoleGroupCollection rgc = new RoleGroupCollection();

            rgc.Add(rg);
            Assert.AreEqual(1, rgc.Count, "Count");

            RoleGroup result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "mono"));

            Assert.IsNotNull(result, "me+mono");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref1");

            result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "hackers"));
            Assert.IsNotNull(result, "me+hackers");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref2");

            // works for unauthenticated principals too
            result = rgc.GetMatchingRoleGroup(GetUnauthenticatedPrincipal("me", "mono"));
            Assert.IsNotNull(result, "unauthenticated+me+mono");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref3");

            result = rgc.GetMatchingRoleGroup(GetUnauthenticatedPrincipal("me", "hackers"));
            Assert.IsNotNull(result, "unauthenticated+me+hackers");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref4");

            // case insensitive
            result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "MoNo"));
            Assert.IsNotNull(result, "unauthenticated+me+MoNo");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref5");

            result = rgc.GetMatchingRoleGroup(GetPrincipal("me", "hAcKeRs"));
            Assert.IsNotNull(result, "unauthenticated+me+hAcKeRs");
            Assert.IsTrue(Object.ReferenceEquals(result, rg), "ref6");
        }
예제 #9
0
        public void Add_Null()
        {
            RoleGroupCollection rgc = new RoleGroupCollection();

            rgc.Add(null);
        }