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 2012/03/14 18:50:24 UTC
svn commit: r1300663 -
/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
Author: olamy
Date: Wed Mar 14 17:50:24 2012
New Revision: 1300663
URL: http://svn.apache.org/viewvc?rev=1300663&view=rev
Log:
add test for redirect with putting a file
Modified:
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.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=1300663&r1=1300662&r2=1300663&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 Wed Mar 14 17:50:24 2012
@@ -584,6 +584,143 @@ public abstract class HttpWagonTestCase
}
}
+ public void testRedirectPutFileWithFullUrl()
+ throws Exception
+ {
+ Server realServer = new Server( 0 );
+
+ addConnectors( realServer );
+
+ File repositoryDirectory = getRepositoryDirectory();
+ FileUtils.deleteDirectory( repositoryDirectory );
+ repositoryDirectory.mkdirs();
+
+ PutHandler putHandler = new PutHandler( repositoryDirectory );
+
+ realServer.setHandler( putHandler );
+
+ realServer.start();
+
+ Server redirectServer = new Server( 0 );
+
+ addConnectors( redirectServer );
+
+ String protocol = getProtocol();
+
+ // protocol is wagon protocol but in fact dav is http(s)
+ if ( protocol.equals( "dav" ) )
+ {
+ protocol = "http";
+ }
+
+ if ( protocol.equals( "davs" ) )
+ {
+ protocol = "https";
+ }
+
+ String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
+
+ RedirectHandler redirectHandler = new RedirectHandler( "Found", 303, redirectUrl, repositoryDirectory );
+
+ redirectServer.setHandler( redirectHandler );
+
+ redirectServer.start();
+
+ try
+ {
+ StreamingWagon wagon = (StreamingWagon) getWagon();
+ Repository repository = new Repository( "foo", getRepositoryUrl( redirectServer ) );
+ wagon.connect( repository );
+
+ File sourceFile = new File( repositoryDirectory, "test-secured-put-resource" );
+ sourceFile.delete();
+ assertFalse( sourceFile.exists() );
+
+ File tempFile = File.createTempFile( "wagon", "tmp" );
+ tempFile.deleteOnExit();
+ String content = "put top secret";
+ FileUtils.fileWrite( tempFile.getAbsolutePath(), content );
+
+ try
+ {
+ wagon.put( tempFile, "test-secured-put-resource" );
+ }
+ finally
+ {
+ tempFile.delete();
+ }
+
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ }
+ finally
+ {
+ realServer.stop();
+ redirectServer.stop();
+ }
+ }
+
+
+ public void testRedirectPutFileRelativeUrl()
+ throws Exception
+ {
+ Server realServer = new Server( 0 );
+ addConnectors( realServer );
+ File repositoryDirectory = getRepositoryDirectory();
+ FileUtils.deleteDirectory( repositoryDirectory );
+ repositoryDirectory.mkdirs();
+
+ PutHandler putHandler = new PutHandler( repositoryDirectory );
+
+ realServer.setHandler( putHandler );
+
+ realServer.start();
+
+ Server redirectServer = new Server( 0 );
+
+ addConnectors( redirectServer );
+
+ RedirectHandler redirectHandler =
+ new RedirectHandler( "Found", 303, "/redirectRequest/foo", repositoryDirectory );
+
+ redirectServer.setHandler( redirectHandler );
+
+ redirectServer.start();
+
+ try
+ {
+ StreamingWagon wagon = (StreamingWagon) getWagon();
+ Repository repository = new Repository( "foo", getRepositoryUrl( redirectServer ) );
+ wagon.connect( repository );
+
+ File sourceFile = new File( repositoryDirectory, "/redirectRequest/foo/test-secured-put-resource" );
+ sourceFile.delete();
+ assertFalse( sourceFile.exists() );
+
+ File tempFile = File.createTempFile( "wagon", "tmp" );
+ tempFile.deleteOnExit();
+ String content = "put top secret";
+ FileUtils.fileWrite( tempFile.getAbsolutePath(), content );
+
+ try
+ {
+ wagon.put( tempFile, "test-secured-put-resource" );
+ }
+ finally
+ {
+ tempFile.delete();
+ }
+
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ }
+ finally
+ {
+ realServer.stop();
+ redirectServer.stop();
+ }
+ }
+
public static class RedirectHandler
extends AbstractHandler