Search in sources :

Example 16 with Group

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

the class UserAdminImplTest method testBasicGroupMembershipOk.

/**
 * Tests that testing for basic group membership works.
 */
public void testBasicGroupMembershipOk() {
    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);
    group.addMember(user1);
    group.addMember(user2);
    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"));
}
Also used : Authorization(org.osgi.service.useradmin.Authorization) Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Example 17 with Group

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

the class UserAdminImplTest method testRemovingRequiredGroupMemberOk.

/**
 * Tests that removing a required member from a group works.
 */
public void testRemovingRequiredGroupMemberOk() {
    User user1 = (User) m_userAdmin.createRole("user1", Role.USER);
    Group group1 = (Group) m_userAdmin.createRole("group1", Role.GROUP);
    assertTrue(group1.addRequiredMember(user1));
    assertTrue(group1.removeMember(user1));
    assertFalse(group1.removeMember(user1));
}
Also used : Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User)

Example 18 with Group

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

the class UserAdminTest method testGetGroup.

/**
 * Test method for {@link org.apache.aries.jmx.useradmin.UserAdmin#getGroup(java.lang.String)}.
 *
 * @throws IOException
 */
@Test
public void testGetGroup() throws IOException {
    Group group1 = Mockito.mock(Group.class);
    Mockito.when(group1.getType()).thenReturn(Role.GROUP);
    Mockito.when(group1.getName()).thenReturn("group1");
    Role role1 = Mockito.mock(Role.class);
    Mockito.when(role1.getName()).thenReturn("role1");
    Role role2 = Mockito.mock(Role.class);
    Mockito.when(role2.getName()).thenReturn("role2");
    Mockito.when(group1.getRequiredMembers()).thenReturn(new Role[] { role1 });
    Mockito.when(group1.getMembers()).thenReturn(new Role[] { role2 });
    Mockito.when(userAdmin.getRole(Mockito.anyString())).thenReturn(group1);
    CompositeData data = mbean.getGroup("group1");
    Assert.assertNotNull(data);
    GroupData group = GroupData.from(data);
    Assert.assertNotNull(group);
    Assert.assertEquals("group1", group.getName());
    Assert.assertEquals(Role.GROUP, group.getType());
    Assert.assertArrayEquals(new String[] { "role2" }, group.getMembers());
    Assert.assertArrayEquals(new String[] { "role1" }, group.getRequiredMembers());
    Mockito.verify(userAdmin).getRole(Mockito.anyString());
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) CompositeData(javax.management.openmbean.CompositeData) GroupData(org.apache.aries.jmx.codec.GroupData) Test(org.junit.Test)

Example 19 with Group

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

the class UserAdmin method removeMember.

/**
 * @see org.osgi.jmx.service.useradmin.UserAdminMBean#removeMember(java.lang.String, java.lang.String)
 */
public boolean removeMember(String groupname, String rolename) throws IOException {
    if (groupname == null) {
        throw new IOException("Group name cannot be null");
    }
    if (rolename == null) {
        throw new IOException("Role name cannot be null");
    }
    Role group = userAdmin.getRole(groupname);
    Role member = userAdmin.getRole(rolename);
    if (group == null) {
        throw new IOException("Operation fails role with provided groupname = [" + groupname + "] doesn't exist");
    }
    validateRoleType(group, Role.GROUP);
    return ((Group) group).removeMember(member);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) IOException(java.io.IOException)

Example 20 with Group

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

the class UserAdmin method addRequiredMember.

/**
 * @see org.osgi.jmx.service.useradmin.UserAdminMBean#addRequiredMember(java.lang.String, java.lang.String)
 */
public boolean addRequiredMember(String groupname, String rolename) throws IOException {
    if (groupname == null) {
        throw new IOException("Group name cannot be null");
    }
    if (rolename == null) {
        throw new IOException("Role name cannot be null");
    }
    Role group = userAdmin.getRole(groupname);
    Role member = userAdmin.getRole(rolename);
    if (group == null) {
        throw new IOException("Operation fails role with provided groupname = [" + groupname + "] doesn't exist");
    }
    validateRoleType(group, Role.GROUP);
    return ((Group) group).addRequiredMember(member);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) IOException(java.io.IOException)

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