1 22 package org.jboss.test.aop.test; 23 24 import javax.management.MBeanServerConnection ; 25 import javax.management.ObjectName ; 26 27 import junit.framework.Test; 28 import junit.framework.TestSuite; 29 30 import org.jboss.logging.Logger; 31 import org.jboss.mx.util.ObjectNameFactory; 32 import org.jboss.test.JBossTestCase; 33 import org.jboss.test.aop.bean.NonadvisedPOJO; 34 import org.jboss.test.aop.bean.POJO; 35 import org.jboss.aop.proxy.ClassProxy; 36 37 43 44 public class RemotingUnitTestCase 45 extends JBossTestCase 46 { 47 Logger log = getLog(); 48 49 private ObjectName testerName = ObjectNameFactory.create("jboss.aop:name=RemotingTester"); 50 51 private Object [] noparams = {}; 52 private String [] nosig = {}; 53 54 public RemotingUnitTestCase(String name) 55 { 56 super(name); 57 } 58 59 protected void setUp() throws Exception 60 { 61 } 63 64 protected void tearDown() throws Exception 65 { 66 } 67 68 public void testRemoting() throws Exception 69 { 70 MBeanServerConnection server = getServer(); 71 POJO pojo = (POJO)server.invoke(testerName, "testRemoting", noparams, nosig); 72 try 73 { 74 ClassProxy proxy = (ClassProxy)pojo; 75 String rtn = pojo.remoteTest(); if (!rtn.equals("hello")) 77 throw new Exception ("DID NOT GET EXPECTED REMOTE VALUE"); 78 } 79 finally 80 { 81 unregisterWithOid(server, "myobj"); 82 } 83 } 84 85 public void testNonadvisedRemoting() throws Exception 86 { 87 MBeanServerConnection server = getServer(); 88 NonadvisedPOJO pojo = (NonadvisedPOJO)server.invoke(testerName, "testNonadvisedRemoting", noparams, nosig); 89 try 90 { 91 String rtn = pojo.remoteTest(); if (!rtn.equals("hello")) 93 throw new Exception ("DID NOT GET EXPECTED REMOTE VALUE"); 94 } 95 finally 96 { 97 unregisterWithOid(server, "myobj"); 98 } 99 } 100 101 public void testClusteredRemoting() throws Exception 102 { 103 MBeanServerConnection server = getServer(); 104 POJO pojo = (POJO)server.invoke(testerName, "testClusteredRemoting", noparams, nosig); 105 try 106 { 107 String rtn = pojo.remoteTest(); if (!rtn.equals("hello")) 109 throw new Exception ("DID NOT GET EXPECTED REMOTE VALUE"); 110 pojo.remoteTest(); } 112 finally 113 { 114 unregisterTarget(server, pojo); 115 } 116 } 117 118 public void testClusteredNonadvisedRemoting() throws Exception 119 { 120 MBeanServerConnection server = getServer(); 121 NonadvisedPOJO pojo = (NonadvisedPOJO)server.invoke(testerName, "testClusteredNonadvisedRemoting", noparams, nosig); 122 try 123 { 124 String rtn = pojo.remoteTest(); if (!rtn.equals("hello")) 126 throw new Exception ("DID NOT GET EXPECTED REMOTE VALUE"); 127 } 128 finally 129 { 130 unregisterTarget(server, pojo); 131 } 132 } 133 134 public static Test suite() throws Exception 135 { 136 TestSuite suite = new TestSuite(); 137 suite.addTest(new TestSuite(RemotingUnitTestCase.class)); 138 139 AOPTestSetup setup = new AOPTestSetup(suite, "aoptest.sar"); 140 return setup; 141 } 142 143 protected void unregisterWithOid(MBeanServerConnection server, String oid) throws Exception 144 { 145 Object [] params = {oid}; 146 String [] sig = {"java.lang.String"}; 147 server.invoke(testerName, "unregisterNonClusteredObject", params, sig); 148 } 149 150 protected void unregisterTarget(MBeanServerConnection server, Object proxy) 151 throws Exception 152 { 153 Object [] params = { proxy }; 154 String [] sig = { "java.lang.Object" }; 155 server.invoke(testerName, "unregisterTarget", params, sig); 156 } 157 158 } 159 | Popular Tags |