1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.transformation;
20
21 import javax.inject.Inject;
22
23 import java.net.MalformedURLException;
24
25 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
26 import org.codehaus.plexus.PlexusContainer;
27 import org.codehaus.plexus.testing.PlexusTest;
28 import org.eclipse.aether.DefaultRepositorySystemSession;
29 import org.eclipse.aether.RepositoryListener;
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 import org.eclipse.aether.transfer.TransferListener;
35 import org.junit.jupiter.api.BeforeEach;
36 import org.mockito.Mockito;
37
38 import static org.codehaus.plexus.testing.PlexusExtension.getTestFile;
39
40 @PlexusTest
41 public abstract class AbstractRepositoryTestCase {
42 @Inject
43 protected RepositorySystem system;
44
45 @Inject
46 protected PlexusContainer container;
47
48 protected RepositorySystemSession session;
49
50 @BeforeEach
51 public void setUp() throws Exception {
52 session = newMavenRepositorySystemSession(system);
53 }
54
55 protected PlexusContainer getContainer() {
56 return container;
57 }
58
59 public static RepositorySystemSession newMavenRepositorySystemSession(RepositorySystem system) {
60 DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
61
62 LocalRepository localRepo = new LocalRepository("target/local-repo");
63 session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
64
65 session.setTransferListener(Mockito.mock(TransferListener.class));
66 session.setRepositoryListener(Mockito.mock(RepositoryListener.class));
67
68 return session;
69 }
70
71 public static RemoteRepository newTestRepository() throws MalformedURLException {
72 return new RemoteRepository.Builder(
73 "repo",
74 "default",
75 getTestFile("target/test-classes/repo").toURI().toURL().toString())
76 .build();
77 }
78 }