Author: brianf
Date: Wed Sep 27 19:01:42 2006
New Revision: 450663

URL: http://svn.apache.org/viewvc?view=rev&rev=450663
Log:
More mojo integration tests

Modified:
    
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
    
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java?view=diff&rev=450663&r1=450662&r2=450663
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/CopyDependenciesMojo.java
 Wed Sep 27 19:01:42 2006
@@ -43,7 +43,7 @@
      * @parameter expression="${stripVersion}" default-value="false" 
      * @parameter
      */
-    private boolean stripVersion = false;
+    protected boolean stripVersion = false;
 
     /**
      * Main entry into mojo. Gets the list of dependencies and iterates 
through calling copyArtifact.

Modified: 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java?view=diff&rev=450663&r1=450662&r2=450663
==============================================================================
--- 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestCopyDependenciesMojo.java
 Wed Sep 27 19:01:42 2006
@@ -1,10 +1,12 @@
 package org.apache.maven.plugin.dependency;

 

 import java.io.File;

+import java.util.HashSet;

 import java.util.Iterator;

 import java.util.Set;

 

 import org.apache.maven.artifact.Artifact;

+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;

 import org.apache.maven.plugin.dependency.utils.ArtifactStubFactory;

 import org.apache.maven.plugin.dependency.utils.DependencyUtil;

 import org.apache.maven.project.MavenProject;

@@ -12,6 +14,7 @@
 public class TestCopyDependenciesMojo

     extends AbstractDependencyMojoTestCase

 {

+

     protected void setUp()

         throws Exception

     {

@@ -19,17 +22,12 @@
         super.setUp( "copy-dependencies", true );

     }

 

-    /**

-     * tests the proper discovery and configuration of the mojo

-     * 

-     * @throws Exception

-     */

-    public void testcompileTestEnvironment()

+    private CopyDependenciesMojo getNewMojo()

         throws Exception

     {

         File testPom = new File( getBasedir(), 
"target/test-classes/unit/copy-dependencies-test/plugin-config.xml" );

         CopyDependenciesMojo mojo = (CopyDependenciesMojo) lookupMojo( 
"copy-dependencies", testPom );

-

+        mojo.outputDirectory = new File( this.testDir, "outputDirectory" );

         assertNotNull( mojo );

         assertNotNull( mojo.project );

         MavenProject project = mojo.project;

@@ -41,18 +39,288 @@
         project.setArtifacts( artifacts );

         project.setDependencyArtifacts( directArtifacts );

 

-        mojo.outputDirectory = new File( this.testDir, "outputDirectory" );

+        return mojo;

+

+    }

+

+    /**

+     * tests the proper discovery and configuration of the mojo

+     * 

+     * @throws Exception

+     */

+    public void testCopyDependenciesMojo()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.execute();

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+            assertTrue( file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoStripVersion()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.stripVersion = true;

+        mojo.execute();

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
true );

+            File file = new File( mojo.outputDirectory, fileName );

+            assertTrue( file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoNoTransitive()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.excludeTransitive = true;

+        mojo.execute();

+        Iterator iter = mojo.project.getDependencyArtifacts().iterator();

+

+        // test - get all direct dependencies and verify that they exist

+        // then delete the file and at the end, verify the folder is empty.

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+            assertTrue( file.exists() );

+            file.delete();

+            assertFalse( file.exists() );

+        }

+        // assumes you can't delete a folder that has files.

+        assertTrue( mojo.outputDirectory.delete() );

+    }

+

+    public void testCopyDependenciesMojoExcludeType()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getTypedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.excludeTypes = "jar";

+        mojo.execute();

+

+        // test - get all direct dependencies and verify that they exist if 
they

+        // are not a jar

+        // then delete the file and at the end, verify the folder is empty.

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+            assertEquals( artifact.getType().equalsIgnoreCase( "jar" ), 
!file.exists() );

+            file.delete();

+            assertFalse( file.exists() );

+        }

+        // assumes you can't delete a folder that has files.

