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 javax.inject.Inject;
22
23 import org.apache.maven.api.plugin.testing.InjectMojo;
24 import org.apache.maven.api.plugin.testing.MojoTest;
25 import org.apache.maven.execution.MavenSession;
26 import org.apache.maven.plugin.MojoExecution;
27 import org.apache.maven.project.MavenProject;
28 import org.junit.jupiter.api.Test;
29 import org.junit.jupiter.api.extension.ExtendWith;
30 import org.mockito.junit.jupiter.MockitoExtension;
31
32 import static org.junit.jupiter.api.Assertions.assertNotNull;
33 import static org.junit.jupiter.api.Assertions.assertSame;
34
35 @ExtendWith(MockitoExtension.class)
36 @MojoTest
37 public class ProvidesInjectMojoTest {
38
39 private static final String POM = "<project>" + "</project>";
40
41 @Inject
42 private MavenSession session;
43
44 @Inject
45 private MavenProject project;
46
47 @Inject
48 private MojoExecution mojoExecution;
49
50 @Test
51 @InjectMojo(pom = POM, goal = "test:test-plugin:0.0.1-SNAPSHOT:provides")
52 public void bennShouldBeInjected(ProvidesInjectMojo mojo) {
53 assertNotNull(mojo);
54 assertSame(session, mojo.getSession());
55 assertSame(session, mojo.getSessionFromBean());
56
57 assertSame(project, mojo.getProject());
58 assertSame(project, mojo.getProjectFromBean());
59
60 assertSame(mojoExecution, mojo.getMojoExecution());
61 assertSame(mojoExecution, mojo.getMojoExecutionFromBean());
62 }
63 }