1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.shared.filtering;
20
21 import javax.inject.Inject;
22
23 import java.io.File;
24 import java.io.FileInputStream;
25 import java.util.Properties;
26
27 import org.apache.maven.project.MavenProject;
28 import org.codehaus.plexus.testing.PlexusTest;
29 import org.junit.jupiter.api.Test;
30
31 import static org.codehaus.plexus.testing.PlexusExtension.getBasedir;
32 import static org.junit.jupiter.api.Assertions.assertEquals;
33
34
35
36
37
38
39 @PlexusTest
40 class TestReflectionProperties {
41
42 @Inject
43 MavenFileFilter mavenFileFilter;
44
45 @Test
46 void simpleFiltering() throws Exception {
47 MavenProject mavenProject = new MavenProject();
48 mavenProject.setVersion("1.0");
49 mavenProject.setGroupId("org.apache");
50 Properties userProperties = new Properties();
51 userProperties.setProperty("foo", "bar");
52
53 File from = new File(getBasedir() + "/src/test/units-files/reflection-test.properties");
54 File to = new File(getBasedir() + "/target/reflection-test.properties");
55
56 if (to.exists()) {
57 to.delete();
58 }
59
60 mavenFileFilter.copyFile(from, to, true, mavenProject, null, false, null, new StubMavenSession(userProperties));
61
62 Properties reading = new Properties();
63
64 try (FileInputStream readFileInputStream = new FileInputStream(to)) {
65 reading.load(readFileInputStream);
66 }
67
68 assertEquals("1.0", reading.get("version"));
69 assertEquals("org.apache", reading.get("groupId"));
70 assertEquals("bar", reading.get("foo"));
71 assertEquals("none filtered", reading.get("none"));
72 }
73
74 @Test
75 void simpleNonFiltering() throws Exception {
76
77 MavenProject mavenProject = new MavenProject();
78 mavenProject.setVersion("1.0");
79 mavenProject.setGroupId("org.apache");
80 Properties userProperties = new Properties();
81 userProperties.setProperty("foo", "bar");
82
83 File from = new File(getBasedir() + "/src/test/units-files/reflection-test.properties");
84 File to = new File(getBasedir() + "/target/reflection-test.properties");
85
86 if (to.exists()) {
87 to.delete();
88 }
89
90 mavenFileFilter.copyFile(
91 from, to, false, mavenProject, null, false, null, new StubMavenSession(userProperties));
92
93 Properties reading = new Properties();
94
95 try (FileInputStream readFileInputStream = new FileInputStream(to); ) {
96 reading.load(readFileInputStream);
97 }
98
99 assertEquals("${pom.version}", reading.get("version"));
100 assertEquals("${pom.groupId}", reading.get("groupId"));
101 assertEquals("${foo}", reading.get("foo"));
102 assertEquals("none filtered", reading.get("none"));
103 }
104 }