You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/10/22 16:19:57 UTC
svn commit: r707085 - in
/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury: ./
src/main/java/org/apache/maven/mercury/ src/test/ src/test/java/
src/test/java/org/ src/test/java/org/apache/
src/test/java/org/apache/maven/ src/test/java/...
Author: sisbell
Date: Wed Oct 22 07:19:56 2008
New Revision: 707085
URL: http://svn.apache.org/viewvc?rev=707085&view=rev
Log:
Add unit tests for mercury.
Added:
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MetadataReaderStub.java
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child-withDepMng.xml
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child.xml
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/parent.xml
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/simple.xml
Modified:
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/pom.xml
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
Modified: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/pom.xml?rev=707085&r1=707084&r2=707085&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/pom.xml (original)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/pom.xml Wed Oct 22 07:19:56 2008
@@ -43,5 +43,11 @@
<artifactId>maven-project-builder</artifactId>
<version>3.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java?rev=707085&r1=707084&r2=707085&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java (original)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java Wed Oct 22 07:19:56 2008
@@ -36,9 +36,9 @@
List<DomainModel> domainModels = new ArrayList<DomainModel>();
try {
- MavenDomainModel superPom =
- new MavenDomainModel(MavenDependencyProcessor.class.getResourceAsStream( "pom-4.0.0.xml" ));
- domainModels.add(superPom);
+// MavenDomainModel superPom =
+// new MavenDomainModel(MavenDependencyProcessor.class.getResourceAsStream( "pom-4.0.0.xml" ));
+// domainModels.add(superPom);
MavenDomainModel domainModel = new MavenDomainModel(mdReader.readMetadata(bmd));
domainModels.add(domainModel);
@@ -66,6 +66,7 @@
throws IOException, MetadataReaderException {
List<DomainModel> domainModels = new ArrayList<DomainModel>();
if (domainModel.hasParent()) {
+ System.out.println("HAS PARENT");
MavenDomainModel parentDomainModel = new MavenDomainModel(mdReader.readMetadata(domainModel.getParentMetadata()));
domainModels.add(parentDomainModel);
domainModels.addAll(getParentsOfDomainModel(parentDomainModel, mdReader));
Modified: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java?rev=707085&r1=707084&r2=707085&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java (original)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java Wed Oct 22 07:19:56 2008
@@ -110,6 +110,7 @@
String groupId = null, artifactId = null, version = null;
for (ModelProperty mp : modelProperties) {
+ System.out.println(mp);
if (mp.getUri().equals(ProjectUri.Parent.version)) {
version = mp.getValue();
} else if (mp.getUri().equals(ProjectUri.Parent.artifactId)) {
@@ -123,6 +124,7 @@
}
if (groupId == null || artifactId == null || version == null) {
+ System.out.println(groupId + ":" + artifactId + ":" + version);
return null;
}
parentMetadata = new ArtifactBasicMetadata();
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java Wed Oct 22 07:19:56 2008
@@ -0,0 +1,74 @@
+package org.apache.maven.mercury;
+import static junit.framework.Assert.*;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.junit.Before;
+
+import java.util.List;
+import java.util.Stack;
+import java.io.File;
+
+public class MavenDependencyProcessorTest {
+
+ // private static File resources = new File(System.getProperty( "basedir" ), "resources");
+
+ private String basedir;
+
+ @Before
+ public void setUp()
+ throws Exception
+ {
+ basedir = System.getProperty( "basedir" );
+
+ if ( basedir == null )
+ {
+ basedir = new File( "maven-mercury" ).getCanonicalPath();
+ }
+ }
+
+ @org.junit.Test
+ public void testSinglePom() throws MetadataReaderException {
+ Stack<File> files = new Stack<File>();
+ files.add(new File(basedir, "src/test/resources/simple.xml"));
+
+ MavenDependencyProcessor processor = new MavenDependencyProcessor();
+ List<ArtifactBasicMetadata> dependencies = processor.getDependencies(new ArtifactBasicMetadata(),
+ new MetadataReaderStub(files), null);
+ assertEquals("Dependencies incorrect", 2, dependencies.size());
+
+ }
+
+ @org.junit.Test
+ public void testSingleParentPom() throws MetadataReaderException {
+ Stack<File> files = new Stack<File>();
+ files.add(new File(basedir, "src/test/resources/parent.xml"));
+ files.add(new File(basedir, "src/test/resources/child.xml"));
+
+ MavenDependencyProcessor processor = new MavenDependencyProcessor();
+ List<ArtifactBasicMetadata> dependencies = processor.getDependencies(new ArtifactBasicMetadata(),
+ new MetadataReaderStub(files), null);
+ assertEquals("Dependencies incorrect", 2, dependencies.size());
+ }
+
+ @org.junit.Test
+ public void testSingleParentPomWithDependencyManagement() throws MetadataReaderException {
+ Stack<File> files = new Stack<File>();
+ files.add(new File(basedir, "src/test/resources/parent.xml"));
+ files.add(new File(basedir, "src/test/resources/child-withDepMng.xml"));
+
+ MavenDependencyProcessor processor = new MavenDependencyProcessor();
+ List<ArtifactBasicMetadata> dependencies = processor.getDependencies(new ArtifactBasicMetadata(),
+ new MetadataReaderStub(files), null);
+ assertEquals("Dependencies incorrect", 2, dependencies.size());
+ assertTrue("Dependency Management", hasDependency(dependencies, "c-v-1"));
+ }
+
+ private static boolean hasDependency(List<ArtifactBasicMetadata> metadatas, String version) {
+ for(ArtifactBasicMetadata metadata : metadatas ) {
+ if(metadata.getVersion().equals(version)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MetadataReaderStub.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MetadataReaderStub.java?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MetadataReaderStub.java (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/java/org/apache/maven/mercury/MetadataReaderStub.java Wed Oct 22 07:19:56 2008
@@ -0,0 +1,35 @@
+package org.apache.maven.mercury;
+
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.codehaus.plexus.util.IOUtil;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Stack;
+
+public class MetadataReaderStub implements MetadataReader {
+
+ private int x;
+
+ Stack<File> files;
+
+ public MetadataReaderStub(Stack<File> files) {
+ this.files = files;
+ }
+
+ public byte[] readRawData(ArtifactBasicMetadata artifactBasicMetadata, String s, String s1) throws MetadataReaderException {
+ return new byte[0];
+ }
+
+ public byte[] readMetadata(ArtifactBasicMetadata artifactBasicMetadata) throws MetadataReaderException {
+ File file = files.pop();
+ try {
+ return IOUtil.toByteArray(new FileInputStream(file));
+ } catch (IOException e) {
+ throw new MetadataReaderException(e);
+ }
+ }
+}
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child-withDepMng.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child-withDepMng.xml?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child-withDepMng.xml (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child-withDepMng.xml Wed Oct 22 07:19:56 2008
@@ -0,0 +1,25 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>x-parent-aid</artifactId>
+ <groupId>x-parent-gid</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>c-aid</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>c-gid-1</groupId>
+ <artifactId>c-aid-1</artifactId>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>c-gid-1</groupId>
+ <artifactId>c-aid-1</artifactId>
+ <version>c-v-1</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
\ No newline at end of file
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child.xml?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child.xml (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/child.xml Wed Oct 22 07:19:56 2008
@@ -0,0 +1,18 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>x-parent-aid</artifactId>
+ <groupId>x-parent-gid</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>c-aid</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>c-gid-1</groupId>
+ <artifactId>c-aid-1</artifactId>
+ <version>c-v-1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/parent.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/parent.xml?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/parent.xml (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/parent.xml Wed Oct 22 07:19:56 2008
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>x-parent-gid</groupId>
+ <artifactId>x-parent-aid</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>gid-1</groupId>
+ <artifactId>aid-1</artifactId>
+ <version>v-1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/simple.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/simple.xml?rev=707085&view=auto
==============================================================================
--- maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/simple.xml (added)
+++ maven/components/branches/sisbell-maven-3.0-mercury/maven-mercury/src/test/resources/simple.xml Wed Oct 22 07:19:56 2008
@@ -0,0 +1,17 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-mercury</artifactId>
+ <name>Maven Mercury</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file