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>