package org.jacorb.test.bugs.bugjac181; import static org.junit.Assert.assertTrue; import java.util.Properties; import org.jacorb.orb.factory.SocketFactoryManager; import org.jacorb.test.harness.ORBTestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.omg.CORBA.ORB; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; public class BugJac181ServerListenerTest extends ORBTestCase { private ORB clientORB; private ORB serverORB; private JAC181 server; @Before public void setUp() throws Exception { TCPListener.reset(); Properties clientProps = new Properties(); clientProps.put("jacorb.iiop.enable_loopback", "off"); Properties serverProps = new Properties(); serverProps.put(SocketFactoryManager.TCP_LISTENER, TCPListener.class.getName()); serverProps.put("jacorb.iiop.enable_loopback", "off"); clientORB = this.getAnotherORB(clientProps); serverORB = this.getAnotherORB(serverProps); POA rootPOA = POAHelper.narrow(serverORB.resolve_initial_references("RootPOA")); rootPOA.the_POAManager().activate(); org.omg.CORBA.Object obj = rootPOA.servant_to_reference(new JAC181Impl()); String objString = serverORB.object_to_string(obj); server = JAC181Helper.narrow(clientORB.string_to_object(objString)); } @After public void tearDown() throws Exception { server._release(); server = null; clientORB.shutdown(true); clientORB = null; serverORB.shutdown(true); serverORB = null; } @Test public void testListener() throws Exception { server.ping2(); Thread.sleep(1000); assertTrue("No open message from listener", TCPListener.isListenerOpen()); server._release(); Thread.sleep(1000); assertTrue("No close message from listener", TCPListener.isListenerClose()); assertTrue(TCPListener.isEventOfCorrectType()); } }