1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.repository;
20
21 import java.util.ArrayList;
22 import java.util.Arrays;
23 import java.util.List;
24 import java.util.Map;
25
26 import org.eclipse.aether.repository.RemoteRepository.Builder;
27 import org.junit.Before;
28 import org.junit.Test;
29
30 import static org.junit.Assert.*;
31
32 public class RemoteRepositoryBuilderTest {
33
34 private RemoteRepository prototype;
35
36 @Before
37 public void init() {
38 prototype = new Builder("id", "type", "file:void").build();
39 }
40
41 @Test
42 public void testReusePrototype() {
43 Builder builder = new Builder(prototype);
44 assertSame(prototype, builder.build());
45 }
46
47 @Test(expected = NullPointerException.class)
48 public void testPrototypeMandatory() {
49 new Builder(null);
50 }
51
52 @Test
53 public void testSetId() {
54 Builder builder = new Builder(prototype);
55 RemoteRepository repo = builder.setId(prototype.getId()).build();
56 assertSame(prototype, repo);
57 repo = builder.setId("new-id").build();
58 assertEquals("new-id", repo.getId());
59 }
60
61 @Test
62 public void testSetContentType() {
63 Builder builder = new Builder(prototype);
64 RemoteRepository repo =
65 builder.setContentType(prototype.getContentType()).build();
66 assertSame(prototype, repo);
67 repo = builder.setContentType("new-type").build();
68 assertEquals("new-type", repo.getContentType());
69 }
70
71 @Test
72 public void testSetUrl() {
73 Builder builder = new Builder(prototype);
74 RemoteRepository repo = builder.setUrl(prototype.getUrl()).build();
75 assertSame(prototype, repo);
76 repo = builder.setUrl("file:new").build();
77 assertEquals("file:new", repo.getUrl());
78 }
79
80 @Test
81 public void testSetPolicy() {
82 Builder builder = new Builder(prototype);
83 RemoteRepository repo = builder.setPolicy(prototype.getPolicy(false)).build();
84 assertSame(prototype, repo);
85 RepositoryPolicy policy = new RepositoryPolicy(true, "never", "fail");
86 repo = builder.setPolicy(policy).build();
87 assertEquals(policy, repo.getPolicy(true));
88 assertEquals(policy, repo.getPolicy(false));
89 }
90
91 @Test
92 public void testSetReleasePolicy() {
93 Builder builder = new Builder(prototype);
94 RemoteRepository repo =
95 builder.setReleasePolicy(prototype.getPolicy(false)).build();
96 assertSame(prototype, repo);
97 RepositoryPolicy policy = new RepositoryPolicy(true, "never", "fail");
98 repo = builder.setReleasePolicy(policy).build();
99 assertEquals(policy, repo.getPolicy(false));
100 assertEquals(prototype.getPolicy(true), repo.getPolicy(true));
101 }
102
103 @Test
104 public void testSetSnapshotPolicy() {
105 Builder builder = new Builder(prototype);
106 RemoteRepository repo =
107 builder.setSnapshotPolicy(prototype.getPolicy(true)).build();
108 assertSame(prototype, repo);
109 RepositoryPolicy policy = new RepositoryPolicy(true, "never", "fail");
110 repo = builder.setSnapshotPolicy(policy).build();
111 assertEquals(policy, repo.getPolicy(true));
112 assertEquals(prototype.getPolicy(false), repo.getPolicy(false));
113 }
114
115 @Test
116 public void testSetProxy() {
117 Builder builder = new Builder(prototype);
118 RemoteRepository repo = builder.setProxy(prototype.getProxy()).build();
119 assertSame(prototype, repo);
120 Proxy proxy = new Proxy("http", "localhost", 8080);
121 repo = builder.setProxy(proxy).build();
122 assertEquals(proxy, repo.getProxy());
123 }
124
125 @Test
126 public void testSetAuthentication() {
127 Builder builder = new Builder(prototype);
128 RemoteRepository repo =
129 builder.setAuthentication(prototype.getAuthentication()).build();
130 assertSame(prototype, repo);
131 Authentication auth = new Authentication() {
132 public void fill(AuthenticationContext context, String key, Map<String, String> data) {}
133
134 public void digest(AuthenticationDigest digest) {}
135 };
136 repo = builder.setAuthentication(auth).build();
137 assertEquals(auth, repo.getAuthentication());
138 }
139
140 @Test
141 public void testSetMirroredRepositories() {
142 Builder builder = new Builder(prototype);
143 RemoteRepository repo = builder.setMirroredRepositories(prototype.getMirroredRepositories())
144 .build();
145 assertSame(prototype, repo);
146 List<RemoteRepository> mirrored = new ArrayList<>(Arrays.asList(repo));
147 repo = builder.setMirroredRepositories(mirrored).build();
148 assertEquals(mirrored, repo.getMirroredRepositories());
149 }
150
151 @Test
152 public void testAddMirroredRepository() {
153 Builder builder = new Builder(prototype);
154 RemoteRepository repo = builder.addMirroredRepository(null).build();
155 assertSame(prototype, repo);
156 repo = builder.addMirroredRepository(prototype).build();
157 assertEquals(Arrays.asList(prototype), repo.getMirroredRepositories());
158 }
159
160 @Test
161 public void testSetRepositoryManager() {
162 Builder builder = new Builder(prototype);
163 RemoteRepository repo =
164 builder.setRepositoryManager(prototype.isRepositoryManager()).build();
165 assertSame(prototype, repo);
166 repo = builder.setRepositoryManager(!prototype.isRepositoryManager()).build();
167 assertEquals(!prototype.isRepositoryManager(), repo.isRepositoryManager());
168 }
169 }