You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2014/01/19 18:53:18 UTC

svn commit: r1559539 - in /maven/enforcer/trunk/enforcer-rules/src: main/java/org/apache/maven/plugins/enforcer/utils/ test/java/org/apache/maven/plugins/enforcer/

Author: khmarbaise
Date: Sun Jan 19 17:53:18 2014
New Revision: 1559539

URL: http://svn.apache.org/r1559539
Log:
[MENFORCER-167]
 - Refactored test code.
 - ArtifactMatcher Replaced hard coded value with existing constant.

Added:
    maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
Modified:
    maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java
    maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java

Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java?rev=1559539&r1=1559538&r2=1559539&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java Sun Jan 19 17:53:18 2014
@@ -87,7 +87,7 @@ public final class ArtifactMatcher
                     String scope = artifact.getScope();
                     if ( scope == null || scope.equals( "" ) )
                     {
-                        scope = "compile";
+                        scope = Artifact.SCOPE_COMPILE;
                     }
 
                     if ( !matches( parts[4], scope ) )

Added: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java?rev=1559539&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java Sun Jan 19 17:53:18 2014
@@ -0,0 +1,90 @@
+package org.apache.maven.plugins.enforcer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.plugin.testing.ArtifactStubFactory;
+import org.apache.maven.project.MavenProject;
+
+public class BannedDependenciesTestSetup
+{
+    public BannedDependenciesTestSetup()
+        throws IOException
+    {
+        this.excludes = new ArrayList<String>();
+        this.includes = new ArrayList<String>();
+
+        ArtifactStubFactory factory = new ArtifactStubFactory();
+
+        MockProject project = new MockProject();
+        project.setArtifacts( factory.getMixedArtifacts() );
+        project.setDependencyArtifacts( factory.getScopedArtifacts() );
+
+        this.helper = EnforcerTestUtils.getHelper( project );
+
+        this.rule = newBannedDependenciesRule();
+        this.rule.setMessage( null );
+
+        this.rule.setExcludes( this.excludes );
+        this.rule.setIncludes( this.includes );
+    }
+
+    private List<String> excludes;
+    private List<String> includes;
+
+    private BannedDependencies rule;
+
+    private EnforcerRuleHelper helper;
+
+    public void setSearchTransitive( boolean searchTransitive )
+    {
+        rule.setSearchTransitive( searchTransitive );
+    }
+
+    public void addExcludeAndRunRule( String toAdd )
+        throws EnforcerRuleException
+    {
+        excludes.add( toAdd );
+        rule.execute( helper );
+    }
+
+    public void addIncludeExcludeAndRunRule (String incAdd, String excAdd) throws EnforcerRuleException {
+        excludes.add( excAdd );
+        includes.add( incAdd );
+        rule.execute( helper );
+    }
+    
+    public List<String> getExcludes()
+    {
+        return excludes;
+    }
+
+    public void setExcludes( List<String> excludes )
+    {
+        this.excludes = excludes;
+    }
+
+    private BannedDependencies newBannedDependenciesRule()
+    {
+        BannedDependencies rule = new BannedDependencies()
+        {
+            @SuppressWarnings( "unchecked" )
+            @Override
+            protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+            {
+                // the integration with dependencyGraphTree is verified with the integration tests
+                // for unit-testing
+                return isSearchTransitive() ? project.getArtifacts() : project.getDependencyArtifacts();
+            }
+        };
+        return rule;
+    }
+
+
+}
+

Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java?rev=1559539&r1=1559538&r2=1559539&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java Sun Jan 19 17:53:18 2014
@@ -19,22 +19,14 @@ package org.apache.maven.plugins.enforce
  * under the License.
  */
 
-import org.apache.maven.artifact.Artifact;
+import java.io.IOException;
+
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.apache.maven.plugin.testing.ArtifactStubFactory;
-import org.apache.maven.project.MavenProject;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.runners.Enclosed;
 import org.junit.runner.RunWith;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import static org.junit.Assert.fail;
 
