package org.jacorb.test.bugs.bugjac330; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.Properties; import org.jacorb.test.BasicServer; import org.jacorb.test.BasicServerHelper; import org.jacorb.test.harness.ClientServerSetup; import org.jacorb.test.harness.ClientServerTestCase; import org.jacorb.test.orb.BasicServerImpl; import org.junit.BeforeClass; import org.junit.Test; import org.omg.CORBA.NO_RESOURCES; /** * @author Alphonse Bendt */ public class BugJac330Test extends ClientServerTestCase { @BeforeClass public static void beforeClassSetUp() throws Exception { final Properties clientProps = new Properties(); final Properties serverProps = new Properties(); clientProps.put("jacorb.connection.client.max_receptor_threads", "0"); setup = new ClientServerSetup(BasicServerImpl.class.getName(), clientProps, serverProps); } @Test public void testConnectClient() throws Exception { final BasicServer server = BasicServerHelper.narrow(setup.getServerObject()); final Exception[] exception = new Exception[1]; final boolean[] success = new boolean[1]; final int timeout = 60000; Runnable pingCommand = new Runnable() { public void run() { try { server.ping(); success[0] = true; } catch (Exception e) { exception[0] = e; } } }; Thread thread = new Thread(pingCommand); thread.start(); thread.join(timeout); assertTrue("ping command did not terminate within " + timeout + " ms", success[0] || exception[0] != null); assertNotNull("request should have failed", exception[0]); assertEquals(NO_RESOURCES.class, exception[0].getClass()); } }