in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [733:785]
public void testRedirectPutFromStreamRelativeUrl() 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 (FileInputStream fileInputStream = new FileInputStream(tempFile)) {
wagon.putFromStream(fileInputStream, "test-secured-put-resource", content.length(), -1);
assertEquals(content, FileUtils.fileRead(sourceFile.getAbsolutePath()));
checkRequestResponseForRedirectPutWithRelativeUrl(redirectHandler, putHandler);
} finally {
wagon.disconnect();
tempFile.delete();
}
} finally {
realServer.stop();
redirectServer.stop();
}
}