1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.util.filter;
20
21 import java.util.Collections;
22 import java.util.List;
23
24 import org.eclipse.aether.graph.DependencyFilter;
25 import org.eclipse.aether.graph.DependencyNode;
26 import org.eclipse.aether.internal.test.util.NodeBuilder;
27 import org.junit.jupiter.api.Test;
28
29 import static org.junit.jupiter.api.Assertions.*;
30
31
32
33 public class DependencyFilterUtilsTest {
34
35 private static List<DependencyNode> PARENTS = Collections.emptyList();
36
37 @Test
38 void testClasspathFilterCompile() {
39 NodeBuilder builder = new NodeBuilder().artifactId("aid");
40 DependencyFilter filter = DependencyFilterUtils.classpathFilter("compile");
41
42 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
43 assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
44 assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
45 assertFalse(filter.accept(builder.scope("runtime").build(), PARENTS));
46 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
47 }
48
49 @Test
50 void testClasspathFilterRuntime() {
51 NodeBuilder builder = new NodeBuilder().artifactId("aid");
52 DependencyFilter filter = DependencyFilterUtils.classpathFilter("runtime");
53
54 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
55 assertFalse(filter.accept(builder.scope("system").build(), PARENTS));
56 assertFalse(filter.accept(builder.scope("provided").build(), PARENTS));
57 assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
58 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
59 }
60
61 @Test
62 void testClasspathFilterTest() {
63 NodeBuilder builder = new NodeBuilder().artifactId("aid");
64 DependencyFilter filter = DependencyFilterUtils.classpathFilter("test");
65
66 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
67 assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
68 assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
69 assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
70 assertTrue(filter.accept(builder.scope("test").build(), PARENTS));
71 }
72
73 @Test
74 void testClasspathFilterCompileRuntime() {
75 NodeBuilder builder = new NodeBuilder().artifactId("aid");
76 DependencyFilter filter = DependencyFilterUtils.classpathFilter("compile", "runtime");
77
78 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
79 assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
80 assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
81 assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
82 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
83 }
84
85 @Test
86 void testClasspathFilterCompilePlusRuntime() {
87 NodeBuilder builder = new NodeBuilder().artifactId("aid");
88 DependencyFilter filter = DependencyFilterUtils.classpathFilter("compile+runtime");
89
90 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
91 assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
92 assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
93 assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
94 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
95 }
96
97 @Test
98 void testClasspathFilterRuntimeCommaSystem() {
99 NodeBuilder builder = new NodeBuilder().artifactId("aid");
100 DependencyFilter filter = DependencyFilterUtils.classpathFilter("runtime,system");
101
102 assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
103 assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
104 assertFalse(filter.accept(builder.scope("provided").build(), PARENTS));
105 assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
106 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
107 }
108
109 @Test
110 void testClasspathFilterNull() {
111 NodeBuilder builder = new NodeBuilder().artifactId("aid");
112 DependencyFilter filter = DependencyFilterUtils.classpathFilter((String[]) null);
113
114 assertFalse(filter.accept(builder.scope("compile").build(), PARENTS));
115 assertFalse(filter.accept(builder.scope("system").build(), PARENTS));
116 assertFalse(filter.accept(builder.scope("provided").build(), PARENTS));
117 assertFalse(filter.accept(builder.scope("runtime").build(), PARENTS));
118 assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
119 }
120
121 @Test
122 void testClasspathFilterUnknownScope() {
123 NodeBuilder builder = new NodeBuilder().artifactId("aid");
124 DependencyFilter filter = DependencyFilterUtils.classpathFilter("compile");
125
126 assertTrue(filter.accept(builder.scope("").build(), PARENTS));
127 assertTrue(filter.accept(builder.scope("unknown").build(), PARENTS));
128 }
129 }