You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/12/23 11:33:53 UTC

svn commit: r728919 - in /maven/enforcer/trunk/enforcer-rules/src/test: java/org/apache/maven/plugins/enforcer/ resources/requireNoRepositories/ resources/requireNoRepositories/no-repositories/ resources/requireNoRepositories/no-repositories/child/ res...

Author: brett
Date: Tue Dec 23 02:33:52 2008
New Revision: 728919

URL: http://svn.apache.org/viewvc?rev=728919&view=rev
Log:
[MENFORCER-59] test cases for "no repositories" use cases

Added:
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml   (with props)
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml   (with props)
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml   (with props)
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml   (with props)
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml   (with props)
    maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml   (with props)
Modified:
    maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java

Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java?rev=728919&r1=728918&r2=728919&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java Tue Dec 23 02:33:52 2008
@@ -19,7 +19,11 @@
  * under the License.
  */
 
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import java.util.Collections;
+
+import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.codehaus.plexus.PlexusTestCase;
 
 /**
  * Test the "require no repositories" rule.
@@ -27,15 +31,159 @@
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
 public class TestRequireNoRepositories
-    extends AbstractMojoTestCase
+    extends PlexusTestCase
 {
-    // TODO!
-    // test default (all banned)
-    // test all plugin repos allowed
-    // test all repos allowed
-    // test allowance of some plugin repos
-    // test allowance of some repos
-    
+    private EnforcerRuleHelper helper;
+
+    private RequireNoRepositories rule;
+
+    private MockProject project;
+
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        rule = new RequireNoRepositories();
+        rule.message = "my message";
+
+        project = new MockProject();
+        project.setGroupId( "org.apache.maven.plugins.enforcer.test" );
+        project.setVersion( "1.0-SNAPSHOT" );
+
+        helper = EnforcerTestUtils.getHelper( project );
+    }
+
+    public void testAllBannedNoRepositories()
+        throws EnforcerRuleException
+    {
+        project.setArtifactId( "no-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testAllBannedWithRepositories()
+        throws EnforcerRuleException
+    {
+        project.setArtifactId( "with-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
+
+        try
+        {
+            rule.execute( helper );
+            fail( "Should have exception" );
+        }
+        catch ( EnforcerRuleException e )
+        {
+            assertTrue( true );
+        }
+    }
+
+    public void testAllBannedWithAllowedRepositories()
+        throws EnforcerRuleException
+    {
+        rule.allowedRepositories = Collections.singletonList( "repo" );
+
+        project.setArtifactId( "with-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testAllBannedWithAllowedPluginRepositories()
+        throws EnforcerRuleException
+    {
+        rule.allowedPluginRepositories = Collections.singletonList( "repo" );
+
+        project.setArtifactId( "with-plugin-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testReposNotBannedNoRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banRepositories = false;
+
+        project.setArtifactId( "no-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testReposNotBannedWithRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banRepositories = false;
+
+        project.setArtifactId( "with-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testReposNotBannedWithPluginRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banRepositories = false;
+
+        project.setArtifactId( "with-plugin-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
+
+        try
+        {
+            rule.execute( helper );
+            fail( "Should have exception" );
+        }
+        catch ( EnforcerRuleException e )
+        {
+            assertTrue( true );
+        }
+    }
+
+    public void testPluginReposNotBannedNoRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banPluginRepositories = false;
+
+        project.setArtifactId( "no-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
+    public void testPluginReposNotBannedWithRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banPluginRepositories = false;
+
+        project.setArtifactId( "with-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
+
+        try
+        {
+            rule.execute( helper );
+            fail( "Should have exception" );
+        }
+        catch ( EnforcerRuleException e )
+        {
+            assertTrue( true );
+        }
+    }
+
+    public void testPluginReposNotBannedWithPluginRepositories()
+        throws EnforcerRuleException
+    {
+        rule.banPluginRepositories = false;
+
+        project.setArtifactId( "with-plugin-repositories-child" );
+        project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
+
+        rule.execute( helper );
+    }
+
     /**
      * Test id.
      */

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,9 @@
+<project>
+  <parent>
+    <groupId>org.apache.maven.plugins.enforcer.test
+    </groupId>
+    <artifactId>no-repositories</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>no-repositories-child</artifactId>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/child/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,5 @@
+<project>
+  <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+  <artifactId>no-repositories</artifactId>
+  <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/no-repositories/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,9 @@
+<project>
+  <parent>
+    <groupId>org.apache.maven.plugins.enforcer.test
+    </groupId>
+    <artifactId>with-plugin-repositories</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>with-plugin-repositories-child</artifactId>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/child/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,11 @@
+<project>
+  <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+  <artifactId>with-plugin-repositories</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>repo</id>
+      <url>http://example.com/repo</url>
+    </pluginRepository>
+  </pluginRepositories>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-plugin-repositories/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,9 @@
+<project>
+  <parent>
+    <groupId>org.apache.maven.plugins.enforcer.test
+    </groupId>
+    <artifactId>with-repositories</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>with-repositories-child</artifactId>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/child/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml?rev=728919&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml Tue Dec 23 02:33:52 2008
@@ -0,0 +1,11 @@
+<project>
+  <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+  <artifactId>with-repositories</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <repositories>
+    <repository>
+      <id>repo</id>
+      <url>http://example.com/repo</url>
+    </repository>
+  </repositories>
+</project>
\ No newline at end of file

Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requireNoRepositories/with-repositories/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native