View Javadoc
1   package org.eclipse.aether.internal.test.util;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   * 
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   * 
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
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 }