Search in sources :

Example 31 with Role

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

the class UserAdminImplTest method testCreateNonExistingGroupOk.

/**
 * Tests that creating a non-existing group succeeds and yields a valid role instance.
 */
public void testCreateNonExistingGroupOk() {
    Role role = null;
    role = m_userAdmin.createRole("group1", Role.GROUP);
    assertNotNull(role);
    assertEquals("group1", role.getName());
}
Also used : Role(org.osgi.service.useradmin.Role)

Example 32 with Role

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

the class UserAdminImplTest method testGetExistingUserWithUniqueKeyValueOk.

/**
 * Tests that getting an existing user with an unique key-value pair works and yields the expected result.
 */
public void testGetExistingUserWithUniqueKeyValueOk() {
    Role user1 = m_userAdmin.createRole("user1", Role.USER);
    user1.getProperties().put("key1", "value1");
    user1.getProperties().put("key2", "constant");
    Role user2 = m_userAdmin.createRole("user2", Role.USER);
    user2.getProperties().put("key1", "value2");
    user2.getProperties().put("key2", "constant");
    Role group1 = m_userAdmin.createRole("group1", Role.GROUP);
    group1.getProperties().put("key1", "value3");
    assertEquals(user1, m_userAdmin.getUser("key1", "value1"));
    assertEquals(user2, m_userAdmin.getUser("key1", "value2"));
}
Also used : Role(org.osgi.service.useradmin.Role)

Example 33 with Role

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

the class UserAdminImplTest method testChangeRolePropertyOk.

/**
 * Tests that changing a property of a role works.
 */
public void testChangeRolePropertyOk() {
    Role user1 = m_userAdmin.createRole("user1", Role.USER);
    user1.getProperties().put("key", "value");
    assertEquals("value", user1.getProperties().get("key"));
    user1.getProperties().put("key", "changed");
    assertEquals("changed", user1.getProperties().get("key"));
}
Also used : Role(org.osgi.service.useradmin.Role)

Example 34 with Role

use of org.osgi.service.useradmin.Role 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 35 with Role

use of org.osgi.service.useradmin.Role 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)

Aggregations

Role (org.osgi.service.useradmin.Role)98 Group (org.osgi.service.useradmin.Group)29 IOException (java.io.IOException)17 CountDownLatch (java.util.concurrent.CountDownLatch)13 List (java.util.List)9 User (org.osgi.service.useradmin.User)9 ArrayList (java.util.ArrayList)7 Test (org.junit.Test)6 Collection (java.util.Collection)5 UserAdmin (org.osgi.service.useradmin.UserAdmin)5 DBCollection (com.mongodb.DBCollection)4 Iterator (java.util.Iterator)4 BackendException (org.apache.felix.useradmin.BackendException)4 ObservableRole (org.apache.felix.useradmin.impl.role.ObservableRole)4 Authorization (org.osgi.service.useradmin.Authorization)4 WriteResult (com.mongodb.WriteResult)3 Filter (org.osgi.framework.Filter)3 BasicDBObject (com.mongodb.BasicDBObject)2 DBObject (com.mongodb.DBObject)2 Dictionary (java.util.Dictionary)2