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 javax.inject.Inject;
22
23 import java.net.MalformedURLException;
24
25 import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
26 import org.apache.maven.repository.internal.util.ConsoleTransferListener;
27 import org.eclipse.aether.DefaultRepositorySystemSession;
28 import org.eclipse.aether.RepositorySystem;
29 import org.eclipse.aether.RepositorySystemSession;
30 import org.eclipse.aether.repository.LocalRepository;
31 import org.eclipse.aether.repository.RemoteRepository;
32 import org.junit.jupiter.api.BeforeEach;
33
34 import static org.codehaus.plexus.testing.PlexusExtension.getTestFile;
35
36 public abstract class AbstractRepositoryTest {
37
38 @Inject
39 protected RepositorySystem system;
40
41 protected RepositorySystemSession session;
42
43 @BeforeEach
44 protected void setUp() throws Exception {
45 session = newMavenRepositorySystemSession(system);
46 }
47
48 public static RepositorySystemSession newMavenRepositorySystemSession(RepositorySystem system) {
49 DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
50
51 LocalRepository localRepo = new LocalRepository("target/local-repo");
52 session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
53
54 session.setTransferListener(new ConsoleTransferListener());
55 session.setRepositoryListener(new ConsoleRepositoryListener());
56
57 return session;
58 }
59
60 public static RemoteRepository newTestRepository() throws MalformedURLException {
61 return new RemoteRepository.Builder(
62 "repo",
63 "default",
64 getTestFile("target/test-classes/repo").toURI().toURL().toString())
65 .build();
66 }
67 }