Author: oching
Date: Thu Feb 25 09:32:12 2010
New Revision: 916197

URL: http://svn.apache.org/viewvc?rev=916197&view=rev
Log:
[MRM-1312] mda5 and sha are not generated for snapshot jars
submitted by Maria Catherine Tan

o use the actual file, which has a timestamp + build number version, when 
creating a repository task for a snapshot artifact

Modified:
    
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
    
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java

Modified: 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java?rev=916197&r1=916196&r2=916197&view=diff
==============================================================================
--- 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
 (original)
+++ 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
 Thu Feb 25 09:32:12 2010
@@ -360,7 +360,7 @@
                 else
                 {
                     copyFile( artifactFile, targetPath, filename, fixChecksums 
);
-                    queueRepositoryTask( repository.getId(), 
repository.toFile( artifactReference ) );                    
+                    queueRepositoryTask( repository.getId(), targetFile );     
               
                 }
             }
             catch ( IOException ie )

Modified: 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java?rev=916197&r1=916196&r2=916197&view=diff
==============================================================================
--- 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
 (original)
+++ 
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
 Thu Feb 25 09:32:12 2010
@@ -411,13 +411,88 @@
         auditLogsDaoControl.verify();
 
         String repoLocation = config.findManagedRepositoryById( REPOSITORY_ID 
).getLocation();
-        assertEquals( 6, new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" ).list().length );
+        String[] artifactsList = new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" ).list();
+
+        assertEquals( 6, artifactsList.length );
 
         assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA 
).exists() );
         assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA +
             ".sha1" ).exists() );
         assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA +
             ".md5" ).exists() );
+
+        int startIndex = "artifact-upload-1.0-".length();
+        int endIndex = -1; 
+
+        if ( artifactsList[0].contains( "jar" ) )
+        {
+            endIndex = artifactsList[0].indexOf( ".jar" );
+        }
+        else
+        {
+            endIndex = artifactsList[0].indexOf( ".pom" );
+        }
+
+        String timestamp = artifactsList[0].substring( startIndex, endIndex );
+
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar" ).exists()  );
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar.md5" ).exists()  );
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar.sha1" ).exists()  );
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom" ).exists()  );
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom.md5" ).exists()  );
+        assertTrue( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom.sha1" ).exists()  );
+
+        // verify checksums of jar file
+        ChecksummedFile checksum =
+            new ChecksummedFile( new File( repoLocation,
+                                           
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar" ) );
+        String sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+        String md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+        String contents =
+            FileUtils.readFileToString( new File( repoLocation,
+                                                  
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar.sha1" ) );
+        assertTrue( StringUtils.contains( contents, sha1 ) );
+
+        contents =
+            FileUtils.readFileToString( new File( repoLocation,
+                                                  
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".jar.md5" ) );
+        assertTrue( StringUtils.contains( contents, md5 ) );
+
+        // verify checksums of pom file
+        checksum =
+            new ChecksummedFile( new File( repoLocation,
+                                           
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom" ) );
+        sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+        md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+        contents =
+            FileUtils.readFileToString( new File( repoLocation,
+                                                  
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom.sha1" ) );
+        assertTrue( StringUtils.contains( contents, sha1 ) );
+
+        contents =
+            FileUtils.readFileToString( new File( repoLocation,
+                                                  
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" + 
timestamp + ".pom.md5" ) );
+        assertTrue( StringUtils.contains( contents, md5 ) );
+
+        
+        // verify checksums of metadata file
+        checksum =
+            new ChecksummedFile( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" +
+                MetadataTools.MAVEN_METADATA ) );
+        sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+        md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+        contents =
+            FileUtils.readFileToString( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" +
+                MetadataTools.MAVEN_METADATA + ".sha1" ) );
+        assertTrue( StringUtils.contains( contents, sha1 ) );
+
+        contents =
+            FileUtils.readFileToString( new File( repoLocation, 
"/org/apache/archiva/artifact-upload/" +
+                MetadataTools.MAVEN_METADATA + ".md5" ) );
+        assertTrue( StringUtils.contains( contents, md5 ) );
     }
 
     public void testChecksumIsCorrectWhenArtifactIsReUploaded()


Reply via email to