+        assertTrue( mojo.outputDirectory.delete() );

+    }

+

+    public void testCopyDependenciesMojoIncludeType()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getTypedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+

+        mojo.includeTypes = "jar";

+        // if include is used, exclude should be ignored.

+        mojo.excludeTypes = "jar";

+

         mojo.execute();

 

-        Iterator iter = artifacts.iterator();

+        // test - get all direct dependencies and verify that they exist only 
if

+        // they are a jar

+        // then delete the file and at the end, verify the folder is empty.

+        Iterator iter = mojo.project.getArtifacts().iterator();

         while ( iter.hasNext() )

         {

             Artifact artifact = (Artifact) iter.next();

-            // TODO: verify there is a test for this method.

-            // TODO: create test for striping versions too

             String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

             File file = new File( mojo.outputDirectory, fileName );

+            assertEquals( artifact.getType().equalsIgnoreCase( "jar" ), 
file.exists() );

+            file.delete();

+            assertFalse( file.exists() );

+        }

+        // assumes you can't delete a folder that has files.

+        assertTrue( mojo.outputDirectory.delete() );

+    }

+

+    public void testCopyDependenciesMojoSubPerType()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getTypedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.useSubDirectoryPerType = true;

+        mojo.execute();

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
false, mojo.outputDirectory, artifact );

+            File file = new File( folder, fileName );

             assertTrue( file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoSubPerArtifact()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.useSubDirectoryPerArtifact = true;

+        mojo.execute();

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File folder = DependencyUtil.getFormattedOutputDirectory( false, 
true, mojo.outputDirectory, artifact );

+            File file = new File( folder, fileName );

+            assertTrue( file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoSubPerArtifactAndType()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getTypedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.useSubDirectoryPerArtifact = true;

+        mojo.useSubDirectoryPerType = true;

+        mojo.execute();

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File folder = DependencyUtil.getFormattedOutputDirectory( true, 
true, mojo.outputDirectory, artifact );

+            File file = new File( folder, fileName );

+            assertTrue( file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoIncludeCompileScope()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getScopedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.includeScope = "compile";

+        mojo.execute();

+        ScopeArtifactFilter saf = new ScopeArtifactFilter( mojo.includeScope );

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+

+            assertEquals( saf.include( artifact ), file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoIncludeTestScope()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getScopedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.includeScope = "test";

+        mojo.execute();

+        ScopeArtifactFilter saf = new ScopeArtifactFilter( mojo.includeScope );

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+

+            assertEquals( saf.include( artifact ), file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoIncludeRuntimeScope()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getScopedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.includeScope = "runtime";

+        mojo.execute();

+        ScopeArtifactFilter saf = new ScopeArtifactFilter( mojo.includeScope );

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+

+            assertEquals( saf.include( artifact ), file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoIncludeprovidedScope()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getScopedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.includeScope = "provided";

+        mojo.execute();

+        ScopeArtifactFilter saf = new ScopeArtifactFilter( mojo.includeScope );

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+

+            assertEquals( saf.include( artifact ), file.exists() );

+        }

+    }

+

+    public void testCopyDependenciesMojoIncludesystemScope()

+        throws Exception

+    {

+        CopyDependenciesMojo mojo = getNewMojo();

+        mojo.project.setArtifacts( stubFactory.getScopedArtifacts() );

+        mojo.project.setDependencyArtifacts( new HashSet() );

+        mojo.includeScope = "system";

+        mojo.execute();

+        ScopeArtifactFilter saf = new ScopeArtifactFilter( mojo.includeScope );

+

+        Iterator iter = mojo.project.getArtifacts().iterator();

+        while ( iter.hasNext() )

+        {

+            Artifact artifact = (Artifact) iter.next();

+            String fileName = DependencyUtil.getFormattedFileName( artifact, 
false );

+            File file = new File( mojo.outputDirectory, fileName );

+

+            assertEquals( saf.include( artifact ), file.exists() );

         }

     }

 }


Reply via email to