KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > maven > project > injection > DefaultModelDefaultsInjectorTest


1 package org.apache.maven.project.injection;
2
3 /*
4  * Copyright 2001-2005 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 import junit.framework.TestCase;
20
21 import org.apache.maven.model.Dependency;
22 import org.apache.maven.model.DependencyManagement;
23 import org.apache.maven.model.Exclusion;
24 import org.apache.maven.model.Model;
25
26 import java.util.List JavaDoc;
27
28 /**
29  * @author jdcasey
30  */

31 public class DefaultModelDefaultsInjectorTest
32     extends TestCase
33 {
34     public void testShouldConstructWithNoParams()
35     {
36         new DefaultModelDefaultsInjector();
37     }
38
39     public void testShouldSucceedInMergingDependencyWithDependency()
40     {
41         Model model = new Model();
42
43         Dependency dep = new Dependency();
44         dep.setGroupId( "myGroup" );
45         dep.setArtifactId( "myArtifact" );
46
47         model.addDependency( dep );
48
49         Dependency def = new Dependency();
50         def.setGroupId( dep.getGroupId() );
51         def.setArtifactId( dep.getArtifactId() );
52         def.setVersion( "1.0.1" );
53         def.setScope( "scope" );
54
55         DependencyManagement depMgmt = new DependencyManagement();
56
57         depMgmt.addDependency( def );
58
59         model.setDependencyManagement( depMgmt );
60
61         new DefaultModelDefaultsInjector().injectDefaults( model );
62
63         List JavaDoc deps = model.getDependencies();
64         assertEquals( 1, deps.size() );
65
66         Dependency result = (Dependency) deps.get( 0 );
67         assertEquals( def.getVersion(), result.getVersion() );
68     }
69
70     public void testShouldMergeDependencyExclusionsFromDefaultsToDependency()
71     {
72         Model model = new Model();
73
74         Dependency dep = new Dependency();
75         dep.setGroupId( "myGroup" );
76         dep.setArtifactId( "myArtifact" );
77
78         model.addDependency( dep );
79
80         Dependency def = new Dependency();
81         def.setGroupId( dep.getGroupId() );
82         def.setArtifactId( dep.getArtifactId() );
83         def.setVersion( "1.0.1" );
84         def.setScope( "scope" );
85         
86         Exclusion exc = new Exclusion();
87         exc.setArtifactId( "mydep" );
88         exc.setGroupId( "mygrp" );
89         
90         def.addExclusion( exc );
91         
92         DependencyManagement depMgmt = new DependencyManagement();
93
94         depMgmt.addDependency( def );
95
96         model.setDependencyManagement( depMgmt );
97
98         new DefaultModelDefaultsInjector().injectDefaults( model );
99
100         List JavaDoc deps = model.getDependencies();
101         assertEquals( 1, deps.size() );
102
103         Dependency result = (Dependency) deps.get( 0 );
104         assertEquals( def.getVersion(), result.getVersion() );
105         
106         List JavaDoc resultExclusions = result.getExclusions();
107         assertNotNull( resultExclusions );
108         assertEquals( 1, resultExclusions.size() );
109         
110         Exclusion resultExclusion = (Exclusion) resultExclusions.get( 0 );
111         assertEquals( "mydep", resultExclusion.getArtifactId() );
112         assertEquals( "mygrp", resultExclusion.getGroupId() );
113     }
114
115     public void testShouldMergeDefaultUrlAndArtifactWhenDependencyDoesntSupplyVersion()
116     {
117         Model model = new Model();
118
119         Dependency dep = new Dependency();
120         dep.setGroupId( "myGroup" );
121         dep.setArtifactId( "myArtifact" );
122
123         model.addDependency( dep );
124
125         Dependency def = new Dependency();
126         def.setGroupId( dep.getGroupId() );
127         def.setArtifactId( dep.getArtifactId() );
128         def.setVersion( "1.0.1" );
129
130         DependencyManagement depMgmt = new DependencyManagement();
131
132         depMgmt.addDependency( def );
133
134         model.setDependencyManagement( depMgmt );
135
136         new DefaultModelDefaultsInjector().injectDefaults( model );
137
138         List JavaDoc deps = model.getDependencies();
139         assertEquals( 1, deps.size() );
140
141         Dependency result = (Dependency) deps.get( 0 );
142         assertEquals( def.getVersion(), result.getVersion() );
143     }
144
145     public void testShouldNotMergeDefaultUrlOrArtifactWhenDependencySuppliesVersion()
146     {
147         Model model = new Model();
148
149         Dependency dep = new Dependency();
150         dep.setGroupId( "myGroup" );
151         dep.setArtifactId( "myArtifact" );
152         dep.setVersion( "1.0.1" );
153
154         model.addDependency( dep );
155
156         Dependency def = new Dependency();
157         def.setGroupId( dep.getGroupId() );
158         def.setArtifactId( dep.getArtifactId() );
159
160         DependencyManagement depMgmt = new DependencyManagement();
161
162         depMgmt.addDependency( def );
163
164         model.setDependencyManagement( depMgmt );
165
166         new DefaultModelDefaultsInjector().injectDefaults( model );
167
168         List JavaDoc deps = model.getDependencies();
169         assertEquals( 1, deps.size() );
170
171         Dependency result = (Dependency) deps.get( 0 );
172         assertEquals( dep.getVersion(), result.getVersion() );
173     }
174
175     public void testShouldMergeDefaultPropertiesWhenDependencyDoesntSupplyProperties()
176     {
177         Model model = new Model();
178
179         Dependency dep = new Dependency();
180         dep.setGroupId( "myGroup" );
181         dep.setArtifactId( "myArtifact" );
182         dep.setVersion( "1.0.1" );
183
184         model.addDependency( dep );
185
186         Dependency def = new Dependency();
187         def.setGroupId( dep.getGroupId() );
188         def.setArtifactId( dep.getArtifactId() );
189
190         DependencyManagement depMgmt = new DependencyManagement();
191
192         depMgmt.addDependency( def );
193
194         model.setDependencyManagement( depMgmt );
195
196         new DefaultModelDefaultsInjector().injectDefaults( model );
197
198         List JavaDoc deps = model.getDependencies();
199         assertEquals( 1, deps.size() );
200     }
201
202     public void testShouldNotMergeDefaultPropertiesWhenDependencySuppliesProperties()
203     {
204         Model model = new Model();
205
206         Dependency dep = new Dependency();
207         dep.setGroupId( "myGroup" );
208         dep.setArtifactId( "myArtifact" );
209         dep.setVersion( "1.0.1" );
210
211         model.addDependency( dep );
212
213         Dependency def = new Dependency();
214         def.setGroupId( dep.getGroupId() );
215         def.setArtifactId( dep.getArtifactId() );
216
217         DependencyManagement depMgmt = new DependencyManagement();
218
219         depMgmt.addDependency( def );
220
221         model.setDependencyManagement( depMgmt );
222
223         new DefaultModelDefaultsInjector().injectDefaults( model );
224
225         List JavaDoc deps = model.getDependencies();
226         assertEquals( 1, deps.size() );
227     }
228
229     public void testShouldMergeDefaultScopeWhenDependencyDoesntSupplyScope()
230     {
231         Model model = new Model();
232
233         Dependency dep = new Dependency();
234         dep.setGroupId( "myGroup" );
235         dep.setArtifactId( "myArtifact" );
236         dep.setVersion( "1.0.1" );
237         dep.setScope( "scope" );
238
239         model.addDependency( dep );
240
241         Dependency def = new Dependency();
242         def.setGroupId( dep.getGroupId() );
243         def.setArtifactId( dep.getArtifactId() );
244
245         DependencyManagement depMgmt = new DependencyManagement();
246
247         depMgmt.addDependency( def );
248
249         model.setDependencyManagement( depMgmt );
250
251         new DefaultModelDefaultsInjector().injectDefaults( model );
252
253         List JavaDoc deps = model.getDependencies();
254         assertEquals( 1, deps.size() );
255
256         Dependency result = (Dependency) deps.get( 0 );
257
258         assertEquals( "scope", result.getScope() );
259     }
260
261     public void testShouldNotMergeDefaultScopeWhenDependencySuppliesScope()
262     {
263         Model model = new Model();
264
265         Dependency dep = new Dependency();
266         dep.setGroupId( "myGroup" );
267         dep.setArtifactId( "myArtifact" );
268         dep.setVersion( "1.0.1" );
269         dep.setScope( "scope" );
270
271         model.addDependency( dep );
272
273         Dependency def = new Dependency();
274         def.setGroupId( dep.getGroupId() );
275         def.setArtifactId( dep.getArtifactId() );
276         def.setScope( "default" );
277
278         DependencyManagement depMgmt = new DependencyManagement();
279
280         depMgmt.addDependency( def );
281
282         model.setDependencyManagement( depMgmt );
283
284         new DefaultModelDefaultsInjector().injectDefaults( model );
285
286         List JavaDoc deps = model.getDependencies();
287         assertEquals( 1, deps.size() );
288
289         Dependency result = (Dependency) deps.get( 0 );
290         assertEquals( "scope", result.getScope() );
291     }
292
293     public void testShouldRejectDependencyWhereNoVersionIsFoundAfterDefaultsInjection()
294     {
295         Model model = new Model();
296
297         Dependency dep = new Dependency();
298         dep.setGroupId( "myGroup" );
299         dep.setArtifactId( "myArtifact" );
300
301         model.addDependency( dep );
302
303         Dependency def = new Dependency();
304         def.setGroupId( dep.getGroupId() );
305         def.setArtifactId( dep.getArtifactId() );
306
307         DependencyManagement depMgmt = new DependencyManagement();
308
309         depMgmt.addDependency( def );
310
311         model.setDependencyManagement( depMgmt );
312
313 // try
314
// {
315
new DefaultModelDefaultsInjector().injectDefaults( model );
316         Dependency dependency = (Dependency) model.getDependencies().get( 0 );
317         assertNull( "check version is null", dependency.getVersion() );
318 // fail("Should fail to validate dependency without a version.");
319
// }
320
// catch ( IllegalStateException e )
321
// {
322
// // should throw when it detects a missing version in the test dependency.
323
// }
324
}
325
326 }
327
Popular Tags