-// TODO: Auto-generated Javadoc
 /**
  * The Class TestBannedDependencies.
  * 
@@ -43,40 +35,23 @@ import static org.junit.Assert.fail;
 @RunWith( Enclosed.class )
 public class TestBannedDependencies
 {
+
     public static class ExcludesDoNotUseTransitiveDependencies
     {
-
-        private List<String> excludes;
-
-        private BannedDependencies rule;
-
-        private EnforcerRuleHelper helper;
+        private BannedDependenciesTestSetup setup;
 
         @Before
         public void beforeMethod()
             throws IOException
         {
-            ArtifactStubFactory factory = new ArtifactStubFactory();
-
-            MockProject project = new MockProject();
-            project.setArtifacts( factory.getMixedArtifacts() );
-            project.setDependencyArtifacts( factory.getScopedArtifacts() );
-
-            helper = EnforcerTestUtils.getHelper( project );
-            rule = newBannedDependenciesRule();
-
-            excludes = new ArrayList<String>();
-            rule.setExcludes( excludes );
-            rule.setMessage( null );
-
-            rule.setSearchTransitive( false );
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( false );
         }
 
         private void addExcludeAndRunRule( String toAdd )
             throws EnforcerRuleException
         {
-            excludes.add( toAdd );
-            rule.execute( helper );
+            this.setup.addExcludeAndRunRule( toAdd );
         }
 
         @Test
@@ -105,36 +80,20 @@ public class TestBannedDependencies
     public static class ExcludesUsingTransitiveDependencies
     {
 
-        private List<String> excludes;
-
-        private BannedDependencies rule;
-
-        private EnforcerRuleHelper helper;
+        private BannedDependenciesTestSetup setup;
 
         @Before
         public void beforeMethod()
             throws IOException
         {
-            ArtifactStubFactory factory = new ArtifactStubFactory();
-
-            MockProject project = new MockProject();
-            project.setArtifacts( factory.getMixedArtifacts() );
-            project.setDependencyArtifacts( factory.getScopedArtifacts() );
-
-            helper = EnforcerTestUtils.getHelper( project );
-            rule = newBannedDependenciesRule();
-
-            excludes = new ArrayList<String>();
-            rule.setExcludes( excludes );
-            rule.setMessage( null );
-            rule.setSearchTransitive( true );
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( true );
         }
 
         private void addExcludeAndRunRule( String toAdd )
             throws EnforcerRuleException
         {
-            excludes.add( toAdd );
-            rule.execute( helper );
+            this.setup.addExcludeAndRunRule( toAdd );
         }
 
         @Test( expected = EnforcerRuleException.class )
@@ -189,37 +148,20 @@ public class TestBannedDependencies
     public static class WildcardExcludesUsingTransitiveDependencies
     {
 
-        private List<String> excludes;
-
-        private BannedDependencies rule;
-
-        private EnforcerRuleHelper helper;
+        private BannedDependenciesTestSetup setup;
 
         @Before
         public void beforeMethod()
             throws IOException
         {
-            ArtifactStubFactory factory = new ArtifactStubFactory();
-
-            MockProject project = new MockProject();
-            project.setArtifacts( factory.getMixedArtifacts() );
-            project.setDependencyArtifacts( factory.getScopedArtifacts() );
-
-            helper = EnforcerTestUtils.getHelper( project );
-            rule = newBannedDependenciesRule();
-
-            rule.setMessage( null );
-
-            excludes = new ArrayList<String>();
-            rule.setExcludes( excludes );
-            rule.setSearchTransitive( true );
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( true );
         }
 
         private void addExcludeAndRunRule( String toAdd )
             throws EnforcerRuleException
         {
-            excludes.add( toAdd );
-            rule.execute( helper );
+            this.setup.addExcludeAndRunRule( toAdd );
         }
 
         @Test
@@ -255,37 +197,20 @@ public class TestBannedDependencies
     public static class PartialWildcardExcludesUsingTransitiveDependencies
     {
 
-        private List<String> excludes;
-
-        private BannedDependencies rule;
-
-        private EnforcerRuleHelper helper;
+        private BannedDependenciesTestSetup setup;
 
         @Before
         public void beforeMethod()
             throws IOException
         {
-            ArtifactStubFactory factory = new ArtifactStubFactory();
-
-            MockProject project = new MockProject();
-            project.setArtifacts( factory.getMixedArtifacts() );
-            project.setDependencyArtifacts( factory.getScopedArtifacts() );
-
-            helper = EnforcerTestUtils.getHelper( project );
-            rule = newBannedDependenciesRule();
-
-            rule.setMessage( null );
-
-            excludes = new ArrayList<String>();
-            rule.setExcludes( excludes );
-            rule.setSearchTransitive( true );
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( true );
         }
 
         private void addExcludeAndRunRule( String toAdd )
             throws EnforcerRuleException
         {
-            excludes.add( toAdd );
-            rule.execute( helper );
+            this.setup.addExcludeAndRunRule( toAdd );
         }
 
         @Test( expected = EnforcerRuleException.class )
@@ -312,37 +237,20 @@ public class TestBannedDependencies
 
     public static class IllegalFormatsTests
     {
-        private List<String> excludes;
-
-        private BannedDependencies rule;
-
-        private EnforcerRuleHelper helper;
+        private BannedDependenciesTestSetup setup;
 
         @Before
         public void beforeMethod()
             throws IOException
         {
-            ArtifactStubFactory factory = new ArtifactStubFactory();
-
-            MockProject project = new MockProject();
-            project.setArtifacts( factory.getMixedArtifacts() );
-            project.setDependencyArtifacts( factory.getScopedArtifacts() );
-
-            helper = EnforcerTestUtils.getHelper( project );
-            rule = newBannedDependenciesRule();
-
-            rule.setMessage( null );
-
-            excludes = new ArrayList<String>();
-            rule.setExcludes( excludes );
-            rule.setSearchTransitive( true );
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( true );
         }
 
         private void addExcludeAndRunRule( String toAdd )
             throws EnforcerRuleException
         {
-            excludes.add( toAdd );
-            rule.execute( helper );
+            this.setup.addExcludeAndRunRule( toAdd );
         }
 
         @Test( expected = IllegalArgumentException.class )
@@ -361,88 +269,44 @@ public class TestBannedDependencies
 
     }
 
-    /**
-     * Test includes.
-     * 
-     * @throws IOException Signals that an I/O exception has occurred.
-     */
-    @Test
-    public void testIncludes()
-        throws IOException
+    public static class IncludesExcludesNoTransitive
     {
-        ArtifactStubFactory factory = new ArtifactStubFactory();
-        MockProject project = new MockProject();
-        EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( project );
-        project.setArtifacts( factory.getMixedArtifacts() );
-        project.setDependencyArtifacts( factory.getScopedArtifacts() );
-        BannedDependencies rule = newBannedDependenciesRule();
-
-        List<String> excludes = new ArrayList<String>();
-        List<String> includes = new ArrayList<String>();
-
-        rule.setSearchTransitive( false );
-
-        excludes.add( "*" );
-        includes.add( "*" );
-
-        rule.setExcludes( excludes );
-        rule.setIncludes( includes );
-
-        execute( rule, helper, false );
-
-        excludes.clear();
-        excludes.add( "*:runtime" );
-        rule.setExcludes( excludes );
+        private BannedDependenciesTestSetup setup;
 
-        execute( rule, helper, false );
+        @Before
+        public void beforeMethod()
+            throws IOException
+        {
+            this.setup = new BannedDependenciesTestSetup();
+            this.setup.setSearchTransitive( false );
+        }
 
-        includes.clear();
-        includes.add( "*:test" );
-        rule.setIncludes( includes );
-        execute( rule, helper, true );
+        private void addIncludeExcludeAndRunRule( String incAdd, String excAdd )
+            throws EnforcerRuleException
+        {
+            this.setup.addIncludeExcludeAndRunRule( incAdd, excAdd );
+        }
 
-    }
+        @Test
+        public void includeEverythingAndExcludeEverythign()
+            throws EnforcerRuleException
+        {
+            addIncludeExcludeAndRunRule( "*", "*" );
+        }
 
