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 2009/02/10 21:32:55 UTC

svn commit: r743092 - in /maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests: ComprehensiveRepositoryTest.java DavServerTest.java RemoteRepositoryWriterM2Test.java WebDavServer.java

Author: ogusakov
Date: Tue Feb 10 20:32:54 2009
New Revision: 743092

URL: http://svn.apache.org/viewvc?rev=743092&view=rev
Log:
[MERCURY-69] avoiding leaked temp. files by hacks for now, will fix in alpha-6

Modified:
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/DavServerTest.java
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2Test.java
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/WebDavServer.java

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java?rev=743092&r1=743091&r2=743092&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java Tue Feb 10 20:32:54 2009
@@ -20,6 +20,7 @@
 package org.apache.maven.mercury.repository.tests;
 
 import java.io.File;
+import java.io.FilenameFilter;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -84,23 +85,32 @@
     {
         super.setUp();
         
+        String prefix = "-t-";
+        String suffix = "-t";
+        File temp = File.createTempFile( prefix, suffix );
+        
         DependencyProcessor dp = new MavenDependencyProcessor();
         Credentials user = new Credentials("foo","bar");
         
-        _base1 = new File( "./target/webdav1" );
-        FileUtil.delete( _base1 );
+        _base1 = new File( "./target/webdav1" + temp.getName() );
+//        FileUtil.delete( _base1 );
+        assertFalse( _base1.exists() );
         _base1.mkdirs();
-        _server1 = new WebDavServer( 0, _base1, _context1, getContainer(), 9, "mercury-test-1" );
+        _base1.deleteOnExit();
+        _server1 = new WebDavServer( 0, _base1, _context1, getContainer(), 9, null, _base1.getCanonicalPath() );
         _server1.start();
         _port1 = _server1.getPort();
         
         Server server = new Server("rr1", new URL("http://localhost:"+_port1+_context1), false, false, user );
         _rr1 = new RemoteRepositoryM2( server, dp );
         
-        _base2 = new File( "./target/webdav2" );
-        FileUtil.delete( _base2 );
+        temp = File.createTempFile( prefix, suffix );
+        _base2 = new File( "./target/webdav2" + temp.getName() );
+//        FileUtil.delete( _base2 );
+        assertFalse( _base2.exists() );
         _base2.mkdirs();
-        _server2 = new WebDavServer( 0, _base2, _context2, getContainer(), 9, "mercury-test-2" );
+        _base2.deleteOnExit();
+        _server2 = new WebDavServer( 0, _base2, _context2, getContainer(), 9, null, _base2.getCanonicalPath() );
         _server2.start();
         _port2 = _server2.getPort();
         
@@ -111,14 +121,20 @@
         _rrs.add( _rr1 );
         _rrs.add( _rr2 );
         
-        _lbase1 = new File( _local1 );
-        FileUtil.delete( _lbase1 );
-        _lbase1.mkdirs();
+        temp = File.createTempFile( prefix, suffix );
+        _lbase1 = new File( _local1 + temp.getName() );
+//        FileUtil.delete( _lbase1 );
+        assertFalse( _lbase1.exists() );
+        _lbase1.mkdirs() ;
+        _lbase1.deleteOnExit();
         _lr1 = new LocalRepositoryM2( "lr1", _lbase1, dp );
         
-        _lbase2 = new File( _local2 );
-        FileUtil.delete( _lbase2 );
+        temp = File.createTempFile( prefix, suffix );
+        _lbase2 = new File( _local2 + temp.getName() );
+//        FileUtil.delete( _lbase2 );
+        assertFalse( _lbase2.exists() );
         _lbase2.mkdirs();
+        _lbase2.deleteOnExit();
         _lr2 = new LocalRepositoryM2( "lr2", _lbase2, dp );
         
         _lrs = new ArrayList<Repository>(2);
@@ -153,6 +169,24 @@
             }
             catch( Exception e ) {}
             finally { _server2 = null; }
+            
+       File target = new File( "target" );
+       File [] files = target.listFiles(
+                           new FilenameFilter()
+                           {
+
+                            public boolean accept( File dir, String name )
+                            {
+                                if( name.startsWith( "webdav" ))
+                                    return true;
+                                return false;
+                            }
+                               
+                           }
+                                       );
+       
+       for( File f : files )
+           FileUtil.delete( f );
     }
     
     public void writeArtifact( String name, File af, File ap, Repository repo )

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/DavServerTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/DavServerTest.java?rev=743092&r1=743091&r2=743092&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/DavServerTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/DavServerTest.java Tue Feb 10 20:32:54 2009
@@ -47,8 +47,6 @@
 public class DavServerTest
 extends PlexusTestCase
 {
-    static final String _davContext = "/webdav";
-    
     static final String _user = "foo";
     
     static final String _pass = "bar";
@@ -58,7 +56,17 @@
     File _base;
     
     RemoteRepositoryM2 _davRepo;
+    
+    WebDavServer _dav2;
+    
+    File _base2;
+    
+    RemoteRepositoryM2 _davRepo2;
 
+    static final String _davContext = "/webdav";
+    
+    static final String _davContext2 = "/webdav2test";
+    
     //---------------------------------------------------------------------------------------------
     protected void setUp()
     throws Exception
@@ -69,9 +77,11 @@
         
         FileUtil.delete( _base );
         
+        assertFalse( _base.exists() );
+        
         _base.mkdirs();
         
-        _dav = new WebDavServer( 0, _base, _davContext, getContainer(), 9, "mercury-test" );
+        _dav = new WebDavServer( 0, _base, _davContext, getContainer(), 9, "mercury-test", null );
         
         _dav.start();
         
@@ -82,6 +92,30 @@
         System.out.println("URL: "+server.getURL() );
         
         _davRepo = new RemoteRepositoryM2( server, new MavenDependencyProcessor() );
+        
+        setUp2();
+    }
+    //---------------------------------------------------------------------------------------------
+    protected void setUp2()
+    throws Exception
+    {
+        _base2 = new File( "./target", _davContext2 );
+        
+        FileUtil.delete( _base2 );
+        
+        _base2.mkdirs();
+        
+        _dav2 = new WebDavServer( 0, _base2, _davContext2, getContainer(), 9, null, _base2.getAbsolutePath() );
+        
+        _dav2.start();
+        
+        Credentials user = new Credentials(_user,_pass);
+        
+        Server server = new Server("dav2", new URL("http://localhost:"+_dav2.getPort()+_davContext2), false, false, user );
+        
+        System.out.println("URL: "+server.getURL() );
+        
+        _davRepo2 = new RemoteRepositoryM2( server, new MavenDependencyProcessor() );
     }
     //---------------------------------------------------------------------------------------------
     protected void tearDown()
