You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/09/23 04:02:25 UTC
svn commit: r698064 - in /maven/sandbox/trunk/mercury:
mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
pom.xml
Author: ogusakov
Date: Mon Sep 22 19:02:24 2008
New Revision: 698064
URL: http://svn.apache.org/viewvc?rev=698064&view=rev
Log:
added read-write integration test
Added:
maven/sandbox/trunk/mercury/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
Modified:
maven/sandbox/trunk/mercury/pom.xml
Added: maven/sandbox/trunk/mercury/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java?rev=698064&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java (added)
+++ maven/sandbox/trunk/mercury/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java Mon Sep 22 19:02:24 2008
@@ -0,0 +1,128 @@
+package org.apache.maven.mercury.repository.tests;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
+import org.apache.maven.mercury.repository.api.LocalRepository;
+import org.apache.maven.mercury.repository.api.RemoteRepository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
+import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
+import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
+import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
+import org.apache.maven.mercury.spi.http.server.HttpTestServer;
+import org.apache.maven.mercury.transport.api.Server;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ReadWriteTest
+extends TestCase
+{
+ File remoteRepoBase = new File("./target/test-classes/repo");
+ public String port;
+ HttpTestServer httpServer;
+
+ RemoteRepository rr;
+ LocalRepository lr;
+
+ DependencyProcessor mdProcessor;
+ RepositoryReader reader;
+
+ File localRepoBase;
+ RepositoryWriter writer;
+
+ List<ArtifactBasicMetadata> query;
+
+ ArtifactBasicMetadata bmd;
+
+ Server server;
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp()
+ throws Exception
+ {
+ httpServer = new HttpTestServer( remoteRepoBase, "/repo" );
+ httpServer.start();
+ port = String.valueOf( httpServer.getPort() );
+
+ server = new Server( "test", new URL("http://localhost:"+port+"/repo") );
+ rr = new RemoteRepositoryM2( "testRepo", server );
+
+ mdProcessor = new MetadataProcessorMock();
+ reader = rr.getReader( new MetadataProcessorMock() );
+
+ localRepoBase = File.createTempFile( "local", "repo" );
+ localRepoBase.delete();
+ localRepoBase.mkdir();
+
+ lr = new LocalRepositoryM2( "lr", localRepoBase );
+ writer = lr.getWriter();
+
+ query = new ArrayList<ArtifactBasicMetadata>();
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ httpServer.stop();
+ httpServer.destroy();
+ }
+
+ public void testOneArtifact()
+ throws IllegalArgumentException, RepositoryException
+ {
+ ArtifactBasicMetadata bm = new ArtifactBasicMetadata("a:a:4");
+ query.add( bm );
+
+ ArtifactResults res = reader.readArtifacts( query );
+
+ assertTrue( res != null );
+ assertFalse( res.hasExceptions() );
+ assertTrue( res.hasResults() );
+
+ Map< ArtifactBasicMetadata, List<Artifact>> resMap = res.getResults();
+
+ assertNotNull( resMap );
+ assertFalse( resMap.isEmpty() );
+
+ List<Artifact> al = resMap.get( bm );
+
+ assertNotNull( al );
+ assertFalse( al.isEmpty() );
+
+ Artifact a = al.get( 0 );
+
+ writer.writeArtifact( al );
+
+ File aBin = new File( localRepoBase, "a/a/4/a-4.jar" );
+ assertTrue( aBin.exists() );
+
+ File aPom = new File( localRepoBase, "a/a/4/a-4.pom" );
+ assertTrue( aPom.exists() );
+
+System.out.println("local repo is in "+localRepoBase);
+ }
+
+}
Modified: maven/sandbox/trunk/mercury/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/pom.xml?rev=698064&r1=698063&r2=698064&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/pom.xml (original)
+++ maven/sandbox/trunk/mercury/pom.xml Mon Sep 22 19:02:24 2008
@@ -24,8 +24,8 @@
</build>
<properties>
- <distMgmtSnapshotsName>CI Snapshot Repository</distMgmtSnapshotsName>
- <distMgmtSnapshotsUrl>http://localhost:8081/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
+ <distMgmtSnapshotsName>Maven Snapshot Repository</distMgmtSnapshotsName>
+ <distMgmtSnapshotsUrl>http://repository.sonatype.org/content/repositories/maven.snapshots</distMgmtSnapshotsUrl>
</properties>
<distributionManagement>
@@ -37,4 +37,4 @@
</distributionManagement>
-</project>
\ No newline at end of file
+</project>