1 package test.tuigwaa;
2
3 import java.io.File;
4 import java.util.Enumeration;
5 import java.util.Hashtable;
6 import java.util.Iterator;
7 import java.util.List;
8
9 import javax.naming.NamingException;
10
11 import junit.extensions.TestSetup;
12 import junit.framework.Test;
13 import junit.framework.TestCase;
14 import junit.framework.TestSuite;
15
16 import org.apache.ldap.server.configuration.MutableServerStartupConfiguration;
17 import org.seasar.framework.container.S2Container;
18 import org.seasar.framework.container.factory.S2ContainerFactory;
19 import org.seasar.tuigwaa.security.DirectoryService;
20 import org.seasar.tuigwaa.security.auth.TgwUser;
21
22 import com.isenshi.util.extlib.ApacheDSUtil;
23
24 /***
25 * @author someda
26 */
27 public class DirectoryServiceTest extends TestCase {
28
29 private static DirectoryService directoryService;
30 private static TgwUser testuser;
31 private static MutableServerStartupConfiguration config;
32 private static Hashtable environment;
33
34 public static Test suite() throws Exception{
35 TestSuite suite = new TestSuite(DirectoryServiceTest.class);
36 TestSetup setup = new TestSetup(suite){
37
38 public void setUp() throws Exception{
39 S2Container container = S2ContainerFactory.create("app.dicon");
40 directoryService = (DirectoryService) container.getComponent(DirectoryService.class);
41 config = (MutableServerStartupConfiguration) container.getComponent("ldapstartup");
42 environment = (Hashtable) container.getComponent("ldapenv");
43 testuser = new TgwUser();
44 testuser.setName("test");
45 testuser.setPassword("test");
46 testuser.setDn("uid=test,ou=users,dc=seasar,dc=org");
47 }
48
49 public void tearDown() throws Exception{
50 try{
51 ApacheDSUtil.shutdown(environment);
52 }catch(NamingException ne){
53 ne.printStackTrace();
54 }
55 }
56 };
57 return setup;
58 }
59
60 public void setUp() {
61 }
62
63 public void testShowConfiguration(){
64
65 File workingdir = config.getWorkingDirectory();
66 int port = config.getLdapPort();
67
68 System.out.println("working directory : " + workingdir.toString());
69 System.out.println("port : " + port);
70
71 Enumeration e = environment.keys();
72 System.out.println("====== JNDI Environment =====");
73 while(e.hasMoreElements()){
74 String key = (String)e.nextElement();
75 System.out.println(key + " : " + environment.get(key));
76 }
77 }
78
79 public void testAddUser(){
80 directoryService.addUser(testuser);
81 }
82
83 public void testGetUsers(){
84 List list = directoryService.getUsers();
85 for(Iterator i = list.iterator();i.hasNext();){
86 TgwUser user = (TgwUser) i.next();
87 System.out.println(user.getDn());
88 }
89 }
90
91 public void testDeleteUser(){
92 directoryService.deleteUser(testuser.getDn());
93 }
94
95 public void tearDown(){
96
97 }
98
99 }