1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin.testing;
20
21 import java.io.File;
22
23 import org.apache.maven.execution.DefaultMavenExecutionRequest;
24 import org.apache.maven.execution.MavenExecutionRequest;
25 import org.apache.maven.execution.MavenSession;
26 import org.apache.maven.plugin.MojoExecution;
27 import org.apache.maven.project.MavenProject;
28 import org.apache.maven.project.ProjectBuilder;
29 import org.apache.maven.project.ProjectBuildingException;
30 import org.apache.maven.project.ProjectBuildingRequest;
31 import org.eclipse.aether.DefaultRepositorySystemSession;
32
33 public class ParametersMojoJUnit4Test extends AbstractMojoTestCase {
34 public void testDefault() throws Exception {
35 MavenProject project = readMavenProject(new File("src/test/projects/default"));
36
37 ParametersMojo mojo = (ParametersMojo) lookupConfiguredMojo(project, "parameters");
38
39 assertNull(mojo.getPlain());
40 assertNull(mojo.getWithProperty());
41 assertEquals("default", mojo.getWithDefault());
42 assertEquals("default", mojo.getWithPropertyAndDefault());
43 }
44
45 public void testExplicit() throws Exception {
46 MavenProject project = readMavenProject(new File("src/test/projects/explicit"));
47
48 ParametersMojo mojo = (ParametersMojo) lookupConfiguredMojo(project, "parameters");
49
50 assertEquals("explicitValue", mojo.getPlain());
51 assertEquals("explicitWithPropertyValue", mojo.getWithProperty());
52 assertEquals("explicitWithDefaultValue", mojo.getWithDefault());
53 assertEquals("explicitWithPropertyAndDefaultValue", mojo.getWithPropertyAndDefault());
54 }
55
56 public void testDefaultWithProperty() throws Exception {
57 MavenProject project = readMavenProject(new File("src/test/projects/default"));
58 MavenSession session = newMavenSession(project);
59 MojoExecution execution = newMojoExecution("parameters");
60
61 session.getUserProperties().put("property", "propertyValue");
62 ParametersMojo mojo = (ParametersMojo) lookupConfiguredMojo(session, execution);
63
64 assertNull(mojo.getPlain());
65 assertEquals("propertyValue", mojo.getWithProperty());
66 assertEquals("default", mojo.getWithDefault());
67 assertEquals("propertyValue", mojo.getWithPropertyAndDefault());
68 }
69
70 public void testExplicitWithProperty() throws Exception {
71 MavenProject project = readMavenProject(new File("src/test/projects/explicit"));
72 MavenSession session = newMavenSession(project);
73 MojoExecution execution = newMojoExecution("parameters");
74
75 session.getUserProperties().put("property", "propertyValue");
76 ParametersMojo mojo = (ParametersMojo) lookupConfiguredMojo(session, execution);
77
78 assertEquals("explicitValue", mojo.getPlain());
79 assertEquals("explicitWithPropertyValue", mojo.getWithProperty());
80 assertEquals("explicitWithDefaultValue", mojo.getWithDefault());
81 assertEquals("explicitWithPropertyAndDefaultValue", mojo.getWithPropertyAndDefault());
82 }
83
84 protected MavenProject readMavenProject(File basedir) throws ProjectBuildingException, Exception {
85 File pom = new File(basedir, "pom.xml");
86 MavenExecutionRequest request = new DefaultMavenExecutionRequest();
87 request.setBaseDirectory(basedir);
88 ProjectBuildingRequest configuration = request.getProjectBuildingRequest();
89 configuration.setRepositorySession(new DefaultRepositorySystemSession());
90 MavenProject project =
91 lookup(ProjectBuilder.class).build(pom, configuration).getProject();
92 assertNotNull(project);
93 return project;
94 }
95 }