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