1 package org.apache.maven.plugins.enforcer;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.mockito.Mockito.mock;
23 import static org.mockito.Mockito.when;
24
25 import java.util.Properties;
26
27 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
28 import org.apache.maven.execution.MavenExecutionRequest;
29 import org.apache.maven.execution.MavenExecutionResult;
30 import org.apache.maven.execution.MavenSession;
31 import org.apache.maven.model.Plugin;
32 import org.apache.maven.plugin.MojoExecution;
33 import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
34 import org.apache.maven.plugin.logging.SystemStreamLog;
35 import org.apache.maven.plugins.enforcer.utils.MockEnforcerExpressionEvaluator;
36 import org.apache.maven.project.MavenProject;
37 import org.codehaus.plexus.PlexusContainer;
38 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
39 import org.sonatype.aether.RepositorySystemSession;
40
41
42
43
44
45
46 public final class EnforcerTestUtils
47 {
48
49
50
51
52
53 public static MavenSession getMavenSession()
54 {
55 PlexusContainer mock = mock( PlexusContainer.class );
56
57 MavenExecutionRequest mer = mock( MavenExecutionRequest.class );
58
59 Properties systemProperties = new Properties();
60 systemProperties.put( "maven.version", "3.0" );
61 when( mer.getUserProperties() ).thenReturn( new Properties() );
62 when( mer.getSystemProperties() ).thenReturn( systemProperties );
63
64 MavenExecutionResult meresult = mock( MavenExecutionResult.class );
65 return new MavenSession( mock, (RepositorySystemSession) null, mer, meresult );
66 }
67
68
69
70
71
72
73 public static EnforcerRuleHelper getHelper()
74 {
75 return getHelper( new MockProject(), false );
76 }
77
78
79
80
81
82
83
84 public static EnforcerRuleHelper getHelper( boolean mockExpression )
85 {
86 return getHelper( new MockProject(), mockExpression );
87 }
88
89
90
91
92
93
94
95 public static EnforcerRuleHelper getHelper( MavenProject project )
96 {
97 return getHelper( project, false );
98 }
99
100
101
102
103
104
105
106
107 public static EnforcerRuleHelper getHelper( MavenProject project, boolean mockExpression )
108 {
109 MavenSession session = getMavenSession();
110 ExpressionEvaluator eval;
111 if ( mockExpression )
112 {
113 eval = new MockEnforcerExpressionEvaluator( session );
114 }
115 else
116 {
117 MojoExecution mockExecution = mock( MojoExecution.class );
118 session.setCurrentProject( project );
119 eval = new PluginParameterExpressionEvaluator( session, mockExecution );
120 }
121 return new DefaultEnforcementRuleHelper( session, eval, new SystemStreamLog(), null );
122 }
123
124
125
126
127
128
129
130
131 public static EnforcerRuleHelper getHelper( MavenProject project, ExpressionEvaluator eval )
132 {
133 MavenSession session = getMavenSession();
134 return new DefaultEnforcementRuleHelper( session, eval, new SystemStreamLog(), null );
135 }
136
137
138
139
140
141
142
143
144
145 public static Plugin newPlugin( String groupId, String artifactId, String version )
146 {
147 Plugin plugin = new Plugin();
148 plugin.setArtifactId( artifactId );
149 plugin.setGroupId( groupId );
150 plugin.setVersion( version );
151 return plugin;
152 }
153 }