| 1 23 24 package com.rift.coad.lib.deployment.bean; 25 26 import com.rift.coad.lib.transaction.TransactionDirector; 27 import junit.framework.*; 28 import java.net.URL ; 29 import java.net.URLClassLoader ; 30 import java.util.Map ; 31 import java.util.Set ; 32 import java.util.HashSet ; 33 import java.util.HashMap ; 34 import javax.naming.Context ; 35 import javax.naming.InitialContext ; 36 import org.apache.log4j.BasicConfigurator; 37 38 import com.rift.coad.lib.security.ThreadsPermissionContainer; 40 import com.rift.coad.lib.cache.CacheRegistry; 41 import com.rift.coad.lib.configuration.ConfigurationFactory; 42 import com.rift.coad.lib.configuration.Configuration; 43 import com.rift.coad.lib.deployment.DeploymentLoader; 44 import com.rift.coad.lib.naming.NamingDirector; 45 import com.rift.coad.lib.security.user.UserStoreManager; 46 import com.rift.coad.lib.security.ThreadsPermissionContainer; 47 import com.rift.coad.lib.security.ThreadPermissionSession; 48 import com.rift.coad.lib.security.login.handlers.PasswordInfoHandler; 49 import com.rift.coad.lib.security.SessionManager; 50 import com.rift.coad.lib.security.UserSession; 51 import com.rift.coad.lib.security.RoleManager; 52 import com.rift.coad.lib.security.Validator; 53 import com.rift.coad.lib.security.user.UserSessionManager; 54 import com.rift.coad.lib.security.login.LoginManager; 55 import com.rift.coad.lib.thread.CoadunationThreadGroup; 56 import com.rift.coad.lib.interceptor.InterceptorFactory; 57 58 63 public class BeanManagerTest extends TestCase { 64 65 public BeanManagerTest(String testName) { 66 super(testName); 67 BasicConfigurator.configure(); 68 } 69 70 protected void setUp() throws Exception { 71 } 72 73 protected void tearDown() throws Exception { 74 } 75 76 public static Test suite() { 77 TestSuite suite = new TestSuite(BeanManagerTest.class); 78 79 return suite; 80 } 81 82 85 public void testBeanManager() throws Exception { 86 System.out.println("testBeanManager"); 87 88 System.out.println("Jar path : " + System.getProperty("test.jar")); 89 90 ThreadsPermissionContainer permissionContainer = 92 new ThreadsPermissionContainer(); 93 94 SessionManager.init(permissionContainer); 96 UserStoreManager userStoreManager = new UserStoreManager(); 97 UserSessionManager sessionManager = new UserSessionManager( 98 permissionContainer,userStoreManager); 99 LoginManager.init(sessionManager,userStoreManager); 100 101 RoleManager.getInstance(); 103 104 CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(sessionManager, 106 userStoreManager); 107 108 InterceptorFactory.init(permissionContainer,sessionManager, 110 userStoreManager); 111 112 Set set = new HashSet (); 114 set.add("test"); 115 UserSession user = new UserSession("test1", set); 116 permissionContainer.putSession(new Long (Thread.currentThread().getId()), 117 new ThreadPermissionSession( 118 new Long (Thread.currentThread().getId()),user)); 119 120 NamingDirector.init(threadGroup); 122 123 TransactionDirector transactionDirector = TransactionDirector.init(); 125 126 Context ctx = new InitialContext (); 128 129 CacheRegistry.init(threadGroup); 131 132 DeploymentLoader deploymentLoader = new DeploymentLoader( 133 new java.io.File (System.getProperty("test.jar"))); 134 135 BeanManager instance = new BeanManager(permissionContainer,threadGroup); 136 137 ClassLoader original = Thread.currentThread().getContextClassLoader(); 139 Thread.currentThread().setContextClassLoader( 140 deploymentLoader.getClassLoader()); 141 NamingDirector.getInstance().initContext(); 142 143 instance.load(deploymentLoader); 145 146 Set keys = instance.getKeys(); 148 149 if (keys.size() != 2) { 150 fail("There should only be one bean in the list"); 151 } 152 153 if (keys.contains("testbean") == false) { 154 fail("The bean that should be loaded should be called [testbean]"); 155 } 156 157 Object ref = ctx.lookup("java:comp/env/bean/testbean"); 158 159 instance.unLoad(deploymentLoader); 161 NamingDirector.getInstance().releaseContext(); 162 Thread.currentThread().setContextClassLoader(original); 163 164 keys = instance.getKeys(); 166 if (keys.size() != 0) { 167 fail("There should be no beans in the list"); 168 } 169 170 try { 171 ref = ctx.lookup("java:comp/env/bean/testbean"); 172 fail("The context is still bound"); 173 } catch (Exception ex) { 174 } 176 177 CacheRegistry.getInstance().shutdown(); 178 179 NamingDirector.getInstance().shutdown(); 180 } 181 182 } 183 | Popular Tags |