-    private static BannedDependencies newBannedDependenciesRule()
-    {
-        BannedDependencies rule = new BannedDependencies()
+        @Test
+        public void includeEverythingAndExcludeEveryGroupIdAndScopeRuntime()
+            throws EnforcerRuleException
         {
-            @Override
-            protected Set<Artifact> getDependenciesToCheck( MavenProject project )
-            {
-                // the integration with dependencyGraphTree is verified with the integration tests
-                // for unit-testing
-                return isSearchTransitive() ? project.getArtifacts() : project.getDependencyArtifacts();
-            }
-        };
-        return rule;
-    }
+            addIncludeExcludeAndRunRule( "*", "*:runtime" );
+        }
 
-    /**
-     * Simpler wrapper to execute and deal with the expected result.
-     * 
-     * @param rule the rule
-     * @param helper the helper
-     * @param shouldFail the should fail
-     */
-    private void execute( BannedDependencies rule, EnforcerRuleHelper helper, boolean shouldFail )
-    {
-        try
+        @Test( expected = EnforcerRuleException.class )
+        public void includeEverythingAndExcludeEveryGroupIdAndScopeRuntimeYYYY()
+            throws EnforcerRuleException
         {
-            rule.setMessage( null );
-            rule.execute( helper );
-            if ( shouldFail )
-            {
-                fail( "Exception expected." );
-            }
-        }
-        catch ( EnforcerRuleException e )
-        {
-            if ( !shouldFail )
-            {
-                fail( "No Exception expected:" + e.getLocalizedMessage() );
-            }
-            // helper.getLog().debug(e.getMessage());
+            addIncludeExcludeAndRunRule( "*:test", "*:runtime" );
         }
     }
+
 }