Author: jdcasey
Date: Mon Feb 18 11:46:52 2008
New Revision: 628853

URL: http://svn.apache.org/viewvc?rev=628853&view=rev
Log:
[MASSEMBLY-188] Adding a unit test to verify that manifest entries are handled 
from the plugin configuration.

Modified:
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java?rev=628853&r1=628852&r2=628853&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
 Mon Feb 18 11:46:52 2008
@@ -47,7 +47,8 @@
 
     private TestFileManager fileManager = new TestFileManager( 
"manifest-finalizer.test.", ".jar" );
 
-    public void tearDown() throws IOException
+    public void tearDown()
+        throws IOException
     {
         fileManager.cleanUp();
     }
@@ -89,7 +90,9 @@
 
         JarArchiver archiver = new JarArchiver();
 
-        archiver.setArchiveFinalizers( Collections.singletonList( new 
ManifestCreationFinalizer( project, config ) ) );
+        archiver.setArchiveFinalizers( Collections.singletonList( new 
ManifestCreationFinalizer(
+                                                                               
                  project,
+                                                                               
                  config ) ) );
 
         File file = fileManager.createTempFile();
 
@@ -108,7 +111,46 @@
         assertTrue( writer.toString().indexOf( "Main-Class: Stuff" ) > -1 );
 
         // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4823678
-        ((JarURLConnection)resource.openConnection()).getJarFile().close();
+        ( (JarURLConnection) resource.openConnection() ).getJarFile().close();
+    }
+
+    public void testShouldAddManifestEntriesWhenArchiverIsJarArchiver()
+        throws ArchiverException, IOException
+    {
+        MavenProject project = new MavenProject( new Model() );
+        MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+
+        String testKey = "Test-Key";
+        String testValue = "test-value";
+
+        config.addManifestEntry( testKey, testValue );
+
+        JarArchiver archiver = new JarArchiver();
+
+        archiver.setArchiveFinalizers( Collections.singletonList( new 
ManifestCreationFinalizer(
+                                                                               
                  project,
+                                                                               
                  config ) ) );
+
+        File file = fileManager.createTempFile();
+
+        archiver.setDestFile( file );
+
+        archiver.createArchive();
+
+        URL resource = new URL( "jar:file:" + file.getAbsolutePath() + 
"!/META-INF/MANIFEST.MF" );
+
+        BufferedReader reader = new BufferedReader( new InputStreamReader( 
resource.openStream() ) );
+
+        StringWriter writer = new StringWriter();
+
+        IOUtil.copy( reader, writer );
+
+        System.out.println( "Test Manifest:\n\n" + writer );
+
+        assertTrue( writer.toString().indexOf( testKey + ": " + testValue ) > 
-1 );
+
+        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4823678
+        ( (JarURLConnection) resource.openConnection() ).getJarFile().close();
     }
 
     private final class MockAndControlForArchiver
@@ -122,7 +164,7 @@
             control = MockControl.createControl( Archiver.class );
             mm.add( control );
 
-            archiver = ( Archiver ) control.getMock();
+            archiver = (Archiver) control.getMock();
         }
     }
 


Reply via email to