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