KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > resolver > DualResolverTest


1 /*
2  * This file is subject to the license found in LICENCE.TXT in the root directory of the project.
3  *
4  * #SNAPSHOT#
5  */

6 package fr.jayasoft.ivy.resolver;
7
8 import java.util.Arrays JavaDoc;
9 import java.util.GregorianCalendar JavaDoc;
10
11 import fr.jayasoft.ivy.DefaultDependencyDescriptor;
12 import fr.jayasoft.ivy.DependencyDescriptor;
13 import fr.jayasoft.ivy.DependencyResolver;
14 import fr.jayasoft.ivy.Ivy;
15 import fr.jayasoft.ivy.ModuleRevisionId;
16 import fr.jayasoft.ivy.ResolveData;
17 import fr.jayasoft.ivy.ResolvedModuleRevision;
18 import fr.jayasoft.ivy.xml.XmlIvyConfigurationParser;
19 import junit.framework.TestCase;
20
21 /**
22  * Test for DualResolver
23  */

24 public class DualResolverTest extends TestCase {
25     private ResolveData _data = new ResolveData(new Ivy(), null, null, null, true);
26
27     public void testFromConf() throws Exception JavaDoc {
28         Ivy ivy = new Ivy();
29         new XmlIvyConfigurationParser(ivy).parse(DualResolverTest.class.getResource("dualresolverconf.xml"));
30         
31         DependencyResolver resolver = ivy.getResolver("dualok");
32         assertNotNull(resolver);
33         assertTrue(resolver instanceof DualResolver);
34         DualResolver dual = (DualResolver)resolver;
35         assertNotNull(dual.getIvyResolver());
36         assertEquals("ivy", dual.getIvyResolver().getName());
37         assertNotNull(dual.getArtifactResolver());
38         assertEquals("artifact", dual.getArtifactResolver().getName());
39
40         resolver = ivy.getResolver("dualnotenough");
41         assertNotNull(resolver);
42         assertTrue(resolver instanceof DualResolver);
43         dual = (DualResolver)resolver;
44         assertNotNull(dual.getIvyResolver());
45         assertNull(dual.getArtifactResolver());
46     }
47
48     public void testFromBadConf() throws Exception JavaDoc {
49         Ivy ivy = new Ivy();
50         try {
51             new XmlIvyConfigurationParser(ivy).parse(DualResolverTest.class.getResource("dualresolverconf-bad.xml"));
52             fail("bad dual resolver configuration should raise exception");
53         } catch (Exception JavaDoc ex) {
54             // ok -> bad conf has raised an exception
55
}
56     }
57
58     public void testBad() throws Exception JavaDoc {
59         DualResolver dual = new DualResolver();
60         dual.setIvyResolver(new IBiblioResolver());
61         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org","mod", "rev"), false);
62         try {
63             dual.getDependency(dd, _data);
64             fail("bad dual resolver configuration should raise exception");
65         } catch (Exception JavaDoc ex) {
66             // ok -> should have raised an exception
67
}
68     }
69
70     public void testResolve() throws Exception JavaDoc {
71         DualResolver dual = new DualResolver();
72         MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", true, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
73         MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", false, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
74         dual.setIvyResolver(ivyResolver);
75         dual.setArtifactResolver(artifactResolver);
76         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org","mod", "rev"), false);
77         ResolvedModuleRevision rmr = dual.getDependency(dd, _data);
78         
79         assertNotNull(rmr);
80         assertEquals(dual, rmr.getArtifactResolver());
81         assertEquals(Arrays.asList(new DependencyDescriptor[] {dd}), ivyResolver.askedDeps);
82         assertTrue(artifactResolver.askedDeps.isEmpty());
83     }
84
85     public void testResolveFromArtifact() throws Exception JavaDoc {
86         DualResolver dual = new DualResolver();
87         MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", false, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
88         MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", true, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
89         dual.setIvyResolver(ivyResolver);
90         dual.setArtifactResolver(artifactResolver);
91         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org","mod", "rev"), false);
92         ResolvedModuleRevision rmr = dual.getDependency(dd, _data);
93         
94         assertNotNull(rmr);
95         assertEquals(artifactResolver, rmr.getResolver());
96         assertEquals(Arrays.asList(new DependencyDescriptor[] {dd}), ivyResolver.askedDeps);
97         assertEquals(Arrays.asList(new DependencyDescriptor[] {dd}), artifactResolver.askedDeps);
98     }
99
100     public void testResolveFail() throws Exception JavaDoc {
101         DualResolver dual = new DualResolver();
102         MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", false, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
103         MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", false, new GregorianCalendar JavaDoc(2005, 1, 20).getTime());
104         dual.setIvyResolver(ivyResolver);
105         dual.setArtifactResolver(artifactResolver);
106         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org","mod", "rev"), false);
107         ResolvedModuleRevision rmr = dual.getDependency(dd, _data);
108         
109         assertNull(rmr);
110         assertEquals(Arrays.asList(new DependencyDescriptor[] {dd}), ivyResolver.askedDeps);
111         assertEquals(Arrays.asList(new DependencyDescriptor[] {dd}), artifactResolver.askedDeps);
112     }
113 }
114
Popular Tags