Author: jtolentino
Date: Mon Nov  6 05:22:25 2006
New Revision: 471721

URL: http://svn.apache.org/viewvc?view=rev&rev=471721
Log:
[MWAR-58] Test cases for duplicate artifacts but with classifier.

Added:
    
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/EJBArtifactStubWithClassifier.java
Modified:
    
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java

Modified: 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java?view=diff&rev=471721&r1=471720&r2=471721
==============================================================================
--- 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java
 (original)
+++ 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java
 Mon Nov  6 05:22:25 2006
@@ -28,6 +28,7 @@
 import org.apache.maven.plugin.war.stub.ResourceStub;
 import org.apache.maven.plugin.war.stub.SimpleWarArtifactStub;
 import org.apache.maven.plugin.war.stub.TLDArtifactStub;
+import org.apache.maven.plugin.war.stub.EJBArtifactStubWithClassifier;
 import org.codehaus.plexus.util.FileUtils;
 
 import java.io.BufferedReader;
@@ -607,6 +608,59 @@
         assertTrue( "ejb dup artifact not found: " + 
expectedEJBDupArtifact.toString(),
                     expectedEJBDupArtifact.exists() );
         
+        // house keeping
+        expectedWebSourceFile.delete();
+        expectedWebSource2File.delete();
+        expectedEJBArtifact.delete();
+        expectedEJBDupArtifact.delete();
+    }
+
+    /**
+     * @throws Exception
+     */
+    public void testExplodedWar_DuplicateWithClassifier()
+        throws Exception
+    {
+        // setup test data
+        String testId = "ExplodedWar_DuplicateWithClassifier";
+        MavenProjectArtifactsStub project = new MavenProjectArtifactsStub();
+        File webAppDirectory = new File( getTestDirectory(), testId );
+        File webAppSource = createWebAppSource( testId );
+        File classesDir = createClassesDir( testId, true );
+        EJBArtifactStub ejbArtifact = new EJBArtifactStub( getBasedir() );
+        EJBArtifactStubWithClassifier ejbArtifactDup = new 
EJBArtifactStubWithClassifier( getBasedir() );
+
+        File ejbFile = ejbArtifact.getFile();
+
+        // ejbArtifact has a hard coded file, only one assert is needed
+        assertTrue( "ejb not found: " + ejbFile.getAbsolutePath(), 
ejbFile.exists() );
+
+        // configure mojo
+
+        ejbArtifact.setGroupId( "org.sample.ejb" );
+        ejbArtifactDup.setGroupId( "org.sample.ejb" );
+
+        ejbArtifactDup.setClassifier( "classifier" );
+
+        project.addArtifact( ejbArtifact );
+        project.addArtifact( ejbArtifactDup );
+
+        this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, 
webAppDirectory, project );
+        mojo.execute();
+
+        // validate operation
+        File expectedWebSourceFile = new File( webAppDirectory, "pansit.jsp" );
+        File expectedWebSource2File = new File( webAppDirectory, 
"org/web/app/last-exile.jsp" );
+        // final name form is <artifactId>-<version>.<type>
+        File expectedEJBArtifact = new File( webAppDirectory, 
"WEB-INF/lib/ejbartifact-0.0-Test.jar" );
+        File expectedEJBDupArtifact = new File( webAppDirectory, 
"WEB-INF/lib/ejbartifact-0.0-Test-classifier.jar" );
+
+        assertTrue( "source files not found: " + 
expectedWebSourceFile.toString(), expectedWebSourceFile.exists() );
+        assertTrue( "source files not found: " + 
expectedWebSource2File.toString(), expectedWebSource2File.exists() );
+        assertTrue( "ejb artifact not found: " + 
expectedEJBArtifact.toString(), expectedEJBArtifact.exists() );
+        assertTrue( "ejb dup artifact not found: " + 
expectedEJBDupArtifact.toString(),
+                    expectedEJBDupArtifact.exists() );
+
         // house keeping
         expectedWebSourceFile.delete();
         expectedWebSource2File.delete();

Added: 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/EJBArtifactStubWithClassifier.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/EJBArtifactStubWithClassifier.java?view=auto&rev=471721
==============================================================================
--- 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/EJBArtifactStubWithClassifier.java
 (added)
+++ 
maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/EJBArtifactStubWithClassifier.java
 Mon Nov  6 05:22:25 2006
@@ -0,0 +1,71 @@
+package org.apache.maven.plugin.war.stub;
+
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.handler.DefaultArtifactHandler;
+
+import java.io.File;
+
+public class EJBArtifactStubWithClassifier
+    extends AbstractArtifactStub
+{
+    protected String groupId;
+    protected String classifier;
+
+    public EJBArtifactStubWithClassifier( String _basedir )
+    {
+        super( _basedir );
+    }
+
+    public void setGroupId( String id )
+    {
+        groupId = id;
+    }
+
+    public String getGroupId()
+    {
+        if ( groupId != null )
+        {
+            return groupId;
+        }
+        else
+        {
+            return "org.sample.ejb";
+        }
+    }
+
+    public String getType()
+    {
+        return "ejb";
+    }
+
+    public String getArtifactId()
+    {
+        return "ejbartifact";
+    }
+
+    public void setClassifier( String classifier )
+    {
+        this.classifier = classifier;
+    }
+
+    public String getClassifier()
+    {
+        return classifier;
+    }
+
+    public File getFile()
+    {
+        return new File( basedir, 
"/target/test-classes/unit/sample_wars/ejb.jar" );
+    }
+
+    public ArtifactHandler getArtifactHandler()
+    {
+        return new DefaultArtifactHandler()
+        {
+            public String getExtension()
+            {
+                return "jar";
+            }
+        };
+    }
+}


Reply via email to