Package org.rhq.core.domain.authz

Examples of org.rhq.core.domain.authz.Role


    public void testSetPermission() throws Exception {
        getTransactionManager().begin();
        EntityManager em = getEntityManager();
        try {
            Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
            Role testRole = SessionTestHelper.createNewRoleForSubject(em, testSubject, "testRole");

            // moved setPerm to the role manager - leave this test here, just use that manager instead
            RoleManagerLocal roleManager = LookupUtil.getRoleManager();
            Subject superuser = LookupUtil.getSubjectManager().getOverlord();

            /* verify role got all global permissions */
            Set<Permission> globalPermissions = SessionTestHelper.getAllGlobalPerms();
            roleManager.setPermissions(superuser, testRole.getId(), globalPermissions);
            em.refresh(testRole);
            assert SessionTestHelper.samePermissions(testRole.getPermissions(), globalPermissions) : "Failed to set global permissions";

            /* verify role still has global and got all resource permissions */
            Set<Permission> resourcePermissions = SessionTestHelper.getAllResourcePerms();
            roleManager.setPermissions(superuser, testRole.getId(), resourcePermissions);
            em.refresh(testRole);
            assert SessionTestHelper.samePermissions(testRole.getPermissions(), resourcePermissions) : "Failed to set resource permissions";

            /* verify role still has global and got all resource permissions */
            Set<Permission> noPermissions = EnumSet.noneOf(Permission.class);
            roleManager.setPermissions(superuser, testRole.getId(), noPermissions);
            em.refresh(testRole);
            assert SessionTestHelper.samePermissions(testRole.getPermissions(), noPermissions) : "Failed to set empty list of permissions";
        } finally {
            getTransactionManager().rollback();
        }
    }
