1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.util.graph.manager;
20
21 import java.util.Arrays;
22
23 import org.eclipse.aether.RepositorySystemSession;
24 import org.eclipse.aether.artifact.Artifact;
25 import org.eclipse.aether.artifact.DefaultArtifact;
26 import org.eclipse.aether.collection.DependencyCollectionContext;
27 import org.eclipse.aether.collection.DependencyManagement;
28 import org.eclipse.aether.collection.DependencyManager;
29 import org.eclipse.aether.graph.Dependency;
30 import org.eclipse.aether.internal.test.util.TestUtils;
31 import org.junit.jupiter.api.BeforeEach;
32 import org.junit.jupiter.api.Test;
33
34 import static org.junit.jupiter.api.Assertions.*;
35
36 public class ClassicDependencyManagerTest {
37
38 private final Artifact A = new DefaultArtifact("test", "a", "", "");
39
40 private final Artifact A1 = new DefaultArtifact("test", "a", "", "1");
41
42 private final Artifact B = new DefaultArtifact("test", "b", "", "");
43
44 private final Artifact B1 = new DefaultArtifact("test", "b", "", "1");
45
46 private RepositorySystemSession session;
47
48 private DependencyCollectionContext newContext(Dependency... managedDependencies) {
49 return TestUtils.newCollectionContext(session, null, Arrays.asList(managedDependencies));
50 }
51
52 @BeforeEach
53 void setUp() {
54 session = TestUtils.newSession();
55 }
56
57 @Test
58 void testManageOptional() {
59 DependencyManager manager = new ClassicDependencyManager();
60
61 manager = manager.deriveChildManager(newContext(new Dependency(A, null, null), new Dependency(B, null, true)));
62 DependencyManagement mngt;
63 mngt = manager.manageDependency(new Dependency(A1, null));
64 assertNull(mngt);
65 mngt = manager.manageDependency(new Dependency(B1, null));
66 assertNull(mngt);
67
68 manager = manager.deriveChildManager(newContext());
69 mngt = manager.manageDependency(new Dependency(A1, null));
70 assertNull(mngt);
71 mngt = manager.manageDependency(new Dependency(B1, null));
72 assertNotNull(mngt);
73 assertEquals(Boolean.TRUE, mngt.getOptional());
74 }
75 }