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.traverser;
20
21 import java.util.Collections;
22 import java.util.Map;
23
24 import org.eclipse.aether.RepositorySystemSession;
25 import org.eclipse.aether.artifact.ArtifactProperties;
26 import org.eclipse.aether.artifact.DefaultArtifact;
27 import org.eclipse.aether.collection.DependencyCollectionContext;
28 import org.eclipse.aether.collection.DependencyTraverser;
29 import org.eclipse.aether.graph.Dependency;
30 import org.eclipse.aether.internal.test.util.TestFileUtils;
31 import org.eclipse.aether.internal.test.util.TestUtils;
32 import org.junit.jupiter.api.AfterEach;
33 import org.junit.jupiter.api.BeforeEach;
34 import org.junit.jupiter.api.Test;
35
36 import static org.junit.jupiter.api.Assertions.*;
37
38 public class FatArtifactTraverserTest {
39
40 private RepositorySystemSession session;
41 private DependencyCollectionContext context;
42
43 @BeforeEach
44 void setup() {
45 session = TestUtils.newSession();
46 context = TestUtils.newCollectionContext(session, null, Collections.emptyList());
47 }
48
49 @AfterEach
50 void teardown() throws Exception {
51 if (session.getLocalRepository() != null) {
52 TestFileUtils.deleteFile(session.getLocalRepository().getBasedir());
53 }
54 session = null;
55 context = null;
56 }
57
58 @Test
59 void testTraverseDependency() {
60 DependencyTraverser traverser = new FatArtifactTraverser();
61 Map<String, String> props = null;
62 assertTrue(traverser.traverseDependency(new Dependency(new DefaultArtifact("g:a:v:1", props), "test")));
63 props = Collections.singletonMap(ArtifactProperties.INCLUDES_DEPENDENCIES, "false");
64 assertTrue(traverser.traverseDependency(new Dependency(new DefaultArtifact("g:a:v:1", props), "test")));
65 props = Collections.singletonMap(ArtifactProperties.INCLUDES_DEPENDENCIES, "unrecognized");
66 assertTrue(traverser.traverseDependency(new Dependency(new DefaultArtifact("g:a:v:1", props), "test")));
67 props = Collections.singletonMap(ArtifactProperties.INCLUDES_DEPENDENCIES, "true");
68 assertFalse(traverser.traverseDependency(new Dependency(new DefaultArtifact("g:a:v:1", props), "test")));
69 }
70
71 @Test
72 void testDeriveChildTraverser() {
73 DependencyTraverser traverser = new FatArtifactTraverser();
74 assertSame(traverser, traverser.deriveChildTraverser(context));
75 }
76
77 @Test
78 void testEquals() {
79 DependencyTraverser traverser1 = new FatArtifactTraverser();
80 DependencyTraverser traverser2 = new FatArtifactTraverser();
81 assertEquals(traverser1, traverser1);
82 assertEquals(traverser1, traverser2);
83 assertNotEquals(traverser1, this);
84 assertNotEquals(traverser1, null);
85 }
86
87 @Test
88 void testHashCode() {
89 DependencyTraverser traverser1 = new FatArtifactTraverser();
90 DependencyTraverser traverser2 = new FatArtifactTraverser();
91 assertEquals(traverser1.hashCode(), traverser2.hashCode());
92 }
93 }