blob: aebac294b8f8858205b9b5569db43ebc4cf79c38 [file] [log] [blame]
/*
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.
*/
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;
import org.apache.maven.mercury.MavenDependencyProcessor;
import org.apache.maven.mercury.artifact.Artifact;
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
import org.apache.maven.mercury.artifact.DefaultArtifact;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
import org.apache.maven.mercury.repository.api.ArtifactResults;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
import org.apache.maven.mercury.transport.api.Credentials;
import org.apache.maven.mercury.transport.api.Server;
import org.apache.maven.mercury.util.FileUtil;
import org.codehaus.plexus.PlexusTestCase;
/**
* This set of UTs covers a comprehensive use case,
* involving majority of Mercury repository functionality
*
* @author Oleg Gusakov
* @version $Id$
*
*/
public class ComprehensiveRepositoryTest
extends PlexusTestCase
{
WebDavServer _server1;
File _base1;
static final String _context1 = "/webdav1";
int _port1;
RemoteRepositoryM2 _rr1;
WebDavServer _server2;
File _base2;
static final String _context2 = "/webdav2";
int _port2;
RemoteRepositoryM2 _rr2;
File _lbase1;
static final String _local1 = "./target/webdav1local";
LocalRepositoryM2 _lr1;
File _lbase2;
static final String _local2 = "./target/webdav2local";
LocalRepositoryM2 _lr2;
static final String _resourceBase = "./target/test-classes";
List<Repository> _rrs;
List<Repository> _lrs;
List<Repository> _repos;
private static final boolean isWindows = File.pathSeparatorChar == ';';
@Override
protected void setUp()
throws Exception
{
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" + temp.getName() );
// FileUtil.delete( _base1 );
assertFalse( _base1.exists() );
_base1.mkdirs();
_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 );
temp = File.createTempFile( prefix, suffix );
_base2 = new File( "./target/webdav2" + temp.getName() );
// FileUtil.delete( _base2 );
assertFalse( _base2.exists() );
_base2.mkdirs();
_base2.deleteOnExit();
_server2 = new WebDavServer( 0, _base2, _context2, getContainer(), 9, null, _base2.getCanonicalPath() );
_server2.start();
_port2 = _server2.getPort();
server = new Server("rr2", new URL("http://localhost:"+_port2+_context2), false, false, user );
_rr2 = new RemoteRepositoryM2( server, dp );
_rrs = new ArrayList<Repository>(2);
_rrs.add( _rr1 );
_rrs.add( _rr2 );
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 );
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);
_lrs.add( _lr1 );
_lrs.add( _lr2 );
_repos = new ArrayList<Repository>();
_repos.addAll( _rrs );
_repos.addAll( _lrs );
}
@Override
protected void tearDown()
throws Exception
{
super.tearDown();
if( _server1 != null )
try
{
_server1.stop();
_server1.destroy();
}
catch( Exception e ) {}
finally { _server1 = null; }
if( _server2 != null )
try
{
_server2.stop();
_server2.destroy();
}
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 );
System.out.println("dropping "+f.getAbsolutePath() );
}
}
public void writeArtifact( String name, File af, File ap, Repository repo, File expectedFile )
throws Exception
{
DefaultArtifact da = new DefaultArtifact( new ArtifactBasicMetadata(name) );
da.setPomBlob( FileUtil.readRawData( ap ) );
da.setFile( af );
List<Artifact> al = new ArrayList<Artifact>();
al.add( da );
repo.getWriter().writeArtifacts( al );
int count = 10;
if( expectedFile != null )
{
while( ! expectedFile.exists() && count > 0 )
{
// if( isWindows )
Thread.sleep( 1000L );
count--;
}
}
}
public List<Artifact> readArtifact( String name , List<Repository> repos )
throws Exception
{
ArtifactBasicMetadata bmd = new ArtifactBasicMetadata(name);
List<ArtifactBasicMetadata> al = new ArrayList<ArtifactBasicMetadata>();
al.add( bmd );
VirtualRepositoryReader vr = new VirtualRepositoryReader( repos );
ArtifactResults res = vr.readArtifacts( al );
assertNotNull( res );
if( res.hasExceptions() )
System.out.println( res.getExceptions() );
assertTrue( res.hasResults(bmd) );
return res.getResults( bmd );
}
public List<ArtifactBasicMetadata> readVersions( String name , List<Repository> repos )
throws Exception
{
ArtifactBasicMetadata bmd = new ArtifactBasicMetadata(name);
List<ArtifactBasicMetadata> al = new ArrayList<ArtifactBasicMetadata>();
al.add( bmd );
VirtualRepositoryReader vr = new VirtualRepositoryReader( repos );
ArtifactBasicResults res = vr.readVersions( al );
assertNotNull( res );
if( res.hasExceptions() )
System.out.println( res.getExceptions() );
assertTrue( res.hasResults(bmd) );
return res.getResult( bmd );
}
public void testWriteReadArtifact()
throws Exception
{
String name = "org.apache.maven:maven-core:2.0.9";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar1 = new File( _base1, "org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar");
File aJar2 = new File( _base2, "org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar");
assertFalse( aJar1.exists() );
assertFalse( aJar2.exists() );
writeArtifact( name, af, ap, _rr2, aJar2 );
assertFalse( aJar1.exists() );
assertTrue( aJar2.exists() );
List<Artifact> al = readArtifact( name, _rrs );
System.out.println(al);
File localRepo1Jar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar" );
File localRepo2Jar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar" );
assertFalse( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
al = readArtifact( name, _repos );
assertTrue( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
}
public void testWriteReadTimeStamp()
throws Exception
{
String name = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar1 = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
File aJar2 = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
assertFalse( aJar1.exists() );
assertFalse( aJar2.exists() );
writeArtifact( name, af, ap, _rr2, aJar2 );
assertFalse( aJar1.exists() );
assertTrue( aJar2.exists() );
List<Artifact> al = readArtifact( name, _rrs );
System.out.println(al);
File localRepo1Jar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar" );
File localRepo2Jar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar" );
assertFalse( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
al = readArtifact( name, _repos );
assertTrue( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
}
public void testWriteReadLocalTimeStamp()
throws Exception
{
String name = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
// ArtifactBasicMetadata bmd = new ArtifactBasicMetadata( name );
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar1 = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
File aJar2 = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
assertFalse( aJar1.exists() );
assertFalse( aJar2.exists() );
writeArtifact( name, af, ap, _lr2, aJar2 );
assertFalse( aJar1.exists() );
assertTrue( aJar2.exists() );
List<Artifact> al = readArtifact( name, _repos );
System.out.println(al);
File localRepo1Jar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar" );
File localRepo2Jar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar" );
assertTrue( localRepo1Jar.exists() );
assertTrue( localRepo2Jar.exists() );
}
public void testWriteReadSnapshot()
throws Exception
{
String name = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar1 = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar");
File aJar2 = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar");
assertFalse( aJar1.exists() );
assertFalse( aJar2.exists() );
writeArtifact( name, af, ap, _rr2, aJar2 );
assertFalse( aJar1.exists() );
assertTrue( aJar2.exists() );
List<Artifact> al = readArtifact( name, _rrs );
System.out.println(al);
File localRepo1Jar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar" );
File localRepo2Jar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar" );
assertFalse( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
al = readArtifact( name, _repos );
assertTrue( localRepo1Jar.exists() );
assertFalse( localRepo2Jar.exists() );
}
public void testWriteReadSnapshotLocal()
throws Exception
{
String name = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar1 = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar");
File aJar2 = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-SNAPSHOT.jar");
assertFalse( aJar1.exists() );
assertFalse( aJar2.exists() );
writeArtifact( name, af, ap, _lr2, aJar2 );
assertFalse( aJar1.exists() );
assertTrue( aJar2.exists() );
List<Artifact> al = readArtifact( name, _lrs );
assertTrue( aJar1.exists() );
assertTrue( aJar2.exists() );
}
public void testWriteTimestampReadSnapshotSingleRepo()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameSN = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr2, aJar );
aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _rr2, aJar );
List<Artifact> al = readArtifact( nameSN, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-20090204.232324-24", aSN.getVersion() );
}
public void testWriteTimestampReadSnapshotSingleRepoSN()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameSN = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr2, aJar );
writeArtifact( nameTS2, af, ap, _rr2, null );
writeArtifact( nameSN, af, ap, _rr2, null );
List<ArtifactBasicMetadata> vl = readVersions( nameSN, _rrs );
System.out.println(vl);
assertNotNull( vl );
assertEquals( 1, vl.size() );
List<Artifact> al = readArtifact( nameSN, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-SNAPSHOT", aSN.getVersion() );
}
public void testWriteTimestampReadSnapshot2Repos()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameSN = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr2, aJar );
aJar = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _rr1, aJar );
List<ArtifactBasicMetadata> vl = readVersions( nameSN, _rrs );
System.out.println(vl);
assertNotNull( vl );
assertEquals( 1, vl.size() );
List<Artifact> al = readArtifact( nameSN, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-20090204.232324-24", aSN.getVersion() );
}
public void testWriteTimestampReadSnapshot2ReposReversed()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameSN = "org.apache.maven:maven-core:2.0.9-SNAPSHOT";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr1, aJar );
aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _rr2, aJar );
List<ArtifactBasicMetadata> vl = readVersions( nameSN, _rrs );
System.out.println(vl);
assertNotNull( vl );
assertEquals( 1, vl.size() );
List<Artifact> al = readArtifact( nameSN, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-20090204.232324-24", aSN.getVersion() );
}
public void testLatest()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameRL = "org.apache.maven:maven-core:2.0.8";
String nameLT = "org.apache.maven:maven-core:LATEST";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr2, aJar );
aJar = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _rr1, aJar );
aJar = new File( _base2, "org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.jar");
writeArtifact( nameRL, af, ap, _rr2, aJar );
List<Artifact> al = readArtifact( nameLT, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-20090204.232324-24", aSN.getVersion() );
}
public void testLatestLocal()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameRL = "org.apache.maven:maven-core:2.0.8";
String nameLT = "org.apache.maven:maven-core:LATEST";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _lr2, aJar );
aJar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _lr1, aJar );
aJar = new File( _lbase2, "org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.jar");
writeArtifact( nameRL, af, ap, _lr2, aJar );
List<Artifact> al = readArtifact( nameLT, _lrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.9-20090204.232324-24", aSN.getVersion() );
}
public void testRelease()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameRL = "org.apache.maven:maven-core:2.0.8";
String name = "org.apache.maven:maven-core:RELEASE";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _base2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _rr2, aJar );
aJar = new File( _base1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _rr1, aJar );
aJar = new File( _base2, "org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.jar");
writeArtifact( nameRL, af, ap, _rr2, aJar );
List<Artifact> al = readArtifact( name, _rrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.8", aSN.getVersion() );
}
public void testReleaseLocal()
throws Exception
{
String nameTS1 = "org.apache.maven:maven-core:2.0.9-20090204.232323-23";
String nameTS2 = "org.apache.maven:maven-core:2.0.9-20090204.232324-24";
String nameRL = "org.apache.maven:maven-core:2.0.8";
String name = "org.apache.maven:maven-core:RELEASE";
File af = new File( _resourceBase, "maven-core-2.0.9.jar" );
File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
File aJar = new File( _lbase2, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232323-23.jar");
writeArtifact( nameTS1, af, ap, _lr2, aJar );
aJar = new File( _lbase1, "org/apache/maven/maven-core/2.0.9-SNAPSHOT/maven-core-2.0.9-20090204.232324-24.jar");
writeArtifact( nameTS2, af, ap, _lr1, aJar );
aJar = new File( _lbase2, "org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.jar");
writeArtifact( nameRL, af, ap, _lr2, aJar );
List<Artifact> al = readArtifact( name, _lrs );
System.out.println(al);
assertNotNull( al );
assertEquals( 1, al.size() );
Artifact aSN = al.get( 0 );
assertNotNull( aSN.getFile() );
assertTrue( aSN.getFile().exists() );
assertEquals( "2.0.8", aSN.getVersion() );
}
}