in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [933:985]
public void testRedirectPutFailureNonRepeatableStream() throws Exception {
File repositoryDirectory = getRepositoryDirectory();
FileUtils.deleteDirectory(repositoryDirectory);
repositoryDirectory.mkdirs();
Server redirectServer = new Server();
addConnector(redirectServer);
RedirectHandler redirectHandler =
new RedirectHandler("See Other", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo", null);
redirectServer.setHandler(redirectHandler);
redirectServer.start();
try {
StreamingWagon wagon = (StreamingWagon) getWagon();
Properties params = new Properties();
params.put("http.protocol.expect-continue", "%b,false");
setHttpConfiguration(wagon, new Properties(), params);
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);
// This does not behave as expected because LightweightWagon does buffering by default
if (wagon.getClass().getName().contains("Lightweight")) {
assertTrue(true);
} else {
fail();
}
} catch (TransferFailedException e) {
assertTrue(true);
} finally {
wagon.disconnect();
tempFile.delete();
}
} finally {
redirectServer.stop();
}
}