You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/06/14 17:25:48 UTC
svn commit: r547277 [4/16] - in /maven/archiva/trunk: archiva-base/
archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/
archiva-base/archiva-dependency-graph/ archiva-base/archiva-depende...
Added: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java?view=auto&rev=547277
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java Thu Jun 14 08:25:42 2007
@@ -0,0 +1,392 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.functors.AndPredicate;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeExactScopePredicate;
+import org.apache.maven.archiva.dependency.graph.functors.EdgeFromPredicate;
+import org.apache.maven.archiva.dependency.graph.functors.NodeFromParentPredicate;
+import org.apache.maven.archiva.dependency.graph.functors.NodePredicate;
+import org.apache.maven.archiva.dependency.graph.functors.ToKeyTransformer;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * AbstractDependencyGraphFactoryTestCase
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractDependencyGraphFactoryTestCase
+ extends PlexusTestCase
+{
+ public class ExpectedEdge
+ {
+ public String from;
+
+ public String to;
+
+ public ExpectedEdge( String from, String to )
+ {
+ this.from = from;
+ this.to = to;
+ }
+ }
+
+ public class GraphEdgePredicate
+ implements Predicate
+ {
+ private String edgeFrom;
+
+ private String edgeTo;
+
+ public GraphEdgePredicate( String edgeFrom, String edgeTo )
+ {
+ this.edgeFrom = edgeFrom;
+ this.edgeTo = edgeTo;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof DependencyGraphEdge )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) object;
+ String actualFrom = ArtifactReference.toKey( edge.getNodeFrom() );
+ String actualTo = ArtifactReference.toKey( edge.getNodeTo() );
+
+ satisfies = ( StringUtils.equals( edgeFrom, actualFrom ) && StringUtils.equals( edgeTo, actualTo ) );
+ }
+
+ return satisfies;
+ }
+ }
+
+ protected void assertDirectNodes( DependencyGraph graph, List expectedNodes, String scope )
+ {
+ Iterator it;
+ DependencyGraphNode rootNode = graph.getRootNode();
+ List rootEdges = graph.getEdgesFrom( rootNode );
+ List actualEdges = new ArrayList();
+
+ Predicate directDep = NotPredicate.getInstance( new NodeFromParentPredicate() );
+ Predicate scopedDirectDeps = AndPredicate.getInstance( new EdgeExactScopePredicate( scope ), directDep );
+ CollectionUtils.select( rootEdges, scopedDirectDeps, actualEdges );
+ // CollectionUtils.select( rootEdges, new EdgeExactScopePredicate( scope ), actualEdges );
+
+ if ( expectedNodes.size() != actualEdges.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "Direct node.count with <" ).append( scope ).append( "> edges from [" );
+ sb.append( DependencyGraphKeys.toKey( rootNode.getArtifact() ) ).append( "]" ).append( " expected:<" );
+ sb.append( expectedNodes.size() ).append( "> but was:<" );
+ sb.append( actualEdges.size() ).append( ">" );
+
+ CollectionUtils.transform( actualEdges, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualEdges, expectedNodes );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodes, actualEdges );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = actualEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ String actualKey = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ assertTrue( "Direct <" + scope + "> node To [" + actualKey + "] exists in expectedNodes.", expectedNodes
+ .contains( actualKey ) );
+ }
+ }
+
+ protected void assertEdges( DependencyGraph graph, List expectedEdges )
+ {
+ assertNotNull( "Graph.edges should never be null.", graph.getEdges() );
+ assertEquals( "Graph.edges.size()", expectedEdges.size(), graph.getEdges().size() );
+
+ Iterator it = expectedEdges.iterator();
+ while ( it.hasNext() )
+ {
+ ExpectedEdge expectedEdge = (ExpectedEdge) it.next();
+ Predicate edgePredicate = new GraphEdgePredicate( expectedEdge.from, expectedEdge.to );
+
+ DependencyGraphEdge edge = (DependencyGraphEdge) CollectionUtils.find( graph.getEdges(), edgePredicate );
+ if ( edge == null )
+ {
+ fail( "Unable to find expected edge from:<" + expectedEdge.from + "> to:<" + expectedEdge.to + ">" );
+ }
+ }
+ }
+
+ protected void assertGraph( DependencyGraph graph, String rootRefKey, List expectedNodeKeys )
+ {
+ assertNotNull( "Graph.nodes should never be null.", graph.getNodes() );
+ assertTrue( "Graph.nodes.size() should always be 1 or better.", graph.getNodes().size() >= 1 );
+
+ ArtifactReference rootRef = graph.getRootNode().getArtifact();
+ StringBuffer actualRootRef = new StringBuffer();
+ actualRootRef.append( rootRef.getGroupId() ).append( ":" );
+ actualRootRef.append( rootRef.getArtifactId() ).append( ":" );
+ actualRootRef.append( rootRef.getVersion() );
+
+ assertEquals( "Graph.root", rootRefKey, actualRootRef.toString() );
+
+ Iterator it;
+ List actualNodes = new ArrayList();
+
+ Predicate notRootNode = NotPredicate.getInstance( new NodePredicate( graph.getRootNode() ) );
+ CollectionUtils.select( graph.getNodes(), notRootNode, actualNodes );
+
+ boolean fail = false;
+ StringBuffer sb = new StringBuffer();
+
+ if ( expectedNodeKeys.size() != actualNodes.size() )
+ {
+ sb.append( "node.count expected:<" );
+ sb.append( expectedNodeKeys.size() ).append( "> but was:<" );
+ sb.append( actualNodes.size() ).append( ">" );
+ fail = true;
+ }
+
+ CollectionUtils.transform( actualNodes, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualNodes, expectedNodeKeys );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ fail = true;
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodeKeys, actualNodes );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ fail = true;
+ }
+
+ if( fail )
+ {
+ fail( sb.toString() );
+ }
+
+ /*
+ it = actualNodes.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+ assertNotNull( "Artifact reference in node should not be null.", node.getArtifact() );
+ String key = ArtifactReference.toKey( node.getArtifact() );
+ assertTrue( "Artifact reference [" + key + "] should be in expectedNodeKeys.", expectedNodeKeys
+ .contains( key ) );
+ }
+ */
+ }
+
+ protected void assertNodes( DependencyGraph graph, List expectedNodeKeys )
+ {
+ assertNotNull( "Graph.nodes should never be null.", graph.getNodes() );
+ assertTrue( "Graph.nodes.size() should always be 1 or better.", graph.getNodes().size() >= 1 );
+ // assertEquals( "Graph.nodes.size()", expectedNodeKeys.size(), graph.getNodes().size() );
+
+ Iterator it;
+ List actualNodes = new ArrayList();
+ actualNodes.addAll( graph.getNodes() );
+
+ if ( expectedNodeKeys.size() != actualNodes.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "node.count expected:<" );
+ sb.append( expectedNodeKeys.size() ).append( "> but was:<" );
+ sb.append( actualNodes.size() ).append( ">" );
+
+ CollectionUtils.transform( actualNodes, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualNodes, expectedNodeKeys );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodeKeys, actualNodes );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = graph.getNodes().iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphNode node = (DependencyGraphNode) it.next();
+ assertNotNull( "Artifact reference in node should not be null.", node.getArtifact() );
+ String key = ArtifactReference.toKey( node.getArtifact() );
+ assertTrue( "Artifact reference [" + key + "] should be in expectedNodeKeys.", expectedNodeKeys
+ .contains( key ) );
+ }
+ }
+
+ protected void assertRootNode( DependencyGraph graph, String expectedKey )
+ {
+ DependencyGraphNode node = graph.getRootNode();
+
+ String actualKey = DependencyGraphKeys.toKey( node.getArtifact() );
+ assertEquals( "Root Node", expectedKey, actualKey );
+ }
+
+ protected void assertTransientNodes( DependencyGraph graph, List expectedNodes, String scope )
+ {
+ Iterator it;
+
+ // Gather up the transient nodes from the DependencyGraph.
+ List actualEdges = new ArrayList();
+
+ DependencyGraphNode rootNode = graph.getRootNode();
+
+ Predicate transientDep = NotPredicate.getInstance( new EdgeFromPredicate( rootNode.getArtifact() ) );
+ Predicate edgeByExactScope = new EdgeExactScopePredicate( scope );
+ Predicate transitiveEdgesByScopePredicate = AndPredicate.getInstance( transientDep, edgeByExactScope );
+
+ CollectionUtils.select( graph.getEdges(), transitiveEdgesByScopePredicate, actualEdges );
+
+ if ( expectedNodes.size() != actualEdges.size() )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( "Transient node.count with <" ).append( scope ).append( "> edges from [" );
+ sb.append( DependencyGraphKeys.toKey( rootNode.getArtifact() ) ).append( "]" ).append( " expected:<" );
+ sb.append( expectedNodes.size() ).append( "> but was:<" );
+ sb.append( actualEdges.size() ).append( ">" );
+
+ CollectionUtils.transform( actualEdges, new ToKeyTransformer() );
+
+ Collection missingActualKeys = CollectionUtils.subtract( actualEdges, expectedNodes );
+ it = missingActualKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Actual) " ).append( (String) it.next() );
+ }
+
+ Collection missingExpectedKeys = CollectionUtils.subtract( expectedNodes, actualEdges );
+ it = missingExpectedKeys.iterator();
+ while ( it.hasNext() )
+ {
+ sb.append( "\n (Extra Expected) " ).append( (String) it.next() );
+ }
+
+ fail( sb.toString() );
+ }
+
+ it = actualEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyGraphEdge edge = (DependencyGraphEdge) it.next();
+ String actualKey = DependencyGraphKeys.toKey( edge.getNodeTo() );
+ assertTrue( "Transient Node To [" + actualKey + "] exists in expectedNodes.", expectedNodes
+ .contains( actualKey ) );
+ }
+ }
+
+ protected Dependency toDependency( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ assertEquals( "Dependency key [" + key + "] should be 5 parts.", 5, parts.length );
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( parts[0] );
+ dep.setArtifactId( parts[1] );
+ dep.setVersion( parts[2] );
+ dep.setClassifier( parts[3] );
+ dep.setType( parts[4] );
+
+ return dep;
+ }
+
+ protected ArchivaProjectModel toModel( String key, Dependency deps[] )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ assertEquals( "Dependency key [" + key + "] should be 3 parts.", 3, parts.length );
+
+ ArchivaProjectModel model = new ArchivaProjectModel();
+ model.setGroupId( parts[0] );
+ model.setArtifactId( parts[1] );
+ model.setVersion( parts[2] );
+ model.setOrigin( "testcase" );
+ model.setPackaging( "jar" );
+
+ if ( deps != null )
+ {
+ for ( int i = 0; i < deps.length; i++ )
+ {
+ Dependency dep = deps[i];
+ model.addDependency( dep );
+ }
+ }
+
+ return model;
+ }
+
+ protected VersionedReference toVersionedReference( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+ assertEquals( "Versioned Reference [" + key + "] part count.", 3, parts.length );
+
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+ return ref;
+ }
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractDependencyGraphFactoryTestCase.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java?view=auto&rev=547277
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java Thu Jun 14 08:25:42 2007
@@ -0,0 +1,175 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.Dependency;
+import org.apache.maven.archiva.model.Exclusion;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AbstractMemoryRepository
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractMemoryRepository
+ implements MemoryRepository
+{
+ private Map modelMap = new HashMap();
+
+ public AbstractMemoryRepository()
+ {
+ initialize();
+ }
+
+ public void addModel( ArchivaProjectModel model )
+ {
+ String key = Keys.toKey( model );
+ modelMap.put( key, model );
+ }
+
+ public ArchivaProjectModel getProjectModel( String groupId, String artifactId, String version )
+ {
+ String key = Keys.toKey( groupId, artifactId, version );
+
+ return (ArchivaProjectModel) modelMap.get( key );
+ }
+
+ public abstract void initialize();
+
+ protected void addExclusion( Dependency dependency, String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 2 )
+ {
+ throw new IllegalArgumentException( "Exclusion key [" + key + "] should be 2 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ Exclusion exclusion = new Exclusion();
+ exclusion.setGroupId( parts[0] );
+ exclusion.setArtifactId( parts[1] );
+
+ dependency.addExclusion( exclusion );
+ }
+
+ protected Dependency toDependency( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 5 )
+ {
+ throw new IllegalArgumentException( "Dependency key [" + key + "] should be 5 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( parts[0] );
+ dep.setArtifactId( parts[1] );
+ dep.setVersion( parts[2] );
+ dep.setClassifier( parts[3] );
+ dep.setType( parts[4] );
+
+ return dep;
+ }
+
+ protected Dependency toDependency( String key, String scope )
+ {
+ Dependency dependency = toDependency( key );
+ dependency.setScope( scope );
+
+ return dependency;
+ }
+
+ protected ArchivaProjectModel toModel( String key )
+ {
+ return toModel( key, Collections.EMPTY_LIST );
+ }
+
+ protected ArchivaProjectModel toModel( String key, Dependency deps[] )
+ {
+ List depList = new ArrayList();
+
+ if ( deps != null )
+ {
+ depList.addAll( Arrays.asList( deps ) );
+ }
+
+ return toModel( key, depList );
+ }
+
+ protected ArchivaProjectModel toModel( String key, List deps )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 3 )
+ {
+ throw new IllegalArgumentException( "Project/Model key [" + key + "] should be 3 parts. (detected "
+ + parts.length + " instead)" );
+ }
+
+ ArchivaProjectModel model = new ArchivaProjectModel();
+ model.setGroupId( parts[0] );
+ model.setArtifactId( parts[1] );
+ model.setVersion( parts[2] );
+ model.setOrigin( "testcase" );
+ model.setPackaging( "jar" );
+
+ Iterator it = deps.iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+ model.addDependency( dep );
+ }
+
+ return model;
+ }
+
+ protected VersionedReference toParent( String key )
+ {
+ String parts[] = StringUtils.splitPreserveAllTokens( key, ':' );
+
+ if ( parts.length != 3 )
+ {
+ throw new IllegalArgumentException( "Parent key [" + key + "] should be 3 parts. (detected " + parts.length
+ + " instead)" );
+ }
+
+ VersionedReference ref = new VersionedReference();
+ ref.setGroupId( parts[0] );
+ ref.setArtifactId( parts[1] );
+ ref.setVersion( parts[2] );
+
+ return ref;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AbstractMemoryRepository.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java?view=auto&rev=547277
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java Thu Jun 14 08:25:42 2007
@@ -0,0 +1,51 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Utility class to aide IDE developers.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.dependencies" );
+ //$JUnit-BEGIN$
+ suite.addTestSuite( ArchivaWebappDependencyGraphTest.class );
+ suite.addTestSuite( GraphvizDotTool.class );
+ suite.addTestSuite( DepManDeepVersionDependencyGraphTest.class );
+ suite.addTestSuite( SimpleDependencyGraphTest.class );
+ suite.addTestSuite( MavenProjectInfoReportsPluginDependencyGraphTest.class );
+ suite.addTestSuite( ArchivaCommonDependencyGraphTest.class );
+ suite.addTestSuite( WagonManagerDependencyGraphTest.class );
+ suite.addTestSuite( ContinuumStoreDependencyGraphTest.class );
+ suite.addTestSuite( ArchivaXmlToolsDependencyGraphTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/AllTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java?view=auto&rev=547277
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java Thu Jun 14 08:25:42 2007
@@ -0,0 +1,77 @@
+package org.apache.maven.archiva.dependency.graph;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.dependency.DependencyGraphFactory;
+import org.apache.maven.archiva.model.DependencyScope;
+import org.apache.maven.archiva.model.VersionedReference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ArchivaCommonDependencyGraphTest
+ *
+ * DependencyGraphTest for testing <code>org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT</code>
+ *
+ * Generated by <code>archivadev:generate-dependency-tests</code> plugin
+ * @version $Id$
+ */
+public class ArchivaCommonDependencyGraphTest
+ extends AbstractDependencyGraphFactoryTestCase
+{
+ public void testResolvedDepsToNodes()
+ throws GraphTaskException
+ {
+ MemoryRepositoryDependencyGraphBuilder graphBuilder =
+ new MemoryRepositoryDependencyGraphBuilder();
+ MemoryRepository repository = new ArchivaCommonMemoryRepository();
+ graphBuilder.setMemoryRepository( repository );
+
+ // Create the factory, and add the test resolver.
+ DependencyGraphFactory factory = new DependencyGraphFactory();
+ factory.setGraphBuilder( graphBuilder );
+ factory.setDesiredScope( DependencyScope.TEST );
+
+ // Get the model to resolve from
+ VersionedReference rootRef = toVersionedReference( "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT");
+
+ // Perform the resolution.
+ DependencyGraph graph = factory.getGraph( rootRef );
+
+ // Test the results.
+ assertNotNull( "Graph shouldn't be null.", graph );
+
+ String expectedRootRef = "org.apache.maven.archiva:archiva-common:1.0-alpha-2-SNAPSHOT";
+ List expectedNodes = new ArrayList();
+
+ // Check for all nodes, regardless of scope.
+ expectedNodes.clear();
+ expectedNodes.add( "commons-lang:commons-lang:2.2::jar" );
+ expectedNodes.add( "junit:junit:3.8.1::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-classworlds:1.2-alpha-7::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-component-api:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-container-default:1.0-alpha-22::jar" );
+ expectedNodes.add( "org.codehaus.plexus:plexus-utils:1.4::jar" );
+
+ assertGraph( graph, expectedRootRef, expectedNodes );
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-dependency-graph/src/test/java/org/apache/maven/archiva/dependency/graph/ArchivaCommonDependencyGraphTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain