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