Package org.apache.jackrabbit.api.security.user

Examples of org.apache.jackrabbit.api.security.user.Group


        UserManager umgr = getUserManager(uSession);
        Authorizable auth = umgr.getAuthorizable(UserConstants.USER_ADMIN_GROUP_NAME);
        if (auth == null || !auth.isGroup()) {
            throw new NotExecutableException("Cannot execute test. User-Admin name has been changed by config.");
        }
        Group userAdmin = (Group) auth;
        Group testGroup = null;
        User self = (User) umgr.getAuthorizable(uID);
        try {
            // let groupadmin create a new group
            testGroup = umgr.createGroup(getTestPrincipal(), "/a/b/c/d");

            // editing session adds itself to that group -> must succeed.
            assertTrue(testGroup.addMember(self));

            // editing session adds itself to user-admin group
            userAdmin.addMember(self);
            assertTrue(userAdmin.isMember(self));

            // add child-user to test group
            Authorizable testUser = umgr.getAuthorizable(getChildID());
            assertFalse(testGroup.isMember(testUser));
            assertTrue(testGroup.addMember(testUser));
        } finally {
            if (testGroup != null) {
                for (Iterator it = testGroup.getDeclaredMembers(); it.hasNext();) {
                    testGroup.removeMember((Authorizable) it.next());
                }
                testGroup.remove();
            }
            userAdmin.removeMember(self);           
        }
    }
View Full Code Here


    public void testAddMemberToForeignGroup() throws RepositoryException, NotExecutableException {
        try {
            // let superuser create child user below the user with uID.
            UserManager umgr = getUserManager(uSession);
            Authorizable cU = umgr.getAuthorizable(getChildID());
            Group uadminGr = (Group) umgr.getAuthorizable(UserConstants.USER_ADMIN_GROUP_NAME);
            if (uadminGr.isMember(cU)) {
                throw new RepositoryException("Test user is already member -> cannot execute.");
            }

            // adding to and removing a child user from a group the group-admin
            // is NOT member of must fail.
            uadminGr.addMember(cU);
            fail("A GroupAdmin should not be allowed to add a user to a group she/he is not member of.");

        } catch (AccessDeniedException e) {
            // success.
        }
View Full Code Here

    public void testAddParentToGroup() throws RepositoryException, NotExecutableException {
        UserManager umgr = getUserManager(uSession);

        Authorizable pU = umgr.getAuthorizable(parentUID);
        Group gr = (Group) umgr.getAuthorizable(groupAdmin.getID());

        // adding and removing the parent-user as member of a group must
        // never succeed.
        try {
            assertFalse(gr.addMember(pU));
        } catch (AccessDeniedException e) {
            // ok
        } finally {
            gr.removeMember(pU);
        }

        // ... even if the editing user becomes member of the user-admin group
        Group uAdministrators = null;
        try {
            Authorizable userAdmin = userMgr.getAuthorizable(UserConstants.USER_ADMIN_GROUP_NAME);
            if (userAdmin == null || !userAdmin.isGroup()) {
                throw new NotExecutableException("Cannot execute test. User-Admin name has been changed by config.");
            }
            uAdministrators = (Group) userAdmin;
            uAdministrators.addMember(userMgr.getAuthorizable(uID));

            try {
                assertFalse(gr.addMember(pU));
                gr.removeMember(pU);
            } catch (AccessDeniedException e) {
                // fine as well.
            }
        } finally {
            // let superuser do the clean up.
            // remove testuser from u-admin group again.
            if (uAdministrators != null) {
                uAdministrators.removeMember(userMgr.getAuthorizable(uID));
            }
        }
    }
View Full Code Here

    public void testAddOwnAuthorizableAsGroupAdmin() throws RepositoryException, NotExecutableException {
        UserManager umgr = getUserManager(uSession);

        Authorizable user = umgr.getAuthorizable(uID);
        Group gr = (Group) umgr.getAuthorizable(groupAdmin.getID());

        // user is already group-admin -> adding must return false.
        // but should not throw exception.
        assertFalse(gr.addMember(user));
    }
View Full Code Here

    public void testRemoveMembershipForOwnAuthorizable() throws RepositoryException, NotExecutableException {
        UserManager umgr = getUserManager(uSession);

        Authorizable user = umgr.getAuthorizable(uID);
        Group gr = (Group) umgr.getAuthorizable(groupAdmin.getID());

        // removing himself from group. should succeed.
        assertTrue(gr.removeMember(user));
    }
View Full Code Here

    public void testAddOwnAuthorizableToForeignGroup() throws RepositoryException, NotExecutableException {
        UserManager umgr = getUserManager(uSession);

        Authorizable user = umgr.getAuthorizable(uID);
        Group uadminGr = (Group) umgr.getAuthorizable(UserConstants.USER_ADMIN_GROUP_NAME);
        if (uadminGr.isMember(user)) {
            throw new RepositoryException("Test user is already member -> cannot execute.");
        }

        String msg = "GroupAdmin must be able to add its own authorizable to a group she/he is not yet member of.";
        assertTrue(msg, uadminGr.addMember(user));
        assertTrue(msg, uadminGr.removeMember(user));
    }
View Full Code Here

        assertTrue(msg, uadminGr.addMember(user));
        assertTrue(msg, uadminGr.removeMember(user));
    }

    public void testRemoveMembersOfForeignGroup() throws RepositoryException, NotExecutableException {
        Group nGr = null;
        User nUs = null;
        User nUs2 = null;

        try {
            // let superuser create a group and a user a make user member of group
            nGr = userMgr.createGroup(getTestPrincipal());
            Principal p = getTestPrincipal();
            nUs = userMgr.createUser(p.getName(), buildPassword(p));
            p = getTestPrincipal();
            nUs2 = userMgr.createUser(p.getName(), buildPassword(p));
            nGr.addMember(nUs);
            nGr.addMember(nUs2);

            Group gr = (Group) getUserManager(uSession).getAuthorizable(nGr.getID());

            // removing any member must fail unless the testuser is user-admin
            Iterator it = gr.getMembers();
            if (it.hasNext()) {
                Authorizable auth = (Authorizable) it.next();

                String msg = "GroupAdmin cannot remove members of other user unless he/she is user-admin.";
                assertFalse(msg, gr.removeMember(auth));
            } else {
                throw new RepositoryException("Must contain members....");
            }

        } catch (AccessDeniedException e) {
View Full Code Here

            if (nUs2 != null) nUs2.remove();
        }
    }

    public void testRemoveAllMembersOfForeignGroup() throws RepositoryException, NotExecutableException {
        Group nGr = null;
        User nUs = null;

        try {
            // let superuser create a group and a user a make user member of group
            nGr = userMgr.createGroup(getTestPrincipal());
            Principal p = getTestPrincipal();
            nUs = userMgr.createUser(p.getName(), buildPassword(p));
            nGr.addMember(nUs);

            Group gr = (Group) getUserManager(uSession).getAuthorizable(nGr.getID());

            // since only 1 single member -> removal rather than modification.
            // since uSession is not user-admin this must fail.
            for (Iterator it = gr.getMembers(); it.hasNext();) {
                Authorizable auth = (Authorizable) it.next();

                String msg = "GroupAdmin cannot remove members of groups unless he/she is UserAdmin.";
                assertFalse(msg, gr.removeMember(auth));
            }
        } catch (AccessDeniedException e) {
            // fine as well.
        } finally {
            // let superuser remove authorizables again
View Full Code Here

            }
        } finally {
            Authorizable a = userMgr.getAuthorizable(otherUID);
            if (a != null) {
                for (Iterator it = a.memberOf(); it.hasNext();) {
                    Group gr = (Group) it.next();
                    if (!gr.getPrincipal().equals(EveryonePrincipal.getInstance())) {
                        gr.removeMember(a);
                    }
                }
                a.remove();
            }
            a = userMgr.getAuthorizable(uID);
View Full Code Here

    public void testModifyGroupForHimSelf() throws RepositoryException, NotExecutableException {
        UserManager umgr = getUserManager(otherSession);

        User userHimSelf = (User) umgr.getAuthorizable(otherUID);
        Group gr = getGroupAdminGroup(umgr);
        try {
            assertFalse(gr.addMember(userHimSelf));
        } catch (RepositoryException e) {
            // success as well.
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.api.security.user.Group

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.