@@ -95,6 +129,13 @@
             _dav.destroy();
             _dav = null;
         }  
+        
+        if( _dav2 != null )
+        {
+            _dav2.stop();
+            _dav2.destroy();
+            _dav2 = null;
+        }  
     }
     //---------------------------------------------------------------------------------------------
     public void testDavWrite()
@@ -162,4 +203,69 @@
         assertEquals( "test-pom".length(), a.getFile().length() );
     }
     //---------------------------------------------------------------------------------------------
+    public void testDavWrite2()
+    throws Exception
+    {
+        File jar = new File("./target/test.jar");
+        FileUtil.writeRawData( jar, "test-jar" );
+
+        File pom = new File("./target/test.pom");
+        FileUtil.writeRawData( pom, "test-pom" );
+
+        DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata("a:test:1.0") );
+        da.setFile( jar );
+        da.setPomBlob( FileUtil.readRawData( pom ) );
+
+        List<Artifact> al = new ArrayList<Artifact>( 8 );
+        al.add( da );
+
+        RepositoryWriter rw = _davRepo2.getWriter();
+
+        rw.writeArtifacts( al );
+
+        File davJar = new File( _base2, "a/test/1.0/test-1.0.jar" );
+
+        assertTrue( davJar.exists() );
+        
+        assertEquals( jar.length(), davJar.length() );
+    }
+    //---------------------------------------------------------------------------------------------
+    public void testDavRead2()
+    throws Exception
+    {
+        testDavWrite2();
+        
+        ArtifactBasicMetadata bmd = new ArtifactBasicMetadata("a:test:1.0");
+        
+        List<ArtifactBasicMetadata> query = new ArrayList<ArtifactBasicMetadata>( 1 );
+
+        query.add( bmd );
+        
+        RepositoryReader rr = _davRepo2.getReader();
+        
+        ArtifactResults res = rr.readArtifacts( query );
+        
+        assertNotNull( res );
+        
+        assertFalse( res.hasExceptions() );
+        
+        assertTrue( res.hasResults() );
+        
+        List<Artifact> al = res.getResults( bmd );
+        
+        assertNotNull( al );
+        
+        assertFalse( al.isEmpty() );
+        
+        Artifact a = al.get( 0 );
+
+        assertNotNull( a );
+
+        assertNotNull( a.getFile() );
+
+        assertTrue( a.getFile().exists() );
+
+        assertEquals( "test-pom".length(), a.getFile().length() );
+    }
+    //---------------------------------------------------------------------------------------------
 }

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2Test.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2Test.java?rev=743092&r1=743091&r2=743092&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2Test.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryWriterM2Test.java Tue Feb 10 20:32:54 2009
@@ -79,7 +79,7 @@
 
       targetDirectory.mkdirs();
       
-      _dav = new WebDavServer( 0, targetDirectory, _davContext, getContainer(), 9, baseHint );
+      _dav = new WebDavServer( 0, targetDirectory, _davContext, getContainer(), 9, baseHint, null );
       
       _dav.start();
       

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/WebDavServer.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/WebDavServer.java?rev=743092&r1=743091&r2=743092&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/WebDavServer.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/WebDavServer.java Tue Feb 10 20:32:54 2009
@@ -51,6 +51,7 @@
                          , PlexusContainer container
                          , int debugLevel
                          , String fileCollectionHint
+                         , String fileCollectionBase
                          )
     throws Exception
     {
@@ -81,7 +82,11 @@
         context.setAttribute( PlexusConstants.PLEXUS_KEY, container );
         context.setResourceBase( base.getCanonicalPath() );
         
-        context.setAttribute( "resourceCollectionHint", fileCollectionHint );
+        if( fileCollectionBase != null )
+            context.setAttribute( "resourceCollectionBase", fileCollectionBase );
+        else
+            context.setAttribute( "resourceCollectionHint", fileCollectionHint );
+
         context.setAttribute( "debug", debugLevel+"" );
 
 //        Map<String,String> initParams = new HashMap<String, String>(8);