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