You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/12/13 00:44:17 UTC
svn commit: r1213499 - in /maven/wagon/trunk:
wagon-provider-test/src/main/java/org/apache/maven/wagon/http/
wagon-providers/
wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/
wagon-providers/wagon-webdav-jackrabbit/src/te...
Author: olamy
Date: Mon Dec 12 23:44:16 2011
New Revision: 1213499
URL: http://svn.apache.org/viewvc?rev=1213499&view=rev
Log:
[WAGON-366] support Preemptive Authentication on proxy for wagon-http.
add unit test.
Modified:
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
maven/wagon/trunk/wagon-providers/pom.xml
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
Modified: maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java (original)
+++ maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java Mon Dec 12 23:44:16 2011
@@ -424,11 +424,22 @@ public abstract class HttpWagonTestCase
ProxyInfo proxyInfo = createProxyInfo();
proxyInfo.setUserName( "user" );
proxyInfo.setPassword( "secret" );
- TestHeaderHandler handler = new AuthorizingProxyHandler();
+ AuthorizingProxyHandler handler = new AuthorizingProxyHandler();
runTestProxiedRequest( proxyInfo, handler );
assertTrue( handler.headers.containsKey( "Proxy-Authorization" ) );
+
+ if ( supportProxyPreemptiveAuthentication() )
+ {
+ assertEquals( 200, handler.securityHandlerRequestReponses.get( 0 ).responseCode );
+ }
+ else
+ {
+ assertEquals( 407, handler.securityHandlerRequestReponses.get( 0 ).responseCode );
+ assertEquals( 200, handler.securityHandlerRequestReponses.get( 1 ).responseCode );
+ }
+
}
private void runTestProxiedRequest( ProxyInfo proxyInfo, TestHeaderHandler handler )
@@ -975,6 +986,11 @@ public abstract class HttpWagonTestCase
protected abstract boolean supportPreemptiveAuthentication();
+ protected boolean supportProxyPreemptiveAuthentication()
+ {
+ return false;
+ }
+
protected void testPreemptiveAuthentication( TestSecurityHandler sh )
{
@@ -1102,18 +1118,23 @@ public abstract class HttpWagonTestCase
extends TestHeaderHandler
{
+ List<SecurityHandlerRequestReponse> securityHandlerRequestReponses =
+ new ArrayList<SecurityHandlerRequestReponse>();
+
public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
throws IOException, ServletException
{
System.out.println( " handle proxy request" );
if ( request.getHeader( "Proxy-Authorization" ) == null )
{
+ securityHandlerRequestReponses.add( new SecurityHandlerRequestReponse( request.getMethod(), 407 ) );
response.setStatus( 407 );
response.addHeader( "Proxy-Authenticate", "Basic realm=\"Squid proxy-caching web server\"" );
( (Request) request ).setHandled( true );
return;
}
+ securityHandlerRequestReponses.add( new SecurityHandlerRequestReponse( request.getMethod(), 200 ) );
super.handle( target, request, response, dispatch );
}
}
@@ -1121,7 +1142,7 @@ public abstract class HttpWagonTestCase
private static class TestHeaderHandler
extends AbstractHandler
{
- private Map headers = Collections.EMPTY_MAP;
+ public Map headers = Collections.EMPTY_MAP;
public TestHeaderHandler()
{
Modified: maven/wagon/trunk/wagon-providers/pom.xml
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/pom.xml?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/pom.xml Mon Dec 12 23:44:16 2011
@@ -34,10 +34,10 @@ under the License.
<modules>
<module>wagon-file</module>
<module>wagon-ftp</module>
- <module>wagon-http-lightweight</module>
+ <module>wagon-http-shared4</module>
<module>wagon-http</module>
<module>wagon-http-shared</module>
- <module>wagon-http-shared4</module>
+ <module>wagon-http-lightweight</module>
<module>wagon-scm</module>
<module>wagon-ssh-external</module>
<module>wagon-ssh-common</module>
Modified: maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java Mon Dec 12 23:44:16 2011
@@ -68,4 +68,9 @@ public class HttpWagonTest
{
return true;
}
+
+ protected boolean supportProxyPreemptiveAuthentication()
+ {
+ return true;
+ }
}
Modified: maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java Mon Dec 12 23:44:16 2011
@@ -46,4 +46,9 @@ public class HttpsWagonTest
server.setConnectors( new Connector[]{ connector } );
}
+ protected boolean supportProxyPreemptiveAuthentication()
+ {
+ return true;
+ }
+
}
Modified: maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java Mon Dec 12 23:44:16 2011
@@ -424,4 +424,9 @@ public class WebDavWagonTest
}
}
+ protected boolean supportProxyPreemptiveAuthentication()
+ {
+ return true;
+ }
+
}
Modified: maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java?rev=1213499&r1=1213498&r2=1213499&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java Mon Dec 12 23:44:16 2011
@@ -52,4 +52,9 @@ public class WebDavsWagonTest
connector.setTrustPassword( "wagonhttp" );
server.setConnectors( new Connector[] { connector } );
}
+
+ protected boolean supportProxyPreemptiveAuthentication()
+ {
+ return true;
+ }
}