public void RemoveUsersFromRoles()
        {
            roleProvider = new RoleProvider();
            NameValueCollection config = new NameValueCollection();

            config.Add("connectionStringName", _connStrName);
            config.Add("applicationName", _applicationName);
            roleProvider.Initialize(null, config);

            AddUser("eve", "eveeve!");
            AddUser("eve2", "eveeve!");
            AddUser("eve3", "eveeve!");
            roleProvider.CreateRole("Administrator");
            roleProvider.CreateRole("User");
            roleProvider.CreateRole("Editor");


            // test with one user
            roleProvider.AddUsersToRoles(new string[] { "eve" },
                                         new string[] { "Editor", "User" });
            Assert.AreEqual(2, roleProvider.GetRolesForUser("eve").Length);
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "User"));

            // remove User role
            roleProvider.RemoveUsersFromRoles(new string[] { "eve" }, new string[] { "User" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve", "User"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.AreEqual(1, roleProvider.GetRolesForUser("eve").Length);

            // try remove again
            roleProvider.RemoveUsersFromRoles(new string[] { "eve" }, new string[] { "User" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve", "User"));



            // test with two users
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
            roleProvider.AddUsersToRoles(new string[] { "eve2", "eve3" },
                                         new string[] { "Administrator", "User" });
            Assert.IsTrue(roleProvider.IsUserInRole("eve2", "Administrator"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve3", "Administrator"));

            // remove admin role
            roleProvider.RemoveUsersFromRoles(new string[] { "eve2" }, new string[] { "Administrator" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve2", "User"));
            Assert.AreEqual(1, roleProvider.GetRolesForUser("eve2").Length);
            Assert.AreEqual("user", roleProvider.GetRolesForUser("eve2")[0]);


            // verify didn't touch other user
            Assert.IsTrue(roleProvider.IsUserInRole("eve3", "Administrator"));


            // try remove again
            roleProvider.RemoveUsersFromRoles(new string[] { "eve2" }, new string[] { "Administrator" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
        }
        public void GetRolesForUserTest()
        {
            roleProvider = new RoleProvider();
            NameValueCollection config = new NameValueCollection();

            config.Add("connectionStringName", _connStrName);
            config.Add("applicationName", _applicationName);
            roleProvider.Initialize(null, config);

            AddUser("eve", "eveeve!");
            roleProvider.CreateRole("Administrator");
            roleProvider.CreateRole("User");
            roleProvider.CreateRole("Editor");

            roleProvider.AddUsersToRoles(new string[] { "eve" },
                                         new string[] { "Editor", "User", "Administrator" });
            Assert.AreEqual(3, roleProvider.GetRolesForUser("eve").Length);
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "User"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Administrator"));
        }
        public void RemoveUsersFromRoles()
        {
            roleProvider = new RoleProvider();
            NameValueCollection config = new NameValueCollection();
            config.Add("connectionStringName", _connStrName);
            config.Add("applicationName", _applicationName);
            roleProvider.Initialize(null, config);

            AddUser("eve", "eveeve!");
            AddUser("eve2", "eveeve!");
            AddUser("eve3", "eveeve!");
            roleProvider.CreateRole("Administrator");
            roleProvider.CreateRole("User");
            roleProvider.CreateRole("Editor");

            // test with one user
            roleProvider.AddUsersToRoles(new string[] { "eve" },
                new string[] { "Editor", "User" });
            Assert.AreEqual(2, roleProvider.GetRolesForUser("eve").Length);
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "User"));

            // remove User role
            roleProvider.RemoveUsersFromRoles(new string[] { "eve" }, new string[] { "User" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve", "User"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.AreEqual(1, roleProvider.GetRolesForUser("eve").Length);

            // try remove again
            roleProvider.RemoveUsersFromRoles(new string[] { "eve" }, new string[] { "User" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve", "User"));

            // test with two users
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
            roleProvider.AddUsersToRoles(new string[] { "eve2", "eve3" },
                new string[] { "Administrator", "User" });
            Assert.IsTrue(roleProvider.IsUserInRole("eve2", "Administrator"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve3", "Administrator"));

            // remove admin role
            roleProvider.RemoveUsersFromRoles(new string[] { "eve2" }, new string[] { "Administrator" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve2", "User"));
            Assert.AreEqual(1, roleProvider.GetRolesForUser("eve2").Length);
            Assert.AreEqual("user", roleProvider.GetRolesForUser("eve2")[0]);

            // verify didn't touch other user
            Assert.IsTrue(roleProvider.IsUserInRole("eve3", "Administrator"));

            // try remove again
            roleProvider.RemoveUsersFromRoles(new string[] { "eve2" }, new string[] { "Administrator" });
            Assert.IsFalse(roleProvider.IsUserInRole("eve2", "Administrator"));
        }
        public void GetRolesForUserTest()
        {
            roleProvider = new RoleProvider();
            NameValueCollection config = new NameValueCollection();
            config.Add("connectionStringName", _connStrName);
            config.Add("applicationName", _applicationName);
            roleProvider.Initialize(null, config);

            AddUser("eve", "eveeve!");
            roleProvider.CreateRole("Administrator");
            roleProvider.CreateRole("User");
            roleProvider.CreateRole("Editor");

            roleProvider.AddUsersToRoles(new string[] { "eve" },
                new string[] { "Editor", "User", "Administrator"});
            Assert.AreEqual(3, roleProvider.GetRolesForUser("eve").Length);
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Editor"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "User"));
            Assert.IsTrue(roleProvider.IsUserInRole("eve", "Administrator"));
        }