1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.internal.impl;
20
21 import java.util.Arrays;
22 import java.util.List;
23
24 import org.eclipse.aether.DefaultRepositorySystemSession;
25 import org.eclipse.aether.internal.test.util.TestUtils;
26 import org.eclipse.aether.repository.Authentication;
27 import org.eclipse.aether.repository.Proxy;
28 import org.eclipse.aether.repository.RemoteRepository;
29 import org.eclipse.aether.util.repository.AuthenticationBuilder;
30 import org.eclipse.aether.util.repository.DefaultAuthenticationSelector;
31 import org.eclipse.aether.util.repository.DefaultMirrorSelector;
32 import org.eclipse.aether.util.repository.DefaultProxySelector;
33 import org.junit.Before;
34 import org.junit.Test;
35
36 import static org.junit.Assert.*;
37
38 public class DefaultRepositorySystemTest {
39
40 private DefaultRepositorySystem system;
41
42 private DefaultRepositorySystemSession session;
43
44 @Before
45 public void init() {
46 DefaultRemoteRepositoryManager remoteRepoManager = new DefaultRemoteRepositoryManager();
47 system = new DefaultRepositorySystem();
48 system.setRemoteRepositoryManager(remoteRepoManager);
49 session = TestUtils.newSession();
50 }
51
52 @Test
53 public void testNewResolutionRepositories() {
54 Proxy proxy = new Proxy("http", "localhost", 8080);
55 DefaultProxySelector proxySelector = new DefaultProxySelector();
56 proxySelector.add(proxy, null);
57 session.setProxySelector(proxySelector);
58
59 Authentication auth = new AuthenticationBuilder().addUsername("user").build();
60 DefaultAuthenticationSelector authSelector = new DefaultAuthenticationSelector();
61 authSelector.add("mirror", auth);
62 authSelector.add("test-2", auth);
63 session.setAuthenticationSelector(authSelector);
64
65 DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
66 mirrorSelector.add("mirror", "http:void", "default", false, "test-1", null);
67 session.setMirrorSelector(mirrorSelector);
68
69 RemoteRepository rawRepo1 = new RemoteRepository.Builder("test-1", "default", "http://void").build();
70 RemoteRepository rawRepo2 = new RemoteRepository.Builder("test-2", "default", "http://null").build();
71 List<RemoteRepository> resolveRepos =
72 system.newResolutionRepositories(session, Arrays.asList(rawRepo1, rawRepo2));
73 assertNotNull(resolveRepos);
74 assertEquals(2, resolveRepos.size());
75 RemoteRepository resolveRepo = resolveRepos.get(0);
76 assertNotNull(resolveRepo);
77 assertEquals("mirror", resolveRepo.getId());
78 assertSame(proxy, resolveRepo.getProxy());
79 assertSame(auth, resolveRepo.getAuthentication());
80 resolveRepo = resolveRepos.get(1);
81 assertNotNull(resolveRepo);
82 assertEquals("test-2", resolveRepo.getId());
83 assertSame(proxy, resolveRepo.getProxy());
84 assertSame(auth, resolveRepo.getAuthentication());
85 }
86
87 @Test
88 public void testNewDeploymentRepository() {
89 Proxy proxy = new Proxy("http", "localhost", 8080);
90 DefaultProxySelector proxySelector = new DefaultProxySelector();
91 proxySelector.add(proxy, null);
92 session.setProxySelector(proxySelector);
93
94 Authentication auth = new AuthenticationBuilder().addUsername("user").build();
95 DefaultAuthenticationSelector authSelector = new DefaultAuthenticationSelector();
96 authSelector.add("test", auth);
97 session.setAuthenticationSelector(authSelector);
98
99 DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
100 mirrorSelector.add("mirror", "file:void", "default", false, "*", null);
101 session.setMirrorSelector(mirrorSelector);
102
103 RemoteRepository rawRepo = new RemoteRepository.Builder("test", "default", "http://void").build();
104 RemoteRepository deployRepo = system.newDeploymentRepository(session, rawRepo);
105 assertNotNull(deployRepo);
106 assertSame(proxy, deployRepo.getProxy());
107 assertSame(auth, deployRepo.getAuthentication());
108 }
109 }