Hi folks, I noticed that we have a TestScheme class which was not in the list of unit tests that are executed by default. When I tried, either something locked up or at least took so long to complete that I preferred to cancel the test run. The likely candidate for this problem was SSLSocketFactory. I've implemented a mockup and changed the tests to use that instead. The delay is gone. I'll wonder another time why instantiating SSLSocketFactory takes so long.
While implementing the above change, I also fixed some cases of a secure scheme being named "http" instead of "https". I'm not 100% sure that this wasn't intentional at least in some cases, so maybe you want to review the change. cheers, Roland > Date: Sun Jun 17 06:08:14 2007 > New Revision: 548038 > > URL: http://svn.apache.org/viewvc?view=rev&rev=548038 > Log: > socket factory mockups, include TestScheme in unit tests > > Added: > > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/mockup/SecureSocketFactoryMockup.java > (with props) > > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/mockup/SocketFactoryMockup.java > (with props) > Modified: > > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestAllConn.java > > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestScheme.java > > Modified: > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestScheme.java > URL: > http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestScheme.java?view=diff&rev=548038&r1=548037&r2=548038 > ============================================================================== > --- > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestScheme.java > (original) > +++ > jakarta/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestScheme.java > Sun Jun 17 06:08:14 2007 > @@ -38,7 +38,9 @@ > import junit.framework.TestSuite; > > import org.apache.http.HttpHost; > -import org.apache.http.conn.ssl.SSLSocketFactory; > +//import org.apache.http.conn.ssl.SSLSocketFactory; > +import org.apache.http.mockup.SecureSocketFactoryMockup; > + > > /** > * Unit tests for [EMAIL PROTECTED] Scheme} and [EMAIL PROTECTED] > SchemeRegistry}. > @@ -70,10 +72,12 @@ > http.getSocketFactory()); > assertFalse(http.isLayered()); > Scheme https = new Scheme > - ("https", SSLSocketFactory.getSocketFactory(), 443); > + ("https", SecureSocketFactoryMockup.INSTANCE, 443); > + // ("https", SSLSocketFactory.getSocketFactory(), 443); > assertEquals("https", https.getName()); > assertEquals(443, https.getDefaultPort()); > - assertSame(SSLSocketFactory.getSocketFactory(), > + assertSame(//SSLSocketFactory.getSocketFactory() > + SecureSocketFactoryMockup.INSTANCE, > https.getSocketFactory()); > assertTrue(https.isLayered()); > > @@ -114,7 +118,8 @@ > Scheme http = new Scheme > ("http", PlainSocketFactory.getSocketFactory(), 80); > Scheme https = new Scheme > - ("https", SSLSocketFactory.getSocketFactory(), 443); > + ("https", SecureSocketFactoryMockup.INSTANCE, 443); > + // ("https", SSLSocketFactory.getSocketFactory(), 443); > Scheme myhttp = new Scheme > ("http", PlainSocketFactory.getSocketFactory(), 80); > > @@ -147,7 +152,8 @@ > Scheme http = new Scheme > ("http", PlainSocketFactory.getSocketFactory(), 80); > Scheme https = new Scheme > - ("https", SSLSocketFactory.getSocketFactory(), 443); > + ("https", SecureSocketFactoryMockup.INSTANCE, 443); > + // ("https", SSLSocketFactory.getSocketFactory(), 443); > > schmreg.register(http); > schmreg.register(https); > @@ -232,9 +238,10 @@ > Scheme myhttp = new Scheme > ("http", PlainSocketFactory.getSocketFactory(), 80); > Scheme https = new Scheme > - ("http", SSLSocketFactory.getSocketFactory(), 443); > + ("https", SecureSocketFactoryMockup.INSTANCE, 443); > + // ("https", SSLSocketFactory.getSocketFactory(), 443); > > - assertTrue(http.hashCode() != https.hashCode()); > + assertTrue(http.hashCode() != https.hashCode()); // not guaranteed > assertTrue(http.hashCode() == myhttp.hashCode()); > } > > @@ -244,7 +251,8 @@ > Scheme myhttp = new Scheme > ("http", PlainSocketFactory.getSocketFactory(), 80); > Scheme https = new Scheme > - ("http", SSLSocketFactory.getSocketFactory(), 443); > + ("https", SecureSocketFactoryMockup.INSTANCE, 443); > + // ("https", SSLSocketFactory.getSocketFactory(), 443); > > assertFalse(http.equals(https)); > assertFalse(http.equals(null)); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
