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