1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.internal.impl.collect;
20
21 import java.util.Collections;
22
23 import org.eclipse.aether.DefaultRepositorySystemSession;
24 import org.eclipse.aether.artifact.DefaultArtifact;
25 import org.eclipse.aether.graph.Dependency;
26 import org.eclipse.aether.repository.RemoteRepository;
27 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
28 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
29 import org.eclipse.aether.resolution.VersionRangeRequest;
30 import org.junit.Test;
31
32 import static org.junit.Assert.assertEquals;
33 import static org.junit.Assert.assertNotNull;
34
35 public class DataPoolTest {
36
37 private DataPool newDataPool() {
38 return new DataPool(new DefaultRepositorySystemSession());
39 }
40
41 @Test
42 public void testArtifactDescriptorCaching() {
43 ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
44 request.setArtifact(new DefaultArtifact("gid:aid:1"));
45 ArtifactDescriptorResult result = new ArtifactDescriptorResult(request);
46 result.setArtifact(new DefaultArtifact("gid:aid:2"));
47 result.addRelocation(request.getArtifact());
48 result.addDependency(new Dependency(new DefaultArtifact("gid:dep:3"), "compile"));
49 result.addManagedDependency(new Dependency(new DefaultArtifact("gid:mdep:3"), "runtime"));
50 result.addRepository(new RemoteRepository.Builder("test", "default", "http://localhost").build());
51 result.addAlias(new DefaultArtifact("gid:alias:4"));
52
53 DataPool pool = newDataPool();
54 Object key = pool.toKey(request);
55 pool.putDescriptor(key, result);
56 ArtifactDescriptorResult cached = pool.getDescriptor(key, request);
57 assertNotNull(cached);
58 assertEquals(result.getArtifact(), cached.getArtifact());
59 assertEquals(result.getRelocations(), cached.getRelocations());
60 assertEquals(result.getDependencies(), cached.getDependencies());
61 assertEquals(result.getManagedDependencies(), cached.getManagedDependencies());
62 assertEquals(result.getRepositories(), cached.getRepositories());
63 assertEquals(result.getAliases(), cached.getAliases());
64 }
65
66 @Test
67 public void testConstraintKey() {
68 VersionRangeRequest request = new VersionRangeRequest();
69 request.setRepositories(Collections.singletonList(
70 new RemoteRepository.Builder("some-id", "some-type", "http://www.example.com").build()));
71 request.setArtifact(new DefaultArtifact("group:artifact:1.0"));
72
73 DataPool pool = newDataPool();
74
75 Object key1 = pool.toKey(request);
76 Object key2 = pool.toKey(request);
77 assertEquals(key1, key2);
78 }
79 }