View Javadoc

1   package org.apache.maven.plugins.enforcer;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
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   * Test the "require no repositories" rule.
30   * 
31   * @author <a href="mailto:brett@apache.org">Brett Porter</a>
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      * Test id.
249      */
250     public void testId()
251     {
252         RequireNoRepositories rule = new RequireNoRepositories();
253         rule.getCacheId();
254     }
255 }