Author: hboutemy Date: Sat Jan 4 16:58:37 2014 New Revision: 1555370 URL: http://svn.apache.org/r1555370 Log: really check that jar contains Digest information
Modified: maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/JarSignerUtilTest.java Modified: maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/JarSignerUtilTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/JarSignerUtilTest.java?rev=1555370&r1=1555369&r2=1555370&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/JarSignerUtilTest.java (original) +++ maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/JarSignerUtilTest.java Sat Jan 4 16:58:37 2014 @@ -21,6 +21,8 @@ package org.apache.maven.shared.jarsigne import java.io.File; import java.io.IOException; +import java.util.Map; +import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; @@ -46,10 +48,11 @@ public class JarSignerUtilTest // check that manifest contains some digest attributes Manifest originalManifest = readManifest( target ); + assertTrue( containsDigest( originalManifest ) ); Manifest originalCleanManifest = JarSignerUtil.buildUnsignedManifest( originalManifest ); + assertFalse( containsDigest( originalCleanManifest ) ); - assertFalse( originalManifest.equals( originalCleanManifest ) ); assertTrue( originalCleanManifest.equals( JarSignerUtil.buildUnsignedManifest( originalCleanManifest ) ) ); JarSignerUtil.unsignArchive( target ); @@ -61,6 +64,7 @@ public class JarSignerUtilTest Manifest manifest = readManifest( target ); Manifest cleanManifest = JarSignerUtil.buildUnsignedManifest( manifest ); + assertFalse( containsDigest( cleanManifest ) ); assertTrue( manifest.equals( cleanManifest ) ); assertTrue( manifest.equals( originalCleanManifest ) ); @@ -78,4 +82,22 @@ public class JarSignerUtilTest return manifest; } + + private boolean containsDigest( Manifest manifest ) + { + for ( Map.Entry<String, Attributes> entry : manifest.getEntries().entrySet() ) + { + Attributes attr = entry.getValue(); + + for ( Map.Entry<Object, Object> objectEntry : attr.entrySet() ) + { + String attributeKey = String.valueOf( objectEntry.getKey() ); + if ( attributeKey.endsWith( "-Digest" ) ) + { + return true; + } + } + } + return false; + } }