in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [1411:1458]
public void testPut429() throws Exception {
try {
StreamingWagon wagon = (StreamingWagon) getWagon();
Server server = new Server();
final AtomicBoolean called = new AtomicBoolean();
AbstractHandler handler = new AbstractHandler() {
public void handle(
String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
if (called.get()) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
baseRequest.setHandled(true);
} else {
called.set(true);
response.setStatus(SC_TOO_MANY_REQUESTS);
baseRequest.setHandled(true);
}
}
};
server.setHandler(handler);
addConnector(server);
server.start();
wagon.connect(new Repository("id", getRepositoryUrl(server)));
File tempFile = File.createTempFile("wagon", "tmp");
tempFile.deleteOnExit();
FileUtils.fileWrite(tempFile.getAbsolutePath(), "content");
try {
wagon.put(tempFile, "resource");
fail();
} finally {
wagon.disconnect();
server.stop();
tempFile.delete();
}
} catch (TransferFailedException e) {
assertTrue(true);
}
}