Author: oching
Date: Thu May 29 02:48:50 2008
New Revision: 661273
URL: http://svn.apache.org/viewvc?rev=661273&view=rev
Log:
[MRM-790]
-added check specifically for remote metadata checksum files
-added test case
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.md5
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.sha1
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java?rev=661273&r1=661272&r2=661273&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
Thu May 29 02:48:50 2008
@@ -292,6 +292,15 @@
private boolean isValidChecksumPattern( String filename, String path )
{
+ // check if it is a remote metadata file
+ Pattern pattern = Pattern.compile( "maven-metadata-\\S*.xml" );
+ Matcher m = pattern.matcher( path );
+ if( m.matches() )
+ {
+ return filename.endsWith( path ) || ( "-".equals( filename ) )
+ || filename.endsWith( "maven-metadata.xml" );
+ }
+
return filename.endsWith( path ) || ( "-".equals( filename ) );
}
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java?rev=661273&r1=661272&r2=661273&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
Thu May 29 02:48:50 2008
@@ -36,9 +36,13 @@
{
/** SHA1 checksum from www.ibiblio.org/maven2, incuding file path */
private static final String SERVLETAPI_SHA1 =
"bcc82975c0f9c681fcb01cc38504c992553e93ba";
+
+ private static final String REMOTE_METADATA_SHA1 =
"da39a3ee5e6b4b0d3255bfef95601890afd80709";
+
+ private static final String REMOTE_METADATA_MD5 =
"d41d8cd98f00b204e9800998ecf8427e";
private File createTestableJar( String filename )
- throws IOException
+ throws IOException
{
File srcFile = getTestResource( filename );
File destFile = new File( getTestOutputDir(), srcFile.getName() );
@@ -223,4 +227,43 @@
assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s );
}
+ public void testRemoteMetadataChecksumFilePathSha1()
+ throws IOException
+ {
+ String expected = REMOTE_METADATA_SHA1 + "
/home/test/repository/examples/metadata/maven-metadata.xml";
+ File testfile = getTestResource(
"examples/metadata/maven-metadata-remote.xml" );
+ ChecksummedFile checksummedFile = new ChecksummedFile( testfile );
+
+ try
+ {
+ String s = checksummedFile.parseChecksum( expected,
ChecksumAlgorithm.SHA1,
+ "maven-metadata-remote.xml" );
+ assertEquals( "Checksum doesn't match", REMOTE_METADATA_SHA1, s );
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace();
+ fail( "IOException should not occur." );
+ }
+ }
+
+ public void testRemoteMetadataChecksumFilePathMd5()
+ throws IOException
+ {
+ String expected = REMOTE_METADATA_MD5 + "
./examples/metadata/maven-metadata.xml";
+ File testfile = getTestResource(
"examples/metadata/maven-metadata-remote.xml" );
+ ChecksummedFile checksummedFile = new ChecksummedFile( testfile );
+
+ try
+ {
+ String s = checksummedFile.parseChecksum( expected,
ChecksumAlgorithm.MD5,
+ "maven-metadata-remote.xml" );
+ assertEquals( "Checksum doesn't match", REMOTE_METADATA_MD5, s );
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace();
+ fail( "IOException should not occur." );
+ }
+ }
}
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml?rev=661273&view=auto
==============================================================================
(empty)
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.md5
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.md5?rev=661273&view=auto
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.md5
(added)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.md5
Thu May 29 02:48:50 2008
@@ -0,0 +1 @@
+d41d8cd98f00b204e9800998ecf8427e ./examples/metadata/maven-metadata.xml
\ No newline at end of file
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.sha1
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.sha1?rev=661273&view=auto
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.sha1
(added)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/resources/examples/metadata/maven-metadata-remote.xml.sha1
Thu May 29 02:48:50 2008
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
/home/test/repository/examples/metadata/maven-metadata.xml
\ No newline at end of file