1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.internal.test.util;
20
21 import java.util.Iterator;
22 import java.util.List;
23
24 import org.eclipse.aether.RepositorySystemSession;
25 import org.eclipse.aether.artifact.Artifact;
26 import org.eclipse.aether.artifact.DefaultArtifact;
27 import org.eclipse.aether.graph.Dependency;
28 import org.eclipse.aether.graph.Exclusion;
29 import org.eclipse.aether.repository.RemoteRepository;
30 import org.eclipse.aether.resolution.ArtifactDescriptorException;
31 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
32 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
33 import org.junit.jupiter.api.BeforeEach;
34 import org.junit.jupiter.api.Test;
35
36 import static org.junit.jupiter.api.Assertions.*;
37
38
39
40 public class IniArtifactDescriptorReaderTest {
41
42 private IniArtifactDescriptorReader reader;
43
44 private RepositorySystemSession session;
45
46 @BeforeEach
47 void setup() {
48 reader = new IniArtifactDescriptorReader("org/eclipse/aether/internal/test/util/");
49 session = TestUtils.newSession();
50 }
51
52 @Test
53 void testMissingDescriptor() throws ArtifactDescriptorException {
54 assertThrows(ArtifactDescriptorException.class, () -> {
55 Artifact art = new DefaultArtifact("missing:aid:ver:ext");
56 ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(art, null, "");
57 reader.readArtifactDescriptor(session, request);
58 });
59 }
60
61 @Test
62 void testLookup() throws ArtifactDescriptorException {
63 Artifact art = new DefaultArtifact("gid:aid:ext:ver");
64 ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(art, null, "");
65 ArtifactDescriptorResult description = reader.readArtifactDescriptor(session, request);
66
67 assertEquals(request, description.getRequest());
68 assertEquals(art.setVersion("1"), description.getArtifact());
69
70 assertEquals(1, description.getRelocations().size());
71 Artifact artifact = description.getRelocations().get(0);
72 assertEquals("gid", artifact.getGroupId());
73 assertEquals("aid", artifact.getArtifactId());
74 assertEquals("ver", artifact.getVersion());
75 assertEquals("ext", artifact.getExtension());
76
77 assertEquals(1, description.getRepositories().size());
78 RemoteRepository repo = description.getRepositories().get(0);
79 assertEquals("id", repo.getId());
80 assertEquals("type", repo.getContentType());
81 assertEquals("protocol://some/url?for=testing", repo.getUrl());
82
83 assertDependencies(description.getDependencies());
84 assertDependencies(description.getManagedDependencies());
85 }
86
87 private void assertDependencies(List<Dependency> deps) {
88 assertEquals(4, deps.size());
89
90 Dependency dep = deps.get(0);
91 assertEquals("scope", dep.getScope());
92 assertFalse(dep.isOptional());
93 assertEquals(2, dep.getExclusions().size());
94 Iterator<Exclusion> it = dep.getExclusions().iterator();
95 Exclusion excl = it.next();
96 assertEquals("gid3", excl.getGroupId());
97 assertEquals("aid", excl.getArtifactId());
98 excl = it.next();
99 assertEquals("gid2", excl.getGroupId());
100 assertEquals("aid2", excl.getArtifactId());
101
102 Artifact art = dep.getArtifact();
103 assertEquals("gid", art.getGroupId());
104 assertEquals("aid", art.getArtifactId());
105 assertEquals("ver", art.getVersion());
106 assertEquals("ext", art.getExtension());
107
108 dep = deps.get(1);
109 assertEquals("scope", dep.getScope());
110 assertTrue(dep.isOptional());
111 assertEquals(0, dep.getExclusions().size());
112
113 art = dep.getArtifact();
114 assertEquals("gid", art.getGroupId());
115 assertEquals("aid2", art.getArtifactId());
116 assertEquals("ver", art.getVersion());
117 assertEquals("ext", art.getExtension());
118
119 dep = deps.get(2);
120 assertEquals("scope", dep.getScope());
121 assertTrue(dep.isOptional());
122 assertEquals(0, dep.getExclusions().size());
123
124 art = dep.getArtifact();
125 assertEquals("gid", art.getGroupId());
126 assertEquals("aid", art.getArtifactId());
127 assertEquals("ver3", art.getVersion());
128 assertEquals("ext", art.getExtension());
129
130 dep = deps.get(3);
131 assertEquals("scope5", dep.getScope());
132 assertTrue(dep.isOptional());
133 assertEquals(0, dep.getExclusions().size());
134
135 art = dep.getArtifact();
136 assertEquals("gid1", art.getGroupId());
137 assertEquals("aid", art.getArtifactId());
138 assertEquals("ver", art.getVersion());
139 assertEquals("ext", art.getExtension());
140 }
141 }