Author: brianf Date: Sat Mar 24 20:52:25 2007 New Revision: 522154 URL: http://svn.apache.org/viewvc?view=rev&rev=522154 Log: MDEP-76 more tests
Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java?view=diff&rev=522154&r1=522153&r2=522154 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AnalyzeDepMgt.java Sat Mar 24 20:52:25 2007 @@ -32,6 +32,7 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -157,9 +158,9 @@ Iterator exclusionIter = exclusionErrors.iterator(); while ( exclusionIter.hasNext() ) { - Artifact exclusion = (Artifact) iter.next(); + Artifact exclusion = (Artifact) exclusionIter.next(); getLog().info( - getArtifactManagementKey( exclusion ) + " was excluded in DepMgt, but version " + StringUtils.stripEnd( getArtifactManagementKey( exclusion ),":") + " was excluded in DepMgt, but version " + exclusion.getVersion() + " has been found in the dependency tree." ); foundError = true; } @@ -173,16 +174,17 @@ Dependency depMgtDependency = (Dependency) mismatch.get( resolvedArtifact ); logMismatch( resolvedArtifact, depMgtDependency ); } + if ( !foundError ) + { + getLog().info( " None" ); + } } else { getLog().info( " Nothing in DepMgt." ); } - if ( !foundError ) - { - getLog().info( " None" ); - } + return foundError; } @@ -204,8 +206,8 @@ Iterator exclusionIter = exclusionList.iterator(); while ( exclusionIter.hasNext() ) { - Dependency exclusion = (Dependency) exclusionIter.next(); - exclusions.put( exclusion.getManagementKey(), exclusion ); + Exclusion exclusion = (Exclusion) exclusionIter.next(); + exclusions.put( getExclusionKey( exclusion ), exclusion ); } } return exclusions; @@ -230,7 +232,7 @@ while ( iter.hasNext() ) { Artifact artifact = (Artifact) iter.next(); - if ( exclusions.containsKey( getArtifactManagementKey( artifact ) ) ) + if ( exclusions.containsKey( getExclusionKey( artifact ) ) ) { list.add( artifact ); } @@ -239,6 +241,16 @@ return list; } + public String getExclusionKey(Artifact artifact) + { + return artifact.getGroupId()+":"+artifact.getArtifactId(); + } + + public String getExclusionKey(Exclusion ex) + { + return ex.getGroupId()+":"+ex.getArtifactId(); + } + /** * Calculate the mismatches between the DependencyManagement and resolved * artifacts @@ -293,7 +305,7 @@ + dependencyFromDepMgt ); } - getLog().info( "\tDependency: " + dependencyFromDepMgt.getManagementKey() ); + getLog().info( "\tDependency: " + StringUtils.stripEnd(dependencyFromDepMgt.getManagementKey(),":") ); getLog().info( "\t\tDepMgt : " + dependencyFromDepMgt.getVersion() ); getLog().info( "\t\tResolved: " + dependencyArtifact.getVersion() ); } Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java?view=diff&rev=522154&r1=522153&r2=522154 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestAnalyzeDepMgt.java Sat Mar 24 20:52:25 2007 @@ -13,6 +13,8 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Dependency; +import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.dependency.testUtils.ArtifactStubFactory; @@ -38,26 +40,40 @@ * under the License. */ - public class TestAnalyzeDepMgt extends TestCase { AnalyzeDepMgt mojo; + ArtifactStubFactory stubFactory; + Dependency exclusion; + + Exclusion ex; + Artifact exclusionArtifact; + DependencyManagement depMgt; protected void setUp() throws Exception { + + mojo = new AnalyzeDepMgt(); + MavenProject project = new DependencyProjectStub(); - stubFactory = new ArtifactStubFactory( new File(""), false ); - + stubFactory = new ArtifactStubFactory( new File( "" ), false ); + Set allArtifacts = stubFactory.getMixedArtifacts(); Set directArtifacts = stubFactory.getClassifiedArtifacts(); + exclusionArtifact = stubFactory.getReleaseArtifact(); + directArtifacts.add( exclusionArtifact ); + ex = new Exclusion(); + ex.setArtifactId( exclusionArtifact.getArtifactId() ); + ex.setGroupId( exclusionArtifact.getGroupId() ); + exclusion = new Dependency(); exclusion.setArtifactId( exclusionArtifact.getArtifactId() ); exclusion.setGroupId( exclusionArtifact.getGroupId() ); @@ -65,121 +81,170 @@ exclusion.setClassifier( "" ); exclusion.setVersion( "3.0" ); - mojo = new AnalyzeDepMgt(); - MavenProject project = new DependencyProjectStub(); + exclusion.addExclusion( ex ); + ArrayList list = new ArrayList(); + list.add( exclusion ); + + depMgt = new DependencyManagement(); + depMgt.setDependencies( list ); + + project.setArtifacts( allArtifacts ); project.setDependencyArtifacts( directArtifacts ); - + mojo.setProject( project ); - + } - public void testGetManagementKey() throws IOException + public void testGetManagementKey() + throws IOException { Dependency dep = new Dependency(); dep.setArtifactId( "artifact" ); dep.setClassifier( "class" ); dep.setGroupId( "group" ); dep.setType( "type" ); - - //version isn't used in the key, it can be different + + // version isn't used in the key, it can be different dep.setVersion( "1.1" ); - - Artifact artifact = stubFactory.createArtifact( "group", "artifact", "1.0",Artifact.SCOPE_COMPILE,"type","class" ); - //basic case ok + Artifact artifact = stubFactory.createArtifact( "group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", + "class" ); + + // basic case ok assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); - - //now change each one and make sure it fails, then set it back and make sure it's ok before - //testing the next one + + // now change each one and make sure it fails, then set it back and make + // sure it's ok before + // testing the next one dep.setType( "t" ); - assertFalse ( dep.getManagementKey().equals(mojo.getArtifactManagementKey( artifact ) )); - + assertFalse( dep.getManagementKey().equals( mojo.getArtifactManagementKey( artifact ) ) ); + dep.setType( "type" ); assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); - + dep.setArtifactId( "a" ); - assertFalse ( dep.getManagementKey().equals(mojo.getArtifactManagementKey( artifact ) )); - + assertFalse( dep.getManagementKey().equals( mojo.getArtifactManagementKey( artifact ) ) ); + dep.setArtifactId( "artifact" ); assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); - + dep.setClassifier( "c" ); - assertFalse ( dep.getManagementKey().equals(mojo.getArtifactManagementKey( artifact ) )); - + assertFalse( dep.getManagementKey().equals( mojo.getArtifactManagementKey( artifact ) ) ); + dep.setClassifier( "class" ); assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); - + dep.setGroupId( "g" ); - assertFalse ( dep.getManagementKey().equals(mojo.getArtifactManagementKey( artifact ) )); - + assertFalse( dep.getManagementKey().equals( mojo.getArtifactManagementKey( artifact ) ) ); + dep.setGroupId( "group" ); dep.setClassifier( null ); - artifact = stubFactory.createArtifact( "group", "artifact", "1.0",Artifact.SCOPE_COMPILE,"type",null ); + artifact = stubFactory.createArtifact( "group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", null ); assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); - + dep.setClassifier( "" ); - artifact = stubFactory.createArtifact( "group", "artifact", "1.0",Artifact.SCOPE_COMPILE,"type","" ); + artifact = stubFactory.createArtifact( "group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", "" ); assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); } - + public void testAddExclusions() { - Dependency dep = new Dependency(); - dep.setArtifactId( "artifact" ); - dep.setClassifier( "class" ); - dep.setGroupId( "group" ); - dep.setType( "type" ); assertEquals( 0, mojo.addExclusions( null ).size() ); - + ArrayList list = new ArrayList(); - assertEquals( 0, mojo.addExclusions( null ).size() ); - - list.add( dep ); + list.add( ex ); Map map = mojo.addExclusions( list ); - - assertTrue(map.containsKey( dep.getManagementKey() )); - assertSame( dep, map.get( dep.getManagementKey() ) ); + + assertEquals( 1,map.size() ); + assertTrue( map.containsKey( mojo.getExclusionKey( ex ) ) ); + assertSame( ex, map.get( mojo.getExclusionKey( ex ) ) ); } - + public void testGetExclusionErrors() { ArrayList list = new ArrayList(); - list.add( exclusion ); - - //already tested this method so I can trust it. + list.add( ex ); + + // already tested this method so I can trust it. Map map = mojo.addExclusions( list ); - + List l = mojo.getExclusionErrors( map, mojo.getProject().getArtifacts() ); - + assertEquals( 1, l.size() ); - - assertEquals( exclusion.getManagementKey(), mojo.getArtifactManagementKey( (Artifact) l.get( 0 ) )); + + assertEquals( mojo.getExclusionKey( ex ), mojo.getExclusionKey(( Artifact) l.get( 0 ) ) ); } - public void testGetMismatch() throws IOException + public void testGetMismatch() + throws IOException { Map depMgtMap = new HashMap(); depMgtMap.put( exclusion.getManagementKey(), exclusion ); - + Map results = mojo.getMismatch( depMgtMap, mojo.getProject().getArtifacts() ); - + assertEquals( 1, results.size() ); - //the release artifact is used to create the exclusion - assertTrue( results.containsKey( stubFactory.getReleaseArtifact())); - assertSame( exclusion,results.get( stubFactory.getReleaseArtifact())); + // the release artifact is used to create the exclusion + assertTrue( results.containsKey( stubFactory.getReleaseArtifact() ) ); + assertSame( exclusion, results.get( stubFactory.getReleaseArtifact() ) ); } - - public void testMojo() - { + + public void testMojo() throws IOException + { + mojo.setIgnoreDirect( false ); + try + { + // test with nothing in depMgt + mojo.execute(); + } + catch ( Exception e ) + { + e.printStackTrace(); + fail("Caught Unexpected Exception:"+e.getLocalizedMessage()); + } + + try + { + DependencyProjectStub project = (DependencyProjectStub) mojo.getProject(); + project.setDependencyManagement( depMgt ); + // test with exclusion + mojo.execute(); + } + catch ( Exception e ) + { + e.printStackTrace(); + fail("Caught Unexpected Exception:"+e.getLocalizedMessage()); + } + + try + { + DependencyProjectStub project = (DependencyProjectStub) mojo.getProject(); + project.setDependencyManagement( depMgt ); + // test with exclusion + mojo.setFailBuild( true ); + mojo.execute(); + fail("Expected exception to fail the build."); + } + catch ( Exception e ) + { + System.out.println("Caught Expected Exception:"+e.getLocalizedMessage()); + } + try { + DependencyProjectStub project = (DependencyProjectStub) mojo.getProject(); + project.setDependencyManagement( depMgt ); + // test with exclusion + mojo.setFailBuild( true ); + mojo.setIgnoreDirect( true ); mojo.execute(); } catch ( Exception e ) { + e.printStackTrace(); fail("Caught Unexpected Exception:"+e.getLocalizedMessage()); } } Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java?view=diff&rev=522154&r1=522153&r2=522154 ============================================================================== --- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java (original) +++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/testUtils/stubs/DependencyProjectStub.java Sat Mar 24 20:52:25 2007 @@ -266,6 +266,10 @@ return dependencies; } + public void setDependencyManagement(DependencyManagement depMgt) + { + this.dependencyManagement = depMgt; + } public DependencyManagement getDependencyManagement() { if ( dependencyManagement == null )