mirror of https://github.com/apache/archiva.git
[MRM-138] proxy checksum requests only to the managed repo
git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@431278 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
48ecdcf197
commit
5dc6004d8f
|
@ -36,10 +36,10 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Test the proxy handler.
|
||||
*
|
||||
* @author Brett Porter
|
||||
* @todo! tests to do vvv
|
||||
* @todo test checksum request from proxy gets from managed repo when present
|
||||
* @todo test checksum request from proxy doesn't go to proxy when not in managed repo
|
||||
* @todo test metadata - general
|
||||
* @todo test metadata - multiple repos are merged
|
||||
* @todo test metadata - update interval
|
||||
|
@ -800,23 +800,6 @@ public class ProxyRequestHandlerTest
|
|||
}
|
||||
}
|
||||
|
||||
private void mockFailedChecksums( String path, File expectedFile )
|
||||
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
|
||||
{
|
||||
// must do it twice as it will re-attempt it
|
||||
wagonMock.get( path + ".sha1", new File( expectedFile.getParentFile(), expectedFile.getName() + ".sha1.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".md5", new File( expectedFile.getParentFile(), expectedFile.getName() + ".md5.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".sha1", new File( expectedFile.getParentFile(), expectedFile.getName() + ".sha1.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".md5", new File( expectedFile.getParentFile(), expectedFile.getName() + ".md5.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
}
|
||||
|
||||
public void testGetAlwaysBadChecksumPresentLocallyAbsentRemote()
|
||||
throws ResourceDoesNotExistException, ProxyException, IOException
|
||||
{
|
||||
|
@ -839,6 +822,107 @@ public class ProxyRequestHandlerTest
|
|||
assertFalse( "Check checksum removed", new File( file.getParentFile(), file.getName() + ".md5" ).exists() );
|
||||
}
|
||||
|
||||
public void testGetChecksumPresentInManagedRepo()
|
||||
throws ResourceDoesNotExistException, ProxyException, IOException
|
||||
{
|
||||
String path =
|
||||
"org/apache/maven/test/get-checksum-from-managed-repo/1.0/get-checksum-from-managed-repo-1.0.jar.sha1";
|
||||
File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
|
||||
String expectedContents = FileUtils.fileRead( expectedFile );
|
||||
|
||||
assertTrue( expectedFile.exists() );
|
||||
|
||||
File file = requestHandler.get( path, proxiedRepositories, defaultManagedRepository );
|
||||
|
||||
assertEquals( "Check file matches", expectedFile, file );
|
||||
assertTrue( "Check file created", file.exists() );
|
||||
File proxiedFile = new File( proxiedRepository1.getBasedir(), path );
|
||||
String unexpectedContents = FileUtils.fileRead( proxiedFile );
|
||||
assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
|
||||
assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
|
||||
}
|
||||
|
||||
public void testGetAlwaysChecksumPresentInManagedRepo()
|
||||
throws ResourceDoesNotExistException, ProxyException, IOException
|
||||
{
|
||||
String path =
|
||||
"org/apache/maven/test/get-checksum-from-managed-repo/1.0/get-checksum-from-managed-repo-1.0.jar.sha1";
|
||||
File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
|
||||
String expectedContents = FileUtils.fileRead( expectedFile );
|
||||
|
||||
assertTrue( expectedFile.exists() );
|
||||
|
||||
File file = requestHandler.getAlways( path, proxiedRepositories, defaultManagedRepository );
|
||||
|
||||
assertEquals( "Check file matches", expectedFile, file );
|
||||
assertTrue( "Check file created", file.exists() );
|
||||
File proxiedFile = new File( proxiedRepository1.getBasedir(), path );
|
||||
String unexpectedContents = FileUtils.fileRead( proxiedFile );
|
||||
assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
|
||||
assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
|
||||
}
|
||||
|
||||
public void testGetChecksumNotPresentInManagedRepo()
|
||||
throws ResourceDoesNotExistException, ProxyException, IOException
|
||||
{
|
||||
String path = "org/apache/maven/test/get-checksum-sha1-only/1.0/get-checksum-sha1-only-1.0.jar.sha1";
|
||||
File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
|
||||
|
||||
assertFalse( expectedFile.exists() );
|
||||
|
||||
File file = null;
|
||||
try
|
||||
{
|
||||
file = requestHandler.get( path, proxiedRepositories, defaultManagedRepository );
|
||||
fail( "Found file: " + file + "; but was expecting a failure" );
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
{
|
||||
// expected
|
||||
|
||||
assertFalse( expectedFile.exists() );
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetAlwaysChecksumNotPresentInManagedRepo()
|
||||
throws ResourceDoesNotExistException, ProxyException, IOException
|
||||
{
|
||||
String path = "org/apache/maven/test/get-checksum-sha1-only/1.0/get-checksum-sha1-only-1.0.jar.sha1";
|
||||
File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
|
||||
|
||||
assertFalse( expectedFile.exists() );
|
||||
|
||||
File file = null;
|
||||
try
|
||||
{
|
||||
file = requestHandler.getAlways( path, proxiedRepositories, defaultManagedRepository );
|
||||
fail( "Found file: " + file + "; but was expecting a failure" );
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
{
|
||||
// expected
|
||||
|
||||
assertFalse( expectedFile.exists() );
|
||||
}
|
||||
}
|
||||
|
||||
private void mockFailedChecksums( String path, File expectedFile )
|
||||
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
|
||||
{
|
||||
// must do it twice as it will re-attempt it
|
||||
wagonMock.get( path + ".sha1", new File( expectedFile.getParentFile(), expectedFile.getName() + ".sha1.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".md5", new File( expectedFile.getParentFile(), expectedFile.getName() + ".md5.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".sha1", new File( expectedFile.getParentFile(), expectedFile.getName() + ".sha1.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
|
||||
wagonMock.get( path + ".md5", new File( expectedFile.getParentFile(), expectedFile.getName() + ".md5.tmp" ) );
|
||||
wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
|
||||
}
|
||||
|
||||
private File getChecksumFile( File file, String algorithm )
|
||||
{
|
||||
return new File( file.getParentFile(), file.getName() + "." + algorithm );
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
066d76e459f7782c312c31e8a11b3c0f1e3e43a7 *get-checksum-from-managed-repo-1.0.jar
|
|
@ -0,0 +1,2 @@
|
|||
066d76e459f7782c312c31e8a11b3c0f1e3e43a7 *get-checksum-from-managed-repo-1.0.jar
|
||||
(proxied 1)
|
Loading…
Reference in New Issue