You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2008/05/29 11:48:50 UTC

svn commit: r661273 - in /archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src: main/java/org/apache/archiva/checksum/ test/java/org/apache/archiva/checksum/ test/resources/examples/metadata/

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