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 java.util.Collections;
23
24 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
25 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
26 import org.codehaus.plexus.PlexusTestCase;
27
28
29
30
31
32
33 public class TestRequireNoRepositories
34 extends PlexusTestCase
35 {
36 private EnforcerRuleHelper helper;
37
38 private RequireNoRepositories rule;
39
40 private MockProject project;
41
42 public void setUp()
43 throws Exception
44 {
45 super.setUp();
46
47 rule = new RequireNoRepositories();
48 rule.message = "my message";
49
50 project = new MockProject();
51 project.setGroupId( "org.apache.maven.plugins.enforcer.test" );
52 project.setVersion( "1.0-SNAPSHOT" );
53
54 helper = EnforcerTestUtils.getHelper( project );
55 }
56
57 public void testAllBannedNoRepositories()
58 throws EnforcerRuleException
59 {
60 project.setArtifactId( "no-repositories-child" );
61 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
62
63 rule.execute( helper );
64 }
65
66 public void testAllBannedWithRepositories()
67 throws EnforcerRuleException
68 {
69 project.setArtifactId( "with-repositories-child" );
70 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
71
72 try
73 {
74 rule.execute( helper );
75 fail( "Should have exception" );
76 }
77 catch ( EnforcerRuleException e )
78 {
79 assertTrue( true );
80 }
81 }
82
83 public void testAllBannedWithAllowedRepositories()
84 throws EnforcerRuleException
85 {
86 rule.allowedRepositories = Collections.singletonList( "repo" );
87
88 project.setArtifactId( "with-repositories-child" );
89 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
90
91 rule.execute( helper );
92 }
93
94 public void testAllBannedWithAllowedPluginRepositories()
95 throws EnforcerRuleException
96 {
97 rule.allowedPluginRepositories = Collections.singletonList( "repo" );
98
99 project.setArtifactId( "with-plugin-repositories-child" );
100 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
101
102 rule.execute( helper );
103 }
104
105 public void testReposNotBannedNoRepositories()
106 throws EnforcerRuleException
107 {
108 rule.banRepositories = false;
109
110 project.setArtifactId( "no-repositories-child" );
111 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
112
113 rule.execute( helper );
114 }
115
116 public void testReposNotBannedWithRepositories()
117 throws EnforcerRuleException
118 {
119 rule.banRepositories = false;
120
121 project.setArtifactId( "with-repositories-child" );
122 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
123
124 rule.execute( helper );
125 }
126
127 public void testReposNotBannedWithPluginRepositories()
128 throws EnforcerRuleException
129 {
130 rule.banRepositories = false;
131
132 project.setArtifactId( "with-plugin-repositories-child" );
133 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
134
135 try
136 {
137 rule.execute( helper );
138 fail( "Should have exception" );
139 }
140 catch ( EnforcerRuleException e )
141 {
142 assertTrue( true );
143 }
144 }
145
146 public void testPluginReposNotBannedNoRepositories()
147 throws EnforcerRuleException
148 {
149 rule.banPluginRepositories = false;
150
151 project.setArtifactId( "no-repositories-child" );
152 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/no-repositories/child" ) );
153
154 rule.execute( helper );
155 }
156
157 public void testPluginReposNotBannedWithRepositories()
158 throws EnforcerRuleException
159 {
160 rule.banPluginRepositories = false;
161
162 project.setArtifactId( "with-repositories-child" );
163 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-repositories/child" ) );
164
165 try
166 {
167 rule.execute( helper );
168 fail( "Should have exception" );
169 }
170 catch ( EnforcerRuleException e )
171 {
172 assertTrue( true );
173 }
174 }
175
176 public void testPluginReposNotBannedWithPluginRepositories()
177 throws EnforcerRuleException
178 {
179 rule.banPluginRepositories = false;
180
181 project.setArtifactId( "with-plugin-repositories-child" );
182 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/with-plugin-repositories/child" ) );
183
184 rule.execute( helper );
185 }
186
187 public void testReposNotAllowedWithSnapshotRepositories()
188 throws EnforcerRuleException
189 {
190 rule.allowSnapshotRepositories = true;
191
192 project.setArtifactId( "snapshot-plugin-repositories-child" );
193 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/snapshot-plugin-repositories/child" ) );
194
195 try
196 {
197 rule.execute( helper );
198 fail( "Should have exception" );
199 }
200 catch ( EnforcerRuleException e )
201 {
202 assertTrue( true );
203 }
204 }
205
206 public void testReposAllowedWithSnapshotRepositories()
207 throws EnforcerRuleException
208 {
209 rule.allowSnapshotRepositories = true;
210
211 project.setArtifactId( "snapshot-repositories-child" );
212 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/snapshot-repositories/child" ) );
213
214 rule.execute( helper );
215 }
216
217 public void testPluginReposNotAllowedWithSnapshotRepositories()
218 throws EnforcerRuleException
219 {
220 rule.allowSnapshotPluginRepositories = true;
221
222 project.setArtifactId( "snapshot-repositories-child" );
223 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/snapshot-repositories/child" ) );
224
225 try
226 {
227 rule.execute( helper );
228 fail( "Should have exception" );
229 }
230 catch ( EnforcerRuleException e )
231 {
232 assertTrue( true );
233 }
234 }
235
236 public void testPluginReposAllowedWithSnapshotPluginRepositories()
237 throws EnforcerRuleException
238 {
239 rule.allowSnapshotPluginRepositories = true;
240
241 project.setArtifactId( "snapshot-plugin-repositories-child" );
242 project.setBaseDir( getTestFile( "target/test-classes/requireNoRepositories/snapshot-plugin-repositories/child" ) );
243
244 rule.execute( helper );
245 }
246
247
248
249
250 public void testId()
251 {
252 RequireNoRepositories rule = new RequireNoRepositories();
253 rule.getCacheId();
254 }
255 }