]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java
1 package org
.argeo
.osgi
.useradmin
;
3 import java
.util
.Arrays
;
6 import junit
.framework
.TestCase
;
8 import org
.apache
.commons
.codec
.binary
.Base64
;
9 import org
.apache
.commons
.codec
.digest
.DigestUtils
;
10 import org
.osgi
.service
.useradmin
.Authorization
;
11 import org
.osgi
.service
.useradmin
.Group
;
12 import org
.osgi
.service
.useradmin
.Role
;
13 import org
.osgi
.service
.useradmin
.User
;
15 public class LdifUserAdminTest
extends TestCase
implements BasicTestConstants
{
17 public void testBasicUserAdmin() throws Exception
{
18 LdifUserAdmin userAdmin
= new LdifUserAdmin(getClass()
19 .getResourceAsStream("basic.ldif"));
22 User rootUser
= (User
) userAdmin
.getRole(ROOT_USER_DN
);
23 assertNotNull(rootUser
);
24 User demoUser
= (User
) userAdmin
.getRole(DEMO_USER_DN
);
25 assertNotNull(demoUser
);
28 Group adminGroup
= (Group
) userAdmin
.getRole(ADMIN_GROUP_DN
);
29 assertNotNull(adminGroup
);
30 Role
[] members
= adminGroup
.getMembers();
31 assertEquals(1, members
.length
);
32 assertEquals(rootUser
, members
[0]);
34 Group editorGroup
= (Group
) userAdmin
.getRole(EDITOR_GROUP_DN
);
35 assertNotNull(editorGroup
);
36 members
= editorGroup
.getMembers();
37 assertEquals(2, members
.length
);
38 assertEquals(adminGroup
, members
[0]);
39 assertEquals(demoUser
, members
[1]);
41 Authorization rootAuth
= userAdmin
.getAuthorization(rootUser
);
42 List
<String
> rootRoles
= Arrays
.asList(rootAuth
.getRoles());
43 assertEquals(3, rootRoles
.size());
44 assertTrue(rootRoles
.contains(ROOT_USER_DN
));
45 assertTrue(rootRoles
.contains(ADMIN_GROUP_DN
));
46 assertTrue(rootRoles
.contains(EDITOR_GROUP_DN
));
49 assertEquals("root@localhost", rootUser
.getProperties().get("mail"));
52 byte[] hashedPassword
= ("{SHA}" + Base64
53 .encodeBase64String(DigestUtils
.sha1("demo".getBytes())))
55 assertTrue(rootUser
.hasCredential("userpassword", hashedPassword
));
56 assertTrue(demoUser
.hasCredential("userpassword", hashedPassword
));
59 Role
[] search
= userAdmin
.getRoles(null);
60 assertEquals(4, search
.length
);
61 search
= userAdmin
.getRoles("(objectClass=groupOfNames)");
62 assertEquals(2, search
.length
);
63 search
= userAdmin
.getRoles("(objectclass=inetOrgPerson)");
64 assertEquals(2, search
.length
);
65 search
= userAdmin
.getRoles("(&(objectclass=inetOrgPerson)(uid=demo))");
66 assertEquals(1, search
.length
);