1 7 package org.jboss.test.foedeployer.test; 8 9 import java.io.IOException ; 10 import java.net.InetAddress ; 11 import java.rmi.RemoteException ; 12 import java.util.Set ; 13 import java.util.Collection ; 14 import javax.ejb.CreateException ; 15 import javax.ejb.Handle ; 16 import javax.management.ObjectName ; 17 import javax.naming.InitialContext ; 18 import javax.naming.NamingException ; 19 import javax.rmi.PortableRemoteObject ; 20 21 import junit.extensions.TestSetup; 22 import junit.framework.Test; 23 import junit.framework.TestCase; 24 import junit.framework.TestSuite; 25 26 import org.jboss.test.JBossTestCase; 27 import org.jboss.test.JBossTestSetup; 28 29 import org.jboss.test.foedeployer.ejb.simple.SecretManager; 30 import org.jboss.test.foedeployer.ejb.simple.SecretManagerHome; 31 import org.jboss.test.foedeployer.ejb.o2mb.O2MBManager; 32 import org.jboss.test.foedeployer.ejb.o2mb.O2MBManagerHome; 33 34 40 public class O2MBConversionTestCase 41 extends JBossTestCase 42 { 43 public static final String FOE_DEPLOYER = "foe-deployer-3.2.sar"; 45 public static final String FOE_DEPLOYER_NAME = "jboss:service=FoeDeployer"; 46 public static final String CONVERTOR_DEPLOYER_QUERY_NAME = "jboss:service=Convertor,*"; 47 public static final String APPLICATION = "foe-deployer-o2mb-test"; 48 public static final String MANAGER_SESSION_JNDI_NAME = "O2MBManagerEJB.O2MBManagerHome"; 49 50 54 public static Test suite() throws Exception 55 { 56 TestSuite suite = new TestSuite(); 57 suite.addTest( new TestSuite( O2MBConversionTestCase.class ) ); 58 59 TestSetup wrapper = new JBossTestSetup( suite ) 61 { 62 protected void setUp() throws Exception 63 { 64 super.setUp(); 65 } 66 protected void tearDown() throws Exception 67 { 68 super.tearDown(); 69 } 70 }; 71 return wrapper; 72 } 73 74 public O2MBConversionTestCase( String name ) 76 { 77 super( name ); 78 } 79 80 84 public void testSimpleConversion() 85 throws Exception 86 { 87 try 88 { 89 log.debug( "+++ testO2MBConversion" ); 90 91 boolean isInitiallyDeployed = getServer().isRegistered( new ObjectName ( FOE_DEPLOYER_NAME ) ); 93 if( !isInitiallyDeployed ) deploy(FOE_DEPLOYER); 94 95 boolean isDeployed = getServer().isRegistered(new ObjectName (FOE_DEPLOYER_NAME)); 96 assertTrue("Foe-Deployer is not deployed", isDeployed); 97 98 int count = getServer().queryNames(new ObjectName (CONVERTOR_DEPLOYER_QUERY_NAME), null).size(); 100 assertTrue("No Convertor found on web server", count > 0); 101 102 deploy(APPLICATION + ".wlar"); 104 105 deploy(APPLICATION + ".jar"); 108 109 int i; 111 String companyName = "Romashka"; 112 String [] employees = {"Ivanov", "Petrov", "Sidorov"}; 113 114 O2MBManager manager = getO2MBManager(); 115 116 log.debug( "cleaning the database" ); 117 manager.removeCompanyIfExists( companyName ); 118 119 log.debug( "creating company: " + companyName ); 120 manager.createCompany( companyName ); 121 122 for( i = 0; i < employees.length - 1; ++i ) 124 { 125 log.debug( "creating employee '" + employees[i] 126 + "' for company '" + companyName + "'" ); 127 manager.createEmployeeForCompany( employees[i], companyName ); 128 } 129 130 Collection emps = manager.getEmployeesForCompany( companyName ); 132 log.debug("employees for company '" + companyName + "': " + emps ); 133 134 log.debug( "checking whether employees employed by the company" ); 135 for( i = 0; i < employees.length - 1; ++i ) 136 { 137 assertTrue( "Employee '" + employees[i] + "' must have been employed", 138 emps.contains( employees[ i ] ) ); 139 } 140 141 log.debug( "creating the last employee: " + employees[employees.length-1] ); 142 manager.createEmployee( employees[ employees.length - 1 ] ); 143 144 log.debug( "employ '" + employees[ employees.length-1 ] + "'" ); 145 manager.employ( employees[employees.length-1], companyName ); 146 147 assertTrue( "Employee '" + employees[ employees.length-1 ] 149 + "' must have been employed", 150 companyName.equals( 151 manager.getCompanyForEmployee( employees[ employees.length-1 ] ) ) 152 ); 153 154 log.debug( "checking whether all employees are employed by the company" ); 155 emps = manager.getEmployeesForCompany( companyName ); 156 for( i = 0; i < employees.length; ++i ) 157 { 158 assertTrue( "Employee '" + employees[i] + "' must have been employed", 159 emps.contains( employees[ i ] ) ); 160 } 161 162 log.debug("removing company: " + companyName ); 163 manager.removeCompany( companyName ); 164 165 undeploy(APPLICATION + ".jar"); 167 undeploy(APPLICATION + ".wlar"); 169 170 if(!isInitiallyDeployed) undeploy( FOE_DEPLOYER ); 172 } 173 catch(Exception e) 174 { 175 e.printStackTrace(); 176 throw e; 177 } 178 } 179 180 private O2MBManager getO2MBManager() 182 throws Exception 183 { 184 log.debug("looking for O2MBManager"); 185 Object ref = getInitialContext().lookup( MANAGER_SESSION_JNDI_NAME ); 186 O2MBManagerHome home = (O2MBManagerHome) PortableRemoteObject.narrow( 187 ref, O2MBManagerHome.class ); 188 return home.create(); 189 } 190 } 191 | Popular Tags |