in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [1029:1090]
public void testRedirectPutFileRelativeUrl()
throws Exception
{
Server realServer = new Server( );
addConnector( realServer );
File repositoryDirectory = getRepositoryDirectory();
FileUtils.deleteDirectory( repositoryDirectory );
repositoryDirectory.mkdirs();
PutHandler putHandler = new PutHandler( repositoryDirectory );
realServer.setHandler( putHandler );
realServer.start();
Server redirectServer = new Server( );
addConnector( redirectServer );
RedirectHandler redirectHandler =
new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, "/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" );
assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
checkRequestResponseForRedirectPutWithRelativeUrl( redirectHandler, putHandler );
}
finally
{
wagon.disconnect();
tempFile.delete();
}
}
finally
{
realServer.stop();
redirectServer.stop();
}
}