1 package org.apache.maven.repository.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.net.MalformedURLException;
23
24 import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
25 import org.apache.maven.repository.internal.util.ConsoleTransferListener;
26 import org.codehaus.plexus.ContainerConfiguration;
27 import org.codehaus.plexus.PlexusConstants;
28 import org.codehaus.plexus.PlexusTestCase;
29 import org.eclipse.aether.DefaultRepositorySystemSession;
30 import org.eclipse.aether.RepositorySystem;
31 import org.eclipse.aether.RepositorySystemSession;
32 import org.eclipse.aether.repository.LocalRepository;
33 import org.eclipse.aether.repository.RemoteRepository;
34
35 public abstract class AbstractRepositoryTestCase
36 extends PlexusTestCase
37 {
38 protected RepositorySystem system;
39
40 protected RepositorySystemSession session;
41
42 @Override
43 protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
44 {
45 super.customizeContainerConfiguration( containerConfiguration );
46 containerConfiguration.setAutoWiring( true );
47 containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
48 }
49
50 @Override
51 protected void setUp()
52 throws Exception
53 {
54 super.setUp();
55 system = lookup( RepositorySystem.class );
56 session = newMavenRepositorySystemSession( system );
57 }
58
59 @Override
60 protected void tearDown()
61 throws Exception
62 {
63 session = null;
64 system = null;
65 super.tearDown();
66 }
67
68 public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
69 {
70 DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
71
72 LocalRepository localRepo = new LocalRepository( "target/local-repo" );
73 session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) );
74
75 session.setTransferListener( new ConsoleTransferListener() );
76 session.setRepositoryListener( new ConsoleRepositoryListener() );
77
78 return session;
79 }
80
81 public static RemoteRepository newTestRepository()
82 throws MalformedURLException
83 {
84 return new RemoteRepository.Builder( "repo", "default",
85 getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() ).build();
86 }
87 }