You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2009/10/31 13:07:56 UTC
svn commit: r831535 - in
/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http:
impl/nio/reactor/ mockup/ nio/protocol/
Author: olegk
Date: Sat Oct 31 12:07:56 2009
New Revision: 831535
URL: http://svn.apache.org/viewvc?rev=831535&view=rev
Log:
Better I/O reactor state checks
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestAsyncNHttpHandlers.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestBufferingNHttpHandlers.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestNIOSSLHttp.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestThrottlingNHttpHandlers.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactors.java Sat Oct 31 12:07:56 2009
@@ -29,9 +29,10 @@
import java.io.IOException;
import java.net.InetSocketAddress;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Queue;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -57,6 +58,7 @@
import org.apache.http.nio.reactor.IOReactorExceptionHandler;
import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.protocol.HttpRequestHandler;
@@ -73,9 +75,6 @@
/**
* Tests for basic I/O functionality.
- *
- *
- * @version $Id$
*/
public class TestDefaultIOReactors extends HttpCoreNIOTestBase {
@@ -122,6 +121,9 @@
}
public void finalizeContext(final HttpContext context) {
+ while (requestConns.getCount() > 0) {
+ requestConns.countDown();
+ }
}
public HttpRequest submitRequest(final HttpContext context) {
@@ -202,13 +204,28 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
null);
+ connRequests.add(sessionRequest);
}
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
- requestConns.await(10000, TimeUnit.MILLISECONDS);
+ requestConns.await();
assertEquals(0, requestConns.getCount());
this.client.shutdown();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultIOReactorsSSL.java Sat Oct 31 12:07:56 2009
@@ -29,6 +29,8 @@
import java.io.IOException;
import java.net.InetSocketAddress;
+import java.util.LinkedList;
+import java.util.Queue;
import java.util.concurrent.CountDownLatch;
import junit.framework.Test;
@@ -52,6 +54,7 @@
import org.apache.http.nio.protocol.HttpRequestExecutionHandler;
import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.protocol.HttpRequestHandler;
@@ -198,15 +201,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
- assertEquals(IOReactorStatus.ACTIVE, this.server.getStatus());
- assertEquals(IOReactorStatus.ACTIVE, this.client.getStatus());
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
null);
+ connRequests.add(sessionRequest);
}
-
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
requestConns.await();
assertEquals(0, requestConns.getCount());
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpClient.java Sat Oct 31 12:07:56 2009
@@ -38,6 +38,7 @@
import org.apache.http.nio.reactor.IOEventDispatch;
import org.apache.http.nio.reactor.IOReactorExceptionHandler;
import org.apache.http.nio.reactor.IOReactorStatus;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.HttpParams;
public class TestHttpClient {
@@ -74,8 +75,8 @@
this.ioReactor.execute(ioEventDispatch);
}
- public void openConnection(final InetSocketAddress address, final Object attachment) {
- this.ioReactor.connect(address, null, attachment, null);
+ public SessionRequest openConnection(final InetSocketAddress address, final Object attachment) {
+ return this.ioReactor.connect(address, null, attachment, null);
}
public void start(final NHttpClientHandler clientHandler) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/mockup/TestHttpSSLClient.java Sat Oct 31 12:07:56 2009
@@ -45,6 +45,7 @@
import org.apache.http.nio.reactor.IOEventDispatch;
import org.apache.http.nio.reactor.IOReactorExceptionHandler;
import org.apache.http.nio.reactor.IOReactorStatus;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.HttpParams;
public class TestHttpSSLClient {
@@ -116,8 +117,8 @@
this.ioReactor.execute(ioEventDispatch);
}
- public void openConnection(final InetSocketAddress address, final Object attachment) {
- this.ioReactor.connect(address, null, attachment, null);
+ public SessionRequest openConnection(final InetSocketAddress address, final Object attachment) {
+ return this.ioReactor.connect(address, null, attachment, null);
}
public void start(final NHttpClientHandler clientHandler) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestAsyncNHttpHandlers.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestAsyncNHttpHandlers.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestAsyncNHttpHandlers.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestAsyncNHttpHandlers.java Sat Oct 31 12:07:56 2009
@@ -30,6 +30,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
+import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -54,7 +55,9 @@
import org.apache.http.nio.entity.ConsumingNHttpEntity;
import org.apache.http.nio.entity.NByteArrayEntity;
import org.apache.http.nio.entity.NStringEntity;
+import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpExpectationVerifier;
@@ -73,9 +76,6 @@
/**
* HttpCore NIO integration tests for async handlers.
- *
- *
- * @version $Id$
*/
public class TestAsyncNHttpHandlers extends HttpCoreNIOTestBase {
@@ -151,12 +151,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
@@ -382,10 +397,20 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
- this.client.openConnection(
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < 2; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
@@ -466,11 +491,26 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
+ }
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
}
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
@@ -630,11 +670,26 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
+ }
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
}
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
@@ -736,12 +791,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
@@ -816,12 +886,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
@@ -904,12 +989,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestBufferingNHttpHandlers.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestBufferingNHttpHandlers.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestBufferingNHttpHandlers.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestBufferingNHttpHandlers.java Sat Oct 31 12:07:56 2009
@@ -29,6 +29,7 @@
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
+import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -49,7 +50,9 @@
import org.apache.http.mockup.SimpleEventListener;
import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
import org.apache.http.nio.entity.NStringEntity;
+import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.protocol.HttpRequestHandler;
@@ -67,9 +70,6 @@
/**
* HttpCore NIO integration tests using buffering versions of the
* protocol handlers.
- *
- *
- * @version $Id$
*/
public class TestBufferingNHttpHandlers extends HttpCoreNIOTestBase {
@@ -145,12 +145,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestNIOSSLHttp.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestNIOSSLHttp.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestNIOSSLHttp.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestNIOSSLHttp.java Sat Oct 31 12:07:56 2009
@@ -29,6 +29,7 @@
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
+import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -51,6 +52,7 @@
import org.apache.http.nio.entity.NStringEntity;
import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.protocol.ImmutableHttpProcessor;
@@ -66,9 +68,6 @@
/**
* HttpCore NIO SSL tests.
- *
- *
- * @version $Id$
*/
public class TestNIOSSLHttp extends HttpCoreNIOSSLTestBase {
@@ -144,15 +143,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
- assertEquals(IOReactorStatus.ACTIVE, this.server.getStatus());
- assertEquals(IOReactorStatus.ACTIVE, this.client.getStatus());
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestThrottlingNHttpHandlers.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestThrottlingNHttpHandlers.java?rev=831535&r1=831534&r2=831535&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestThrottlingNHttpHandlers.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestThrottlingNHttpHandlers.java Sat Oct 31 12:07:56 2009
@@ -36,6 +36,7 @@
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.HashMap;
+import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -67,7 +68,9 @@
import org.apache.http.mockup.SimpleHttpRequestHandlerResolver;
import org.apache.http.nio.entity.NByteArrayEntity;
import org.apache.http.nio.entity.NStringEntity;
+import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.ListenerEndpoint;
+import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.protocol.HttpContext;
@@ -90,9 +93,6 @@
/**
* HttpCore NIO integration tests using throttling versions of the
* protocol handlers.
- *
- *
- * @version $Id$
*/
public class TestThrottlingNHttpHandlers extends HttpCoreNIOTestBase {
@@ -184,11 +184,26 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
+ }
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
}
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
@@ -398,9 +413,19 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
- this.client.openConnection(
- new InetSocketAddress("localhost", serverAddress.getPort()),
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ SessionRequest sessionRequest = this.client.openConnection(
+ new InetSocketAddress("localhost", serverAddress.getPort()),
null);
+
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
// wait for the client to invoke finalizeContext().
synchronized (clientExpectations) {
@@ -567,10 +592,20 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
- this.client.openConnection(
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < 2; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
@@ -653,12 +688,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();
@@ -760,11 +810,26 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
+ }
+
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
}
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
@@ -908,12 +973,27 @@
endpoint.waitFor();
InetSocketAddress serverAddress = (InetSocketAddress) endpoint.getAddress();
+ assertEquals("Test server status", IOReactorStatus.ACTIVE, this.server.getStatus());
+
+ Queue<SessionRequest> connRequests = new LinkedList<SessionRequest>();
for (int i = 0; i < connNo; i++) {
- this.client.openConnection(
+ SessionRequest sessionRequest = this.client.openConnection(
new InetSocketAddress("localhost", serverAddress.getPort()),
queue);
+ connRequests.add(sessionRequest);
}
+ while (!connRequests.isEmpty()) {
+ SessionRequest sessionRequest = connRequests.remove();
+ sessionRequest.waitFor();
+ if (sessionRequest.getException() != null) {
+ throw sessionRequest.getException();
+ }
+ assertNotNull(sessionRequest.getSession());
+ }
+
+ assertEquals("Test client status", IOReactorStatus.ACTIVE, this.client.getStatus());
+
for (int i = 0; i < jobs.length; i++) {
TestJob testjob = jobs[i];
testjob.waitFor();