diff --git a/httpservices/src/main/java/ucar/httpservices/HTTPConnections.java b/httpservices/src/main/java/ucar/httpservices/HTTPConnections.java index f638256c0f..fd10cd4c07 100644 --- a/httpservices/src/main/java/ucar/httpservices/HTTPConnections.java +++ b/httpservices/src/main/java/ucar/httpservices/HTTPConnections.java @@ -96,10 +96,16 @@ protected Registry getRegistry() { return this.protocolregistry; } + // For testing void validate() { assert actualconnections == 0; } + // For testing + int getActualConnections() { + return actualconnections; + } + public abstract HttpClientConnectionManager newManager(HTTPMethod m); public abstract void freeManager(HTTPMethod method); diff --git a/httpservices/src/main/java/ucar/httpservices/HTTPSession.java b/httpservices/src/main/java/ucar/httpservices/HTTPSession.java index bfb0b072cb..fed55faba4 100755 --- a/httpservices/src/main/java/ucar/httpservices/HTTPSession.java +++ b/httpservices/src/main/java/ucar/httpservices/HTTPSession.java @@ -1116,9 +1116,13 @@ public String getSessionURL() { return getSessionURI(); } - // Obsolete - // make package private as only needed for testing + // For testing static void validatestate() { connmgr.validate(); } + + // For testing + static int getActualConnections() { + return connmgr.getActualConnections(); + } } diff --git a/httpservices/src/test/java/ucar/httpservices/TestThreading.java b/httpservices/src/test/java/ucar/httpservices/TestThreading.java index e1da105fea..b30bd1120b 100644 --- a/httpservices/src/test/java/ucar/httpservices/TestThreading.java +++ b/httpservices/src/test/java/ucar/httpservices/TestThreading.java @@ -32,6 +32,8 @@ package ucar.httpservices; +import static com.google.common.truth.Truth.assertThat; + import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; @@ -75,6 +77,7 @@ public class TestThreading extends UnitTestCommon { protected String[] testurls; protected int nthreads = DFALTTHREADS; + private final int actualConnectionsBefore; ////////////////////////////////////////////////// @@ -92,6 +95,7 @@ public TestThreading() { } } definetests(); + actualConnectionsBefore = HTTPSession.getActualConnections(); } protected void definetests() { @@ -152,7 +156,7 @@ public void testThreadingN() throws HTTPException, InterruptedException { } } logger.debug("All threads terminated"); - HTTPSession.validatestate(); + assertThat(HTTPSession.getActualConnections()).isEqualTo(actualConnectionsBefore); } @Test @@ -173,7 +177,7 @@ public void testThreading1() throws HTTPException { } } logger.debug("All threads terminated"); - HTTPSession.validatestate(); + assertThat(HTTPSession.getActualConnections()).isEqualTo(actualConnectionsBefore); } static class Runner implements Runnable { diff --git a/httpservices/src/test/java/ucar/httpservices/TestUrlCreds.java b/httpservices/src/test/java/ucar/httpservices/TestUrlCreds.java index 961691f70d..d1c1650964 100644 --- a/httpservices/src/test/java/ucar/httpservices/TestUrlCreds.java +++ b/httpservices/src/test/java/ucar/httpservices/TestUrlCreds.java @@ -7,7 +7,7 @@ import org.apache.http.auth.Credentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.client.BasicCredentialsProvider; -import org.junit.AfterClass; +import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -21,6 +21,7 @@ public class TestUrlCreds { private String username; private String password; private String host; + private final int actualConnectionsBefore; // Each parameter should be placed as an argument here // Every time runner triggers, it will pass the arguments @@ -30,6 +31,7 @@ public TestUrlCreds(String username, String password, String host) { this.username = username; this.password = password; this.host = host; + actualConnectionsBefore = HTTPSession.getActualConnections(); } @Parameterized.Parameters @@ -78,8 +80,8 @@ public void testUrlCredDefaultProvider() throws HTTPException { } } - @AfterClass - public static void checkAllConnectionsClosed() { - HTTPSession.validatestate(); + @After + public void checkAllConnectionsClosed() { + assertThat(HTTPSession.getActualConnections()).isEqualTo(actualConnectionsBefore); } }