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