1 6 package fr.jayasoft.ivy.resolver; 7 8 import java.util.Arrays ; 9 import java.util.GregorianCalendar ; 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 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 { 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 { 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 ex) { 54 } 56 } 57 58 public void testBad() throws Exception { 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 ex) { 66 } 68 } 69 70 public void testResolve() throws Exception { 71 DualResolver dual = new DualResolver(); 72 MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", true, new GregorianCalendar (2005, 1, 20).getTime()); 73 MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", false, new GregorianCalendar (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 { 86 DualResolver dual = new DualResolver(); 87 MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", false, new GregorianCalendar (2005, 1, 20).getTime()); 88 MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", true, new GregorianCalendar (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 { 101 DualResolver dual = new DualResolver(); 102 MockResolver ivyResolver = MockResolver.buildMockResolver("ivy", false, new GregorianCalendar (2005, 1, 20).getTime()); 103 MockResolver artifactResolver = MockResolver.buildMockResolver("artifact", false, new GregorianCalendar (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 |