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 }