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