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 java.util.Arrays;
22 import java.util.List;
23
24 import org.eclipse.aether.artifact.Artifact;
25 import org.eclipse.aether.artifact.DefaultArtifact;
26 import org.eclipse.aether.collection.CollectRequest;
27 import org.eclipse.aether.collection.CollectResult;
28 import org.eclipse.aether.graph.Dependency;
29 import org.eclipse.aether.graph.DependencyNode;
30 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
31 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
32 import org.eclipse.aether.resolution.ArtifactRequest;
33 import org.eclipse.aether.resolution.ArtifactResult;
34 import org.junit.jupiter.api.Test;
35
36 import static org.junit.jupiter.api.Assertions.*;
37
38 class RepositorySystemTest extends AbstractRepositoryTestCase {
39 @Test
40 void testResolveVersionRange() throws Exception {
41
42
43
44 }
45
46 @Test
47 void testResolveVersion() throws Exception {
48
49
50 }
51
52 @Test
53 void testReadArtifactDescriptor() throws Exception {
54 Artifact artifact = new DefaultArtifact("ut.simple:artifact:extension:classifier:1.0");
55
56 ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
57 request.setArtifact(artifact);
58 request.addRepository(newTestRepository());
59
60 ArtifactDescriptorResult result = system.readArtifactDescriptor(session, request);
61
62 List<Dependency> deps = result.getDependencies();
63 assertEquals(2, deps.size());
64 checkUtSimpleArtifactDependencies(deps.get(0), deps.get(1));
65 }
66
67
68
69
70 private void checkUtSimpleArtifactDependencies(Dependency dep1, Dependency dep2) {
71 assertEquals("compile", dep1.getScope());
72 assertFalse(dep1.isOptional());
73 assertEquals(0, dep1.getExclusions().size());
74 Artifact depArtifact = dep1.getArtifact();
75 assertEquals("ut.simple", depArtifact.getGroupId());
76 assertEquals("dependency", depArtifact.getArtifactId());
77 assertEquals("1.0", depArtifact.getVersion());
78 assertEquals("1.0", depArtifact.getBaseVersion());
79 assertNull(depArtifact.getFile());
80 assertFalse(depArtifact.isSnapshot());
81 assertEquals("", depArtifact.getClassifier());
82 assertEquals("jar", depArtifact.getExtension());
83 assertEquals("java", depArtifact.getProperty("language", null));
84 assertEquals("jar", depArtifact.getProperty("type", null));
85 assertEquals("true", depArtifact.getProperty("constitutesBuildPath", null));
86 assertEquals("false", depArtifact.getProperty("includesDependencies", null));
87 assertEquals(4, depArtifact.getProperties().size());
88
89 assertEquals("compile", dep2.getScope());
90 assertFalse(dep2.isOptional());
91 assertEquals(0, dep2.getExclusions().size());
92 depArtifact = dep2.getArtifact();
93 assertEquals("ut.simple", depArtifact.getGroupId());
94 assertEquals("dependency", depArtifact.getArtifactId());
95 assertEquals("1.0", depArtifact.getVersion());
96 assertEquals("1.0", depArtifact.getBaseVersion());
97 assertNull(depArtifact.getFile());
98 assertFalse(depArtifact.isSnapshot());
99 assertEquals("sources", depArtifact.getClassifier());
100 assertEquals("jar", depArtifact.getExtension());
101 assertEquals("java", depArtifact.getProperty("language", null));
102 assertEquals(
103 "jar", depArtifact.getProperty("type", null));
104 assertEquals(
105 "true",
106 depArtifact.getProperty("constitutesBuildPath", null));
107 assertEquals("false", depArtifact.getProperty("includesDependencies", null));
108 assertEquals(4, depArtifact.getProperties().size());
109 }
110
111 @Test
112 void testCollectDependencies() throws Exception {
113 Artifact artifact = new DefaultArtifact("ut.simple:artifact:extension:classifier:1.0");
114
115
116 CollectRequest collectRequest = new CollectRequest();
117 collectRequest.setRoot(new Dependency(artifact, null));
118 collectRequest.addRepository(newTestRepository());
119
120 CollectResult collectResult = system.collectDependencies(session, collectRequest);
121
122 List<DependencyNode> nodes = collectResult.getRoot().getChildren();
123 assertEquals(2, nodes.size());
124 checkUtSimpleArtifactDependencies(
125 nodes.get(0).getDependency(), nodes.get(1).getDependency());
126 }
127
128 @Test
129 void testResolveArtifact() throws Exception {
130 Artifact artifact = new DefaultArtifact("ut.simple:artifact:1.0");
131
132 ArtifactRequest artifactRequest = new ArtifactRequest();
133 artifactRequest.setArtifact(artifact);
134 artifactRequest.addRepository(newTestRepository());
135
136 ArtifactResult artifactResult = system.resolveArtifact(session, artifactRequest);
137 checkArtifactResult(artifactResult, "artifact-1.0.jar");
138
139 artifact = new DefaultArtifact("ut.simple:artifact:zip:1.0");
140 artifactRequest.setArtifact(artifact);
141 artifactResult = system.resolveArtifact(session, artifactRequest);
142 checkArtifactResult(artifactResult, "artifact-1.0.zip");
143
144 artifact = new DefaultArtifact("ut.simple:artifact:zip:classifier:1.0");
145 artifactRequest.setArtifact(artifact);
146 artifactResult = system.resolveArtifact(session, artifactRequest);
147 checkArtifactResult(artifactResult, "artifact-1.0-classifier.zip");
148 }
149
150 private void checkArtifactResult(ArtifactResult result, String filename) {
151 assertFalse(result.isMissing());
152 assertTrue(result.isResolved());
153 Artifact artifact = result.getArtifact();
154 assertNotNull(artifact.getFile());
155 assertEquals(filename, artifact.getFile().getName());
156 }
157
158 @Test
159 void testResolveArtifacts() throws Exception {
160 ArtifactRequest req1 = new ArtifactRequest();
161 req1.setArtifact(new DefaultArtifact("ut.simple:artifact:1.0"));
162 req1.addRepository(newTestRepository());
163
164 ArtifactRequest req2 = new ArtifactRequest();
165 req2.setArtifact(new DefaultArtifact("ut.simple:artifact:zip:1.0"));
166 req2.addRepository(newTestRepository());
167
168 ArtifactRequest req3 = new ArtifactRequest();
169 req3.setArtifact(new DefaultArtifact("ut.simple:artifact:zip:classifier:1.0"));
170 req3.addRepository(newTestRepository());
171
172 List<ArtifactRequest> requests = Arrays.asList(req1, req2, req3);
173
174 List<ArtifactResult> results = system.resolveArtifacts(session, requests);
175
176 assertEquals(3, results.size());
177 checkArtifactResult(results.get(0), "artifact-1.0.jar");
178 checkArtifactResult(results.get(1), "artifact-1.0.zip");
179 checkArtifactResult(results.get(2), "artifact-1.0-classifier.zip");
180 }
181
182 @Test
183 void testResolveMetadata() throws Exception {
184
185
186 }
187
188 @Test
189 void testInstall() throws Exception {
190
191
192
193 }
194
195 @Test
196 void testDeploy() throws Exception {
197
198
199 }
200
201 @Test
202 void testNewLocalRepositoryManager() throws Exception {
203
204 }
205
206 @Test
207 void testNewSyncContext() throws Exception {
208
209 }
210 }