[jboss-remoting-commits] JBoss Remoting SVN: r5586 - remoting3/trunk/jboss-remoting/src/test/java/org/jboss/remoting3.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Wed Nov 4 20:15:03 EST 2009
Author: david.lloyd at jboss.com
Date: 2009-11-04 20:15:03 -0500 (Wed, 04 Nov 2009)
New Revision: 5586
Modified:
remoting3/trunk/jboss-remoting/src/test/java/org/jboss/remoting3/EndpointTestCase.java
Log:
Bring tests up to date
Modified: remoting3/trunk/jboss-remoting/src/test/java/org/jboss/remoting3/EndpointTestCase.java
===================================================================
--- remoting3/trunk/jboss-remoting/src/test/java/org/jboss/remoting3/EndpointTestCase.java 2009-11-05 00:20:35 UTC (rev 5585)
+++ remoting3/trunk/jboss-remoting/src/test/java/org/jboss/remoting3/EndpointTestCase.java 2009-11-05 01:15:03 UTC (rev 5586)
@@ -25,9 +25,11 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
+import java.io.IOException;
+import java.net.URI;
import junit.framework.TestCase;
import org.jboss.xnio.IoUtils;
+import org.jboss.xnio.OptionMap;
import org.jboss.xnio.log.Logger;
/**
@@ -39,7 +41,7 @@
public void testCreate() throws Throwable {
final ExecutorService executorService = Executors.newCachedThreadPool();
- final EndpointImpl endpoint = new EndpointImpl(executorService, "foo");
+ final Endpoint endpoint = Remoting.createEndpoint(executorService, "foo");
try {
endpoint.close();
executorService.shutdown();
@@ -50,60 +52,154 @@
}
public void testLocalClientInvoke() throws Throwable {
- final AtomicBoolean clientEndpointClosed = new AtomicBoolean(false);
- final AtomicBoolean clientClosed = new AtomicBoolean(false);
- final ExecutorService executorService = Executors.newCachedThreadPool();
+ final Endpoint endpoint = Remoting.createEndpoint("test-endpoint");
try {
- final EndpointImpl endpoint = new EndpointImpl(executorService, "test-endpoint");
final Object requestObj = new Object();
final Object replyObj = new Object();
+ final Client<Object, Object> localClient = Remoting.createLocalClient(endpoint, new RequestListener<Object, Object>() {
+ public void handleRequest(final RequestContext<Object> objectRequestContext, final Object request) throws RemoteExecutionException {
+ try {
+ objectRequestContext.sendReply(replyObj);
+ } catch (IOException e) {
+ throw new RemoteExecutionException(e);
+ }
+ }
+
+ public void handleClose() {
+ log.info("Listener closed");
+ }
+ }, Object.class, Object.class);
try {
+ assertEquals(replyObj, localClient.invoke(requestObj));
} finally {
- IoUtils.safeClose(endpoint);
+ IoUtils.safeClose(localClient);
}
} finally {
- executorService.shutdownNow();
+ IoUtils.safeClose(endpoint);
}
}
public void testLocalClientSend() throws Throwable {
- final AtomicBoolean clientEndpointClosed = new AtomicBoolean(false);
- final AtomicBoolean clientClosed = new AtomicBoolean(false);
- final ExecutorService executorService = Executors.newCachedThreadPool();
+ final Endpoint endpoint = Remoting.createEndpoint("test-endpoint");
try {
- final EndpointImpl endpoint = new EndpointImpl(executorService, "test-endpoint");
+ final Object requestObj = new Object();
+ final Object replyObj = new Object();
+ final Client<Object, Object> localClient = Remoting.createLocalClient(endpoint, new RequestListener<Object, Object>() {
+ public void handleRequest(final RequestContext<Object> objectRequestContext, final Object request) throws RemoteExecutionException {
+ try {
+ objectRequestContext.sendReply(replyObj);
+ } catch (IOException e) {
+ throw new RemoteExecutionException(e);
+ }
+ }
+
+ public void handleClose() {
+ log.info("Listener closed");
+ }
+ }, Object.class, Object.class);
try {
+ assertEquals(replyObj, localClient.send(requestObj).get());
} finally {
- IoUtils.safeClose(endpoint);
+ IoUtils.safeClose(localClient);
}
} finally {
- executorService.shutdownNow();
+ IoUtils.safeClose(endpoint);
}
}
- public void testUnsentReply() throws Throwable {
- final ExecutorService executorService = Executors.newCachedThreadPool();
+ public void testLocalClientConnectInvoke() throws Throwable {
+ final Endpoint endpoint = Remoting.createEndpoint("test-endpoint");
try {
- final EndpointImpl endpoint = new EndpointImpl(executorService, "test-endpoint");
+ final Object requestObj = new Object();
+ final Object replyObj = new Object();
+ final Registration registration = endpoint.serviceBuilder().setGroupName("foo").setServiceType("test").setRequestType(Object.class).
+ setReplyType(Object.class).setClientListener(new ClientListener<Object, Object>() {
+ public RequestListener<Object, Object> handleClientOpen(final ClientContext clientContext) {
+ return new RequestListener<Object, Object>() {
+ public void handleRequest(final RequestContext<Object> objectRequestContext, final Object request) throws RemoteExecutionException {
+ try {
+ objectRequestContext.sendReply(replyObj);
+ } catch (IOException e) {
+ throw new RemoteExecutionException(e);
+ }
+ }
+
+ public void handleClose() {
+ log.info("Listener closed");
+ }
+ };
+ }
+ }).register();
try {
+ final Connection connection = endpoint.connect(new URI("local:///"), OptionMap.EMPTY).get();
+ try {
+ final Client<Object, Object> localClient = connection.openClient("test", "*", Object.class, Object.class).get();
+ try {
+ assertEquals(replyObj, localClient.invoke(requestObj));
+ } finally {
+ IoUtils.safeClose(localClient);
+ }
+ } finally {
+ IoUtils.safeClose(connection);
+ }
} finally {
- IoUtils.safeClose(endpoint);
+ IoUtils.safeClose(registration);
}
} finally {
- executorService.shutdownNow();
+ IoUtils.safeClose(endpoint);
}
}
- public void testUnsentReply2() throws Throwable {
- final ExecutorService executorService = Executors.newCachedThreadPool();
+ public void testLocalClientConnectSend() throws Throwable {
+ final Endpoint endpoint = Remoting.createEndpoint("test-endpoint");
try {
- final EndpointImpl endpoint = new EndpointImpl(executorService, "test-endpoint");
+ final Object requestObj = new Object();
+ final Object replyObj = new Object();
+ final Registration registration = endpoint.serviceBuilder().setGroupName("foo").setServiceType("test").setRequestType(Object.class).
+ setReplyType(Object.class).setClientListener(new ClientListener<Object, Object>() {
+ public RequestListener<Object, Object> handleClientOpen(final ClientContext clientContext) {
+ return new RequestListener<Object, Object>() {
+ public void handleRequest(final RequestContext<Object> objectRequestContext, final Object request) throws RemoteExecutionException {
+ try {
+ objectRequestContext.sendReply(replyObj);
+ } catch (IOException e) {
+ throw new RemoteExecutionException(e);
+ }
+ }
+
+ public void handleClose() {
+ log.info("Listener closed");
+ }
+ };
+ }
+ }).register();
try {
+ final Connection connection = endpoint.connect(new URI("local:///"), OptionMap.EMPTY).get();
+ try {
+ final Client<Object, Object> localClient = connection.openClient("test", "*", Object.class, Object.class).get();
+ try {
+ assertEquals(replyObj, localClient.send(requestObj).get());
+ } finally {
+ IoUtils.safeClose(localClient);
+ }
+ } finally {
+ IoUtils.safeClose(connection);
+ }
} finally {
- IoUtils.safeClose(endpoint);
+ IoUtils.safeClose(registration);
}
} finally {
- executorService.shutdownNow();
+ IoUtils.safeClose(endpoint);
}
}
+
+ public void testNotFoundService() throws Throwable {
+ final Endpoint endpoint = Remoting.createEndpoint("test-endpoint");
+ try {
+ endpoint.connect(new URI("local:///"), OptionMap.EMPTY).get().openClient("blah", "bzzt", Object.class, Object.class).get();
+ } catch (ServiceNotFoundException e) {
+ return;
+ }
+ fail("Expected exception");
+ }
}
More information about the jboss-remoting-commits
mailing list