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 2007/11/27 02:25:09 UTC
svn commit: r598487 -
/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
Author: brianf
Date: Mon Nov 26 17:25:08 2007
New Revision: 598487
URL: http://svn.apache.org/viewvc?rev=598487&view=rev
Log:
more unit tests for the plugin version rule
Modified:
maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java?rev=598487&r1=598486&r2=598487&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java Mon Nov 26 17:25:08 2007
@@ -22,11 +22,16 @@
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtils;
import org.codehaus.plexus.util.StringUtils;
@@ -40,7 +45,7 @@
public class TestRequirePluginVersions
extends AbstractMojoTestCase
{
-
+
public void testHasVersionSpecified ()
{
Plugin source = new Plugin();
@@ -67,10 +72,12 @@
plugins.add( EnforcerTestUtils.newPlugin( "group", "e-artifact", "RELEASE" ) );
plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "1.0" ) );
plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "LATEST" ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "1.0-SNAPSHOT" ) );
RequirePluginVersions rule = new RequirePluginVersions();
rule.setBanLatest( false );
rule.setBanRelease( false );
+ rule.setBanSnapshots( false );
assertTrue( rule.hasVersionSpecified( source, plugins ) );
@@ -83,9 +90,14 @@
assertFalse( rule.hasVersionSpecified( source, plugins ) );
// check that LATEST is exhausively checked
+ rule.setBanSnapshots( false );
source.setArtifactId( "f-artifact" );
assertFalse( rule.hasVersionSpecified( source, plugins ) );
+ rule.setBanLatest( false );
+ rule.setBanSnapshots( true );
+ assertFalse( rule.hasVersionSpecified( source, plugins ) );
+
// check that RELEASE is allowed
source.setArtifactId( "d-artifact" );
assertTrue( rule.hasVersionSpecified( source, plugins ) );
@@ -99,8 +111,6 @@
assertFalse( rule.hasVersionSpecified( source, plugins ) );
}
-
-
public void testGetAllPlugins ()
throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
{
@@ -117,13 +127,107 @@
project.setVersion( "1.0" );
project.setBaseDir( projectDir );
- rule.setUtils( new EnforcerRuleUtils(EnforcerTestUtils.getHelper( project )) );
+ rule.setUtils( new EnforcerRuleUtils( EnforcerTestUtils.getHelper( project ) ) );
List plugins = rule.getAllPluginEntries( project );
// there should be 3
assertEquals( 3, plugins.size() );
}
+
+ public void testGetAdditionalPluginsNull () throws MojoExecutionException
+ {
+ RequirePluginVersions rule = new RequirePluginVersions();
+ rule.addAdditionalPlugins( null, null );
+ }
+ public void testGetAdditionalPluginsInvalidFormat ()
+ {
+ RequirePluginVersions rule = new RequirePluginVersions();
+
+ List additional = new ArrayList();
+
+ // invalid format (not enough sections)
+ additional.add( "group" );
+
+ Set plugins = new HashSet();
+ try
+ {
+ rule.addAdditionalPlugins( plugins, additional );
+ fail( "Expected Exception because the format is invalid" );
+ }
+ catch ( MojoExecutionException e )
+ {
+ }
+
+ // invalid format (too many sections)
+ additional.clear();
+ additional.add( "group:i:i" );
+ try
+ {
+ rule.addAdditionalPlugins( plugins, additional );
+ fail( "Expected Exception because the format is invalid" );
+ }
+ catch ( MojoExecutionException e )
+ {
+ }
+
+ }
+
+ public void testGetAdditionalPluginsEmptySet ()
+ throws MojoExecutionException
+ {
+ RequirePluginVersions rule = new RequirePluginVersions();
+
+ Set plugins = new HashSet();
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "a-artifact", "1.0" ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "foo", null ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "foo2", "" ) );
+
+ List additional = new ArrayList();
+ additional.add( "group:a-artifact" );
+ additional.add( "group:another-artifact" );
+
+ // make sure a null set can be handled
+ Set results = rule.addAdditionalPlugins( null , additional);
+
+ assertNotNull( results );
+ assertContainsPlugin( "group", "a-artifact", results );
+ assertContainsPlugin( "group", "another-artifact", results );
+
+ }
+
+ public void testGetAdditionalPlugins ()
+ throws MojoExecutionException
+ {
+ RequirePluginVersions rule = new RequirePluginVersions();
+
+ Set plugins = new HashSet();
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "a-artifact", "1.0" ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "foo", null ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "foo2", "" ) );
+
+ List additional = new ArrayList();
+ additional.add( "group:a-artifact" );
+ additional.add( "group:another-artifact" );
+
+ Set results = rule.addAdditionalPlugins( plugins, additional );
+
+ // make sure only one new plugin has been added
+ assertNotNull( results );
+ assertEquals( 4, results.size() );
+ assertContainsPlugin( "group", "a-artifact", results );
+ assertContainsPlugin( "group", "another-artifact", results );
+
+ }
+
+ private void assertContainsPlugin ( String group, String artifact, Set theSet )
+ {
+ Plugin p = new Plugin();
+ p.setGroupId( group );
+ p.setArtifactId( artifact );
+ assertTrue( theSet.contains( p ) );
+ }
+
public void testId ()
{
RequirePluginVersions rule = new RequirePluginVersions();