Search in sources :

Example 41 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class RoleCheckerTest method testRequiredRolesMultipleGroupsOk.

/**
 * Test that a membership can be implied for users belonging to multiple non-required groups.
 */
public void testRequiredRolesMultipleGroupsOk() {
    User elmer = RoleFactory.createUser("elmer");
    User pepe = RoleFactory.createUser("pepe");
    User bugs = RoleFactory.createUser("bugs");
    User daffy = RoleFactory.createUser("daffy");
    Group administrators = RoleFactory.createGroup("administrators");
    administrators.addRequiredMember(m_anyone);
    administrators.addMember(elmer);
    administrators.addMember(pepe);
    administrators.addMember(bugs);
    Group family = RoleFactory.createGroup("family");
    family.addRequiredMember(m_anyone);
    family.addMember(elmer);
    family.addMember(pepe);
    family.addMember(daffy);
    Group alarmSystemActivation = RoleFactory.createGroup("alarmSystemActivation");
    alarmSystemActivation.addRequiredMember(m_anyone);
    alarmSystemActivation.addMember(administrators);
    alarmSystemActivation.addMember(family);
    assertTrue(m_roleChecker.isImpliedBy(alarmSystemActivation, elmer));
    assertTrue(m_roleChecker.isImpliedBy(alarmSystemActivation, pepe));
    assertTrue(m_roleChecker.isImpliedBy(alarmSystemActivation, bugs));
    assertTrue(m_roleChecker.isImpliedBy(alarmSystemActivation, daffy));
}
Also used : Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Example 42 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class RoleCheckerTest method testUserImpliesImpliedGroup.

/**
 * Test that a user does never imply a group to which it is not a member.
 */
public void testUserImpliesImpliedGroup() {
    User user = RoleFactory.createUser("foo");
    Group group = RoleFactory.createGroup("bar");
    group.addRequiredMember(m_anyone);
    group.addMember(user);
    assertTrue(m_roleChecker.isImpliedBy(group, user));
}
Also used : Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Example 43 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserAdminImplTest method testRequiredGroupMembershipOk.

/**
 * Tests that testing for required group membership works.
 */
public void testRequiredGroupMembershipOk() {
    User user1 = (User) m_userAdmin.createRole("user1", Role.USER);
    User user2 = (User) m_userAdmin.createRole("user2", Role.USER);
    User user3 = (User) m_userAdmin.createRole("user3", Role.USER);
    Group reqGroup = (Group) m_userAdmin.createRole("reqGroup", Role.GROUP);
    reqGroup.addMember(user1);
    reqGroup.addMember(user2);
    reqGroup.addMember(user3);
    Group group = (Group) m_userAdmin.createRole("group", Role.GROUP);
    group.addRequiredMember(reqGroup);
    Authorization auth = m_userAdmin.getAuthorization(user1);
    assertFalse(auth.hasRole("group"));
    auth = m_userAdmin.getAuthorization(user2);
    assertFalse(auth.hasRole("group"));
    auth = m_userAdmin.getAuthorization(user3);
    assertFalse(auth.hasRole("group"));
}
Also used : Authorization(org.osgi.service.useradmin.Authorization) Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Example 44 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserAdminImplTest method testGroupMembershipWithAnonymousUserOk.

/**
 * Tests that testing for group membership with anonymous users works.
 */
public void testGroupMembershipWithAnonymousUserOk() {
    Role user = m_userAdmin.createRole("user", Role.USER);
    Group group = (Group) m_userAdmin.createRole("group", Role.GROUP);
    group.addMember(user);
    Authorization auth = m_userAdmin.getAuthorization(null);
    assertTrue(auth.hasRole(Role.USER_ANYONE));
    assertFalse(auth.hasRole("group"));
}
Also used : Role(org.osgi.service.useradmin.Role) Authorization(org.osgi.service.useradmin.Authorization) Group(org.osgi.service.useradmin.Group)

Example 45 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserAdminImplTest method testGroupMembershipWithUserAnyoneOk.

/**
 * Tests that testing for group membership with "user.anyone" works.
 */
public void testGroupMembershipWithUserAnyoneOk() {
    User user1 = (User) m_userAdmin.createRole("user1", Role.USER);
    User user2 = (User) m_userAdmin.createRole("user2", Role.USER);
    User user3 = (User) m_userAdmin.createRole("user3", Role.USER);
    User user4 = (User) m_userAdmin.createRole("user4", Role.USER);
    Group reqGroup = (Group) m_userAdmin.createRole("reqGroup", Role.GROUP);
    reqGroup.addMember(user1);
    reqGroup.addMember(user2);
    Group group = (Group) m_userAdmin.createRole("group", Role.GROUP);
    group.addRequiredMember(reqGroup);
    group.addMember(m_userAdmin.getRole(Role.USER_ANYONE));
    Authorization auth = m_userAdmin.getAuthorization(user1);
    assertTrue(auth.hasRole("group"));
    auth = m_userAdmin.getAuthorization(user2);
    assertTrue(auth.hasRole("group"));
    auth = m_userAdmin.getAuthorization(user3);
    assertFalse(auth.hasRole("group"));
    auth = m_userAdmin.getAuthorization(user4);
    assertFalse(auth.hasRole("group"));
}
Also used : Authorization(org.osgi.service.useradmin.Authorization) Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Aggregations

Group (org.osgi.service.useradmin.Group)63 User (org.osgi.service.useradmin.User)32 Role (org.osgi.service.useradmin.Role)29 Test (org.junit.Test)11 IOException (java.io.IOException)8 CountDownLatch (java.util.concurrent.CountDownLatch)7 Authorization (org.osgi.service.useradmin.Authorization)5 Bundle (org.osgi.framework.Bundle)3 UserAdmin (org.osgi.service.useradmin.UserAdmin)3 BasicDBObject (com.mongodb.BasicDBObject)2 GroupData (org.apache.aries.jmx.codec.GroupData)2 PrintWriter (java.io.PrintWriter)1 MessageDigest (java.security.MessageDigest)1 ArrayList (java.util.ArrayList)1 Dictionary (java.util.Dictionary)1 Iterator (java.util.Iterator)1 List (java.util.List)1 CompositeData (javax.management.openmbean.CompositeData)1 ServletException (javax.servlet.ServletException)1 BackendException (org.apache.felix.useradmin.BackendException)1