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.io.IOException;
22 import java.util.Collection;
23 import java.util.Iterator;
24 import java.util.List;
25
26 import org.eclipse.aether.artifact.Artifact;
27 import org.eclipse.aether.graph.Dependency;
28 import org.eclipse.aether.graph.Exclusion;
29 import org.eclipse.aether.repository.RemoteRepository;
30 import org.junit.Before;
31 import org.junit.Test;
32
33 import static org.junit.Assert.*;
34
35
36
37 public class IniArtifactDataReaderTest {
38
39 private IniArtifactDataReader parser;
40
41 @Before
42 public void setup() {
43 this.parser = new IniArtifactDataReader("org/eclipse/aether/internal/test/util/");
44 }
45
46 @Test
47 public void testRelocation() throws IOException {
48 String def = "[relocation]\ngid:aid:ext:ver";
49
50 ArtifactDescription description = parser.parseLiteral(def);
51
52 Artifact artifact = description.getRelocation();
53 assertNotNull(artifact);
54 assertEquals("aid", artifact.getArtifactId());
55 assertEquals("gid", artifact.getGroupId());
56 assertEquals("ver", artifact.getVersion());
57 assertEquals("ext", artifact.getExtension());
58 }
59
60 @Test
61 public void testDependencies() throws IOException {
62 String def = "[dependencies]\ngid:aid:ext:ver\n-exclusion:aid\ngid2:aid2:ext2:ver2";
63
64 ArtifactDescription description = parser.parseLiteral(def);
65
66 List<Dependency> dependencies = description.getDependencies();
67 assertNotNull(dependencies);
68 assertEquals(2, dependencies.size());
69
70 Dependency dependency = dependencies.get(0);
71 assertEquals("compile", dependency.getScope());
72
73 Artifact artifact = dependency.getArtifact();
74 assertNotNull(artifact);
75 assertEquals("aid", artifact.getArtifactId());
76 assertEquals("gid", artifact.getGroupId());
77 assertEquals("ver", artifact.getVersion());
78 assertEquals("ext", artifact.getExtension());
79
80 Collection<Exclusion> exclusions = dependency.getExclusions();
81 assertNotNull(exclusions);
82 assertEquals(1, exclusions.size());
83 Exclusion exclusion = exclusions.iterator().next();
84 assertEquals("exclusion", exclusion.getGroupId());
85 assertEquals("aid", exclusion.getArtifactId());
86 assertEquals("*", exclusion.getClassifier());
87 assertEquals("*", exclusion.getExtension());
88
89 dependency = dependencies.get(1);
90
91 artifact = dependency.getArtifact();
92 assertNotNull(artifact);
93 assertEquals("aid2", artifact.getArtifactId());
94 assertEquals("gid2", artifact.getGroupId());
95 assertEquals("ver2", artifact.getVersion());
96 assertEquals("ext2", artifact.getExtension());
97 }
98
99 @Test
100 public void testManagedDependencies() throws IOException {
101 String def = "[managed-dependencies]\ngid:aid:ext:ver\n-exclusion:aid\ngid2:aid2:ext2:ver2:runtime";
102
103 ArtifactDescription description = parser.parseLiteral(def);
104
105 List<Dependency> dependencies = description.getManagedDependencies();
106 assertNotNull(dependencies);
107 assertEquals(2, dependencies.size());
108
109 Dependency dependency = dependencies.get(0);
110 assertEquals("", dependency.getScope());
111
112 Artifact artifact = dependency.getArtifact();
113 assertNotNull(artifact);
114 assertEquals("aid", artifact.getArtifactId());
115 assertEquals("gid", artifact.getGroupId());
116 assertEquals("ver", artifact.getVersion());
117 assertEquals("ext", artifact.getExtension());
118
119 Collection<Exclusion> exclusions = dependency.getExclusions();
120 assertNotNull(exclusions);
121 assertEquals(1, exclusions.size());
122 Exclusion exclusion = exclusions.iterator().next();
123 assertEquals("exclusion", exclusion.getGroupId());
124 assertEquals("aid", exclusion.getArtifactId());
125 assertEquals("*", exclusion.getClassifier());
126 assertEquals("*", exclusion.getExtension());
127
128 dependency = dependencies.get(1);
129 assertEquals("runtime", dependency.getScope());
130
131 artifact = dependency.getArtifact();
132 assertNotNull(artifact);
133 assertEquals("aid2", artifact.getArtifactId());
134 assertEquals("gid2", artifact.getGroupId());
135 assertEquals("ver2", artifact.getVersion());
136 assertEquals("ext2", artifact.getExtension());
137
138 assertEquals(0, dependency.getExclusions().size());
139 }
140
141 @Test
142 public void testResource() throws IOException {
143 ArtifactDescription description = parser.parse("ArtifactDataReaderTest.ini");
144
145 Artifact artifact = description.getRelocation();
146 assertEquals("gid", artifact.getGroupId());
147 assertEquals("aid", artifact.getArtifactId());
148 assertEquals("ver", artifact.getVersion());
149 assertEquals("ext", artifact.getExtension());
150
151 assertEquals(1, description.getRepositories().size());
152 RemoteRepository repo = description.getRepositories().get(0);
153 assertEquals("id", repo.getId());
154 assertEquals("type", repo.getContentType());
155 assertEquals("protocol://some/url?for=testing", repo.getUrl());
156
157 assertDependencies(description.getDependencies());
158 assertDependencies(description.getManagedDependencies());
159 }
160
161 private void assertDependencies(List<Dependency> deps) {
162 assertEquals(4, deps.size());
163
164 Dependency dep = deps.get(0);
165 assertEquals("scope", dep.getScope());
166 assertFalse(dep.isOptional());
167 assertEquals(2, dep.getExclusions().size());
168 Iterator<Exclusion> it = dep.getExclusions().iterator();
169 Exclusion excl = it.next();
170 assertEquals("gid3", excl.getGroupId());
171 assertEquals("aid", excl.getArtifactId());
172 excl = it.next();
173 assertEquals("gid2", excl.getGroupId());
174 assertEquals("aid2", excl.getArtifactId());
175
176 Artifact art = dep.getArtifact();
177 assertEquals("gid", art.getGroupId());
178 assertEquals("aid", art.getArtifactId());
179 assertEquals("ver", art.getVersion());
180 assertEquals("ext", art.getExtension());
181
182 dep = deps.get(1);
183 assertEquals("scope", dep.getScope());
184 assertTrue(dep.isOptional());
185 assertEquals(0, dep.getExclusions().size());
186
187 art = dep.getArtifact();
188 assertEquals("gid", art.getGroupId());
189 assertEquals("aid2", art.getArtifactId());
190 assertEquals("ver", art.getVersion());
191 assertEquals("ext", art.getExtension());
192
193 dep = deps.get(2);
194 assertEquals("scope", dep.getScope());
195 assertTrue(dep.isOptional());
196 assertEquals(0, dep.getExclusions().size());
197
198 art = dep.getArtifact();
199 assertEquals("gid", art.getGroupId());
200 assertEquals("aid", art.getArtifactId());
201 assertEquals("ver3", art.getVersion());
202 assertEquals("ext", art.getExtension());
203
204 dep = deps.get(3);
205 assertEquals("scope5", dep.getScope());
206 assertTrue(dep.isOptional());
207 assertEquals(0, dep.getExclusions().size());
208
209 art = dep.getArtifact();
210 assertEquals("gid1", art.getGroupId());
211 assertEquals("aid", art.getArtifactId());
212 assertEquals("ver", art.getVersion());
213 assertEquals("ext", art.getExtension());
214 }
215 }