]> source.dussan.org Git - archiva.git/blob
ed06ac95a1aca306b933492a58f4d9112f6eea21
[archiva.git] /
1 package org.apache.maven.archiva.repository.project.filters;
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 org.apache.maven.archiva.model.ArchivaProjectModel;
23 import org.apache.maven.archiva.model.Dependency;
24 import org.apache.maven.archiva.repository.project.ProjectModelException;
25 import org.apache.maven.archiva.repository.project.filters.ProjectModelExpressionExpander;
26
27 import java.util.Iterator;
28
29 import junit.framework.TestCase;
30
31 /**
32  * ProjectModelExpressionExpanderTest 
33  *
34  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
35  * @version $Id$
36  */
37 public class ProjectModelExpressionExpanderTest
38     extends TestCase
39 {
40     public void testExpressionEvaluation()
41         throws ProjectModelException
42     {
43         ArchivaProjectModel model = new ArchivaProjectModel();
44         model.setGroupId( "org.apache.maven.archiva" );
45         model.setArtifactId( "archiva-test-project" );
46         model.setVersion( "1.0-SNAPSHOT" );
47
48         model.addDependency( createDependency( "org.apache.maven.archiva", "archiva-model", "${archiva.version}" ) );
49         model.addDependency( createDependency( "org.apache.maven.archiva", "archiva-common", "${archiva.version}" ) );
50         model.addDependency( createDependency( "org.apache.maven.archiva", "archiva-indexer", "${archiva.version}" ) );
51
52         model.addProperty( "archiva.version", "1.0-SNAPSHOT" );
53
54         ProjectModelExpressionExpander.evaluateExpressions( model );
55
56         assertNotNull( model );
57         assertEquals( "Group ID", "org.apache.maven.archiva", model.getGroupId() );
58         assertEquals( "Artifact ID", "archiva-test-project", model.getArtifactId() );
59         assertEquals( "Version", "1.0-SNAPSHOT", model.getVersion() );
60         assertNotNull( "Dependencies", model.getDependencies() );
61         assertEquals( "Dependencies Size", 3, model.getDependencies().size() );
62
63         Iterator it = model.getDependencies().iterator();
64         while ( it.hasNext() )
65         {
66             Dependency dep = (Dependency) it.next();
67             assertEquals( "Dependency [" + dep.getArtifactId() + "] Group ID", "org.apache.maven.archiva", dep
68                 .getGroupId() );
69             assertEquals( "Dependency [" + dep.getArtifactId() + "] Version", "1.0-SNAPSHOT", dep.getVersion() );
70         }
71     }
72
73     private Dependency createDependency( String groupId, String artifactId, String version )
74     {
75         Dependency dep = new Dependency();
76
77         dep.setGroupId( groupId );
78         dep.setArtifactId( artifactId );
79         dep.setVersion( version );
80
81         return dep;
82     }
83
84 }