View Full Code Here


        getTransactionManager().begin();
        try {
            /* bootstrap */
            ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
            Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
            Role testRole = SessionTestHelper.createNewRoleForSubject(em, testSubject, "testRole");
            ResourceGroup compatGroup = new ResourceGroup("testCompatGroup", type);
            compatGroup.addRole(testRole);
            em.persist(type);
            em.persist(compatGroup);
            em.flush();
            testRole.addResourceGroup(compatGroup);
            em.merge(testRole);
            em.flush();

            int id = compatGroup.getId();
            try {
View Full Code Here

        getTransactionManager().begin();
        try {
            /* bootstrap */
            ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
            Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
            Role testRole = SessionTestHelper.createNewRoleForSubject(em, testSubject, "testRole");
            testRole.addPermission(Permission.MANAGE_INVENTORY);
            ResourceGroup compatGroup = new ResourceGroup("group1", type);
            compatGroup.addRole(testRole);
            em.persist(type);
            em.persist(compatGroup);
            em.flush();
            testRole.addResourceGroup(compatGroup);
            em.merge(testRole);
            em.flush();

            int id = compatGroup.getId();
            try {
View Full Code Here

        getTransactionManager().begin();
        try {
            /* bootstrap */
            ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
            Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
            Role testRole = SessionTestHelper.createNewRoleForSubject(em, testSubject, "testRole");
            testRole.addPermission(Permission.MANAGE_INVENTORY);
            ResourceGroup compatGroup = new ResourceGroup("group1", type);
            compatGroup.addRole(testRole);
            em.persist(type);
            em.persist(compatGroup);
            em.flush();
            testRole.addResourceGroup(compatGroup);
            em.merge(testRole);
            em.flush();

            int id = compatGroup.getId();
            try {
View Full Code Here

    private void createTestData() {
        testData = executeInTransaction(false, new TransactionCallbackReturnable<TestData>() {
            @Override
            public TestData execute() throws Exception {
                Subject searchesOwner = SessionTestHelper.createNewSubject(em, "fake subject");
                Role searchesOwnerRole = SessionTestHelper.createNewRoleForSubject(em, searchesOwner, "fake role");
                ResourceType resourceType = SessionTestHelper.createNewResourceType(em);
                Set<Resource> resources = new HashSet<Resource>();
                Set<ResourceGroup> resourceGroups = new HashSet<ResourceGroup>();
                Set<SavedSearch> savedSearches = new HashSet<SavedSearch>();
                for (int i = 0; i < 50; i++) {
View Full Code Here

        try {
            PageList<Role> roles = roleManager.findRolesBySubject(subjectManager.getOverlord().getId(),
                PageControl.getUnlimitedInstance());
            assert roles.size() == 1;

            Role role = roles.get(0);
            assert role.getName().equals("Super User Role") : "Superuser should have only the super user role: " + role;
            assert role.getPermissions().contains(Permission.MANAGE_SECURITY);
            assert role.getPermissions().contains(Permission.MANAGE_INVENTORY);
            assert role.getPermissions().contains(Permission.MANAGE_SETTINGS);
        } finally {
            getTransactionManager().rollback();
        }
    }
View Full Code Here

            Subject subject = new Subject();
            subject.setName("dummy-subject");
            subject = subjectManager.createSubject(superuser, subject);
            subject = createSession(subject);

            Role new_role = new Role("dummy-role");
            Role new_role2 = new Role("dummy-role2");
            new_role = roleManager.createRole(superuser, new_role);
            new_role2 = roleManager.createRole(superuser, new_role2);

            PageList<Role> all_roles = roleManager.findRoles(PageControl.getUnlimitedInstance());
            assert all_roles.size() >= 3 : "There should at least be the two dummy roles and the super user role";

            PageList<Role> roles;

            roles = roleManager.findAvailableRolesForSubject(superuser, subject.getId(), new Integer[0],
                PageControl.getUnlimitedInstance());

            assert roles.size() == all_roles.size() : "All roles should be available for this subject";
            assert roles.containsAll(all_roles);

            roles = roleManager.findAvailableRolesForSubject(superuser, subject.getId(),
                new Integer[] { new_role.getId() }, PageControl.getUnlimitedInstance());
            assert (roles.size() + 1) == all_roles.size() : "All roles but one should be available for this subject";
            assert !roles.contains(new_role);

            roles = roleManager.findAvailableRolesForSubject(superuser, subject.getId(),
                new Integer[] { new_role.getId(), new_role2.getId() }, PageControl.getUnlimitedInstance());
            assert (roles.size() + 2) == all_roles.size() : "All roles but two should be available for this subject";
            assert !roles.contains(new_role);
            assert !roles.contains(new_role2);

            roleManager.addRolesToSubject(superuser, subject.getId(), new int[] { new_role.getId() });
            roles = roleManager.findAvailableRolesForSubject(superuser, subject.getId(), new Integer[0],
                PageControl.getUnlimitedInstance());
            assert (roles.size() + 1) == all_roles.size() : "All but one role should be available for this subject";
            assert !roles.contains(new_role) : "We already assigned this new role to the subject - it isn't available";

            roles = roleManager.findAvailableRolesForSubject(superuser, subject.getId(),
                new Integer[] { new_role2.getId() }, PageControl.getUnlimitedInstance());
            assert (roles.size() + 2) == all_roles.size() : "One is already assigned and one is excluded so all but two roles should be available for this subject";
            assert !roles.contains(new_role) : "We already assigned this new role to the subject - it isn't available";
            assert !roles.contains(new_role2) : "We excluded this new role - it isn't available";

            try {
View Full Code Here

            Subject newSubject2 = new Subject();
            newSubject2.setName("secondary-role-manager");
            newSubject2.setFsystem(false);

            Role role = new Role("role-manager-role");
            role.setFsystem(false);
            role.addSubject(newSubject1);

            Subject superuser = subjectManager.getOverlord();
            subjectManager.createSubject(superuser, newSubject1);
            newSubject1 = createSession(newSubject1);

            subjectManager.createSubject(superuser, newSubject2);
            newSubject2 = createSession(newSubject2);

            assertEquals("Role should not be created or assigned yet", 0,
                roleManager.findRolesBySubject(newSubject1.getId(), PageControl.getUnlimitedInstance()).size());

            role = roleManager.createRole(superuser, role);
            assertEquals("Role should be assigned at the time the role is created", 1,
                roleManager.findRolesBySubject(newSubject1.getId(), PageControl.getUnlimitedInstance()).size());

            roleManager.addRolesToSubject(superuser, newSubject2.getId(), new int[] { role.getId() });
            assertEquals("Role should be assigned", 1,
                roleManager.findRolesBySubject(newSubject2.getId(), PageControl.getUnlimitedInstance()).size());

            roleManager.removeRolesFromSubject(superuser, newSubject1.getId(), new int[] { role.getId() });
            assertEquals("Role should have been unassigned", 0,
                roleManager.findRolesBySubject(newSubject1.getId(), PageControl.getUnlimitedInstance()).size());

            roleManager.deleteRoles(superuser, new int[] { role.getId() });
            assertFalse("Roles should have been deleted", roleManager.findRoles(PageControl.getUnlimitedInstance())
                .contains(role));
        } finally {
            getTransactionManager().rollback();
        }
View Full Code Here

        try {
            Subject superuser = subjectManager.getOverlord();
            superuser = createSession(superuser);

            Role role = new Role("role-manager-role");
            role.setFsystem(false);
            role = roleManager.createRole(superuser, role);
            LdapGroup group = new LdapGroup();
            group.setName("Foo");
            role.addLdapGroup(group);
            assert ldapManager.findLdapGroupsByRole(role.getId(), PageControl.getUnlimitedInstance()).size() == 1 : "Ldap Group Foo Should be assigned";
        } finally {
            getTransactionManager().rollback();
        }
    }
View Full Code Here

            @Override
            public void execute() throws Exception {
                Subject subject = SessionTestHelper.createNewSubject(em, "fake subject");
                Set<Permission> permissions = new HashSet<Permission>();
                permissions.addAll(EnumSet.allOf(Permission.class));
                Role role = SessionTestHelper.createNewRoleForSubject(em, subject, "fake role",
                    permissions.toArray(new Permission[permissions.size()]));
                Set<Permission> foundPermissions = roleManager.getPermissions(role.getId());
                assertEquals(permissions, foundPermissions);
            }
        });
    }
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.authz.Role

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.