in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [1909:1985]
public void runTestSecuredPutFromStream( AuthenticationInfo authInfo, int putNumber, boolean addSecurityHandler )
throws Exception
{
String localRepositoryPath = FileTestUtils.getTestOutputDir().toString();
Server server = new Server( );
TestSecurityHandler sh = createSecurityHandler();
PutHandler putHandler = new PutHandler( new File( localRepositoryPath ) );
if ( addSecurityHandler )
{
sh.setHandler( putHandler );
server.setHandler( sh );
}
else
{
server.setHandler( putHandler );
}
addConnector( server );
server.start();
StreamingWagon wagon = (StreamingWagon) getWagon();
Repository testRepository = new Repository( "id", getRepositoryUrl( server ) );
if ( addSecurityHandler )
{
wagon.connect( testRepository, authInfo );
}
else
{
wagon.connect( testRepository );
}
try
{
for ( int i = 0; i < putNumber; i++ )
{
File sourceFile = new File( localRepositoryPath, "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 );
}
finally
{
tempFile.delete();
}
assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
}
}
finally
{
wagon.disconnect();
server.stop();
}
assertEquals( putNumber, putHandler.putCallNumber );
if ( addSecurityHandler )
{
testPreemptiveAuthenticationPut( sh, supportPreemptiveAuthenticationPut() );
}
// ensure we didn't use chunked transfer which doesn't work on ngnix
for ( DeployedResource deployedResource : putHandler.deployedResources )
{
if ( StringUtils.equalsIgnoreCase( "chunked", deployedResource.transferEncoding ) )
{
fail( "deployedResource use chunked: " + deployedResource );
}
}
}