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]

Reply via email to