[jboss-remoting-commits] JBoss Remoting SVN: r4657 - remoting3/trunk/core/src/test/java/org/jboss/remoting/core.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Wed Nov 12 00:48:33 EST 2008
Author: david.lloyd at jboss.com
Date: 2008-11-12 00:48:32 -0500 (Wed, 12 Nov 2008)
New Revision: 4657
Modified:
remoting3/trunk/core/src/test/java/org/jboss/remoting/core/EndpointTestCase.java
Log:
Add more involved unsent reply test
Modified: remoting3/trunk/core/src/test/java/org/jboss/remoting/core/EndpointTestCase.java
===================================================================
--- remoting3/trunk/core/src/test/java/org/jboss/remoting/core/EndpointTestCase.java 2008-11-12 05:29:27 UTC (rev 4656)
+++ remoting3/trunk/core/src/test/java/org/jboss/remoting/core/EndpointTestCase.java 2008-11-12 05:48:32 UTC (rev 4657)
@@ -217,4 +217,54 @@
executorService.shutdownNow();
}
}
+
+ public void testUnsentReply2() throws Throwable {
+ final EndpointImpl endpoint = new EndpointImpl();
+ final ExecutorService executorService = Executors.newCachedThreadPool();
+ final Object requestObj = new Object();
+ try {
+ endpoint.setExecutor(executorService);
+ endpoint.start();
+ try {
+ final Handle<RequestHandler> handle = endpoint.createRequestHandler(new AbstractRequestListener<Object, Object>() {
+ public void handleRequest(final RequestContext<Object> context, final Object request) throws RemoteExecutionException {
+ assertEquals(request, requestObj);
+ context.execute(new Runnable() {
+ public void run() {
+ context.execute(new Runnable() {
+ public void run() {
+ context.execute(new Runnable() {
+ public void run() {
+ }
+ });
+ }
+ });
+ context.execute(new Runnable() {
+ public void run() {
+ }
+ });
+ }
+ });
+ context.execute(new Runnable() {
+ public void run() {
+ }
+ });
+ }
+ }, Object.class, Object.class);
+ final RequestHandler requestHandler = handle.getResource();
+ try {
+ final Client<Object,Object> client = endpoint.createClient(requestHandler, Object.class, Object.class);
+ final IoFuture<Object> futureReply = client.send(requestObj);
+ assertEquals(IoFuture.Status.FAILED, futureReply.await(500L, TimeUnit.MILLISECONDS));
+ assertTrue(futureReply.getException() instanceof IndeterminateOutcomeException);
+ } finally {
+ IoUtils.safeClose(requestHandler);
+ }
+ } finally {
+ safeStop(endpoint);
+ }
+ } finally {
+ executorService.shutdownNow();
+ }
+ }
}
More information about the jboss-remoting-commits
mailing list