Search in sources :

Example 76 with Role

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

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

the class UserAdminImplTest method testRemoveRoleRemovesItAsGroupMemberOk.

/**
 * Tests that remove of a role also removes that role as member from any group (FELIX-3755).
 */
public void testRemoveRoleRemovesItAsGroupMemberOk() {
    Role user1 = m_userAdmin.createRole("user1", Role.USER);
    Role user2 = m_userAdmin.createRole("user2", Role.USER);
    Group group1 = (Group) m_userAdmin.createRole("group1", Role.GROUP);
    group1.addMember(user1);
    Group group2 = (Group) m_userAdmin.createRole("group2", Role.GROUP);
    group2.addMember(user1);
    group2.addMember(user2);
    // Remove user...
    m_userAdmin.removeRole(user1.getName());
    // Retrieve an up-to-date instance of the first group...
    group1 = (Group) m_userAdmin.getRole("group1");
    assertNull(group1.getMembers());
    // Retrieve an up-to-date instance of the second group...
    group2 = (Group) m_userAdmin.getRole("group2");
    Role[] members = group2.getMembers();
    assertNotNull(members);
    assertEquals(1, members.length);
    assertEquals(user2, members[0]);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group)

Example 78 with Role

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

the class UserAdminImplTest method testRemoveRoleRemovesItAsRequiredGroupMemberOk.

/**
 * Tests that remove of a role also removes that role as required member from any group (FELIX-3755).
 */
public void testRemoveRoleRemovesItAsRequiredGroupMemberOk() {
    Role user1 = m_userAdmin.createRole("user1", Role.USER);
    Role user2 = m_userAdmin.createRole("user2", Role.USER);
    Group group1 = (Group) m_userAdmin.createRole("group1", Role.GROUP);
    group1.addRequiredMember(user1);
    group1.addMember(user2);
    Group group2 = (Group) m_userAdmin.createRole("group2", Role.GROUP);
    group2.addRequiredMember(user1);
    group2.addRequiredMember(user2);
    // Remove user...
    m_userAdmin.removeRole(user1.getName());
    // Retrieve an up-to-date instance of the group...
    group1 = (Group) m_userAdmin.getRole("group1");
    assertNull(group1.getRequiredMembers());
    Role[] members = group1.getMembers();
    assertNotNull(members);
    assertEquals(1, members.length);
    assertEquals(user2, members[0]);
    // Retrieve an up-to-date instance of the group...
    group2 = (Group) m_userAdmin.getRole("group2");
    assertNull(group2.getMembers());
    members = group2.getRequiredMembers();
    assertNotNull(members);
    assertEquals(1, members.length);
    assertEquals(user2, members[0]);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group)

Example 79 with Role

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

the class UserAdminImplTest method testRemoveRolePropertyOk.

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

Example 80 with Role

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

the class UserAdminImplTest method testCreateExistingUserFail.

/**
 * Tests that creating an existing role does not succeed and yields null.
 */
public void testCreateExistingUserFail() {
    Role role = null;
    role = m_userAdmin.createRole("user1", Role.USER);
    assertNotNull(role);
    role = m_userAdmin.createRole("user1", Role.USER);
    assertNull(role);
}
Also used : Role(org.osgi.service.useradmin.Role)

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