in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [1694:1753]
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 );
}
}