KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > external > m2 > PomModuleDescriptorParserTest


1 /*
2  * This file is subject to the licence found in LICENCE.TXT in the root directory of the project.
3  * Copyright Jayasoft 2005 - All rights reserved
4  *
5  * #SNAPSHOT#
6  */

7 package fr.jayasoft.ivy.external.m2;
8
9 import java.util.Arrays JavaDoc;
10 import java.util.HashSet JavaDoc;
11
12 import fr.jayasoft.ivy.Artifact;
13 import fr.jayasoft.ivy.DependencyDescriptor;
14 import fr.jayasoft.ivy.Ivy;
15 import fr.jayasoft.ivy.ModuleDescriptor;
16 import fr.jayasoft.ivy.ModuleId;
17 import fr.jayasoft.ivy.ModuleRevisionId;
18 import fr.jayasoft.ivy.parser.AbstractModuleDescriptorParserTester;
19 import fr.jayasoft.ivy.repository.url.URLResource;
20 import fr.jayasoft.ivy.xml.XmlModuleDescriptorParserTest;
21
22 public class PomModuleDescriptorParserTest extends AbstractModuleDescriptorParserTester {
23     // junit test -- DO NOT REMOVE used by ant to know it's a junit test
24

25
26     public void testAccept() throws Exception JavaDoc {
27         assertTrue(PomModuleDescriptorParser.getInstance().accept(
28                 new URLResource(getClass().getResource("test-simple.pom"))));
29         assertFalse(PomModuleDescriptorParser.getInstance().accept(
30                 new URLResource(XmlModuleDescriptorParserTest.class.getResource("test.xml"))));
31     }
32     
33     public void testSimple() throws Exception JavaDoc {
34         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-simple.pom"), false);
35         assertNotNull(md);
36         
37         ModuleRevisionId mrid = ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0");
38         assertEquals(mrid, md.getModuleRevisionId());
39         
40         assertNotNull(md.getConfigurations());
41         assertEquals(Arrays.asList(PomModuleDescriptorParser.MAVEN2_CONFIGURATIONS), Arrays.asList(md.getConfigurations()));
42         
43         Artifact[] artifact = md.getArtifacts("master");
44         assertEquals(1, artifact.length);
45         assertEquals(mrid, artifact[0].getModuleRevisionId());
46         assertEquals("test", artifact[0].getName());
47     }
48     
49     public void testParent() throws Exception JavaDoc {
50         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-parent.pom"), false);
51         assertNotNull(md);
52         
53         ModuleRevisionId mrid = ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0");
54         assertEquals(mrid, md.getModuleRevisionId());
55         
56         assertNotNull(md.getConfigurations());
57         assertEquals(Arrays.asList(PomModuleDescriptorParser.MAVEN2_CONFIGURATIONS), Arrays.asList(md.getConfigurations()));
58         
59         Artifact[] artifact = md.getArtifacts("master");
60         assertEquals(1, artifact.length);
61         assertEquals(mrid, artifact[0].getModuleRevisionId());
62         assertEquals("test", artifact[0].getName());
63     }
64     
65     public void testParent2() throws Exception JavaDoc {
66         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-parent2.pom"), false);
67         assertNotNull(md);
68         
69         ModuleRevisionId mrid = ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0");
70         assertEquals(mrid, md.getModuleRevisionId());
71         
72         assertNotNull(md.getConfigurations());
73         assertEquals(Arrays.asList(PomModuleDescriptorParser.MAVEN2_CONFIGURATIONS), Arrays.asList(md.getConfigurations()));
74         
75         Artifact[] artifact = md.getArtifacts("master");
76         assertEquals(1, artifact.length);
77         assertEquals(mrid, artifact[0].getModuleRevisionId());
78         assertEquals("test", artifact[0].getName());
79     }
80     
81     public void testDependencies() throws Exception JavaDoc {
82         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-dependencies.pom"), false);
83         assertNotNull(md);
84         
85         assertEquals(ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0"), md.getModuleRevisionId());
86         
87         DependencyDescriptor[] dds = md.getDependencies();
88         assertNotNull(dds);
89         assertEquals(1, dds.length);
90         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId());
91     }
92     
93     public void testWithoutVersion() throws Exception JavaDoc {
94         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-without-version.pom"), false);
95         assertNotNull(md);
96         
97         assertEquals(new ModuleId("fr.jayasoft", "test"), md.getModuleRevisionId().getModuleId());
98         
99         DependencyDescriptor[] dds = md.getDependencies();
100         assertNotNull(dds);
101         assertEquals(1, dds.length);
102         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId());
103     }
104     
105     public void testProperties() throws Exception JavaDoc {
106         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-properties.pom"), false);
107         assertNotNull(md);
108         
109         assertEquals(ModuleRevisionId.newInstance("drools", "drools-smf", "2.0-beta-18"), md.getModuleRevisionId());
110         
111         DependencyDescriptor[] dds = md.getDependencies();
112         assertNotNull(dds);
113         assertEquals(1, dds.length);
114         assertEquals(ModuleRevisionId.newInstance("drools", "drools-core", "2.0-beta-18"), dds[0].getDependencyRevisionId());
115     }
116     
117     public void testReal() throws Exception JavaDoc {
118         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("commons-lang-1.0.pom"), false);
119         assertNotNull(md);
120         
121         assertEquals(ModuleRevisionId.newInstance("commons-lang", "commons-lang", "1.0"), md.getModuleRevisionId());
122         
123         DependencyDescriptor[] dds = md.getDependencies();
124         assertNotNull(dds);
125         assertEquals(1, dds.length);
126         assertEquals(ModuleRevisionId.newInstance("junit", "junit", "3.7"), dds[0].getDependencyRevisionId());
127     }
128     
129     public void testOptional() throws Exception JavaDoc {
130         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-optional.pom"), false);
131         assertNotNull(md);
132         
133         assertEquals(ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0"), md.getModuleRevisionId());
134         assertTrue(Arrays.asList(md.getConfigurationsNames()).contains("optional"));
135         
136         DependencyDescriptor[] dds = md.getDependencies();
137         assertNotNull(dds);
138         assertEquals(2, dds.length);
139         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId());
140         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"optional"})), new HashSet JavaDoc(Arrays.asList(dds[0].getModuleConfigurations())));
141         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile(*)", "runtime(*)", "master(*)"})), new HashSet JavaDoc(Arrays.asList(dds[0].getDependencyConfigurations("optional"))));
142         
143         assertEquals(ModuleRevisionId.newInstance("cglib", "cglib", "2.0.2"), dds[1].getDependencyRevisionId());
144         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[1].getModuleConfigurations())));
145         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("compile"))));
146         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("runtime"))));
147     }
148     
149     public void testDependenciesWithScope() throws Exception JavaDoc {
150         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-dependencies-with-scope.pom"), false);
151         assertNotNull(md);
152         
153         assertEquals(ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0"), md.getModuleRevisionId());
154         
155         DependencyDescriptor[] dds = md.getDependencies();
156         assertNotNull(dds);
157         assertEquals(3, dds.length);
158         assertEquals(ModuleRevisionId.newInstance("odmg", "odmg", "3.0"), dds[0].getDependencyRevisionId());
159         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime"})), new HashSet JavaDoc(Arrays.asList(dds[0].getModuleConfigurations())));
160         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile(*)", "runtime(*)", "master(*)"})), new HashSet JavaDoc(Arrays.asList(dds[0].getDependencyConfigurations("runtime"))));
161         
162         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[1].getDependencyRevisionId());
163         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[1].getModuleConfigurations())));
164         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("compile"))));
165         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("runtime"))));
166         
167         
168         assertEquals(ModuleRevisionId.newInstance("cglib", "cglib", "2.0.2"), dds[2].getDependencyRevisionId());
169         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[2].getModuleConfigurations())));
170         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[2].getDependencyConfigurations("compile"))));
171         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[2].getDependencyConfigurations("runtime"))));
172     }
173     
174     public void testExclusion() throws Exception JavaDoc {
175         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new Ivy(), getClass().getResource("test-exclusion.pom"), false);
176         assertNotNull(md);
177         
178         assertEquals(ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0"), md.getModuleRevisionId());
179         
180         DependencyDescriptor[] dds = md.getDependencies();
181         assertNotNull(dds);
182         assertEquals(3, dds.length);
183         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId());
184         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[0].getModuleConfigurations())));
185         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[0].getDependencyConfigurations("compile"))));
186         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[0].getDependencyConfigurations("runtime"))));
187         assertEquals(0, dds[0].getAllDependencyArtifactsExcludes().length);
188         
189         assertEquals(ModuleRevisionId.newInstance("dom4j", "dom4j", "1.6"), dds[1].getDependencyRevisionId());
190         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[1].getModuleConfigurations())));
191         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("compile"))));
192         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[1].getDependencyConfigurations("runtime"))));
193         assertDependencyModulesExcludes(dds[1], new String JavaDoc[] {"compile"}, new String JavaDoc[] {"jaxme-api", "jaxen"});
194         assertDependencyModulesExcludes(dds[1], new String JavaDoc[] {"runtime"}, new String JavaDoc[] {"jaxme-api", "jaxen"});
195         
196         assertEquals(ModuleRevisionId.newInstance("cglib", "cglib", "2.0.2"), dds[2].getDependencyRevisionId());
197         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"compile", "runtime"})), new HashSet JavaDoc(Arrays.asList(dds[2].getModuleConfigurations())));
198         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"master(*)", "compile(*)"})), new HashSet JavaDoc(Arrays.asList(dds[2].getDependencyConfigurations("compile"))));
199         assertEquals(new HashSet JavaDoc(Arrays.asList(new String JavaDoc[] {"runtime(*)"})), new HashSet JavaDoc(Arrays.asList(dds[2].getDependencyConfigurations("runtime"))));
200         assertEquals(0, dds[2].getAllDependencyArtifactsExcludes().length);
201     }
202 }
203
Popular Tags