1 6 package fr.jayasoft.ivy.ant; 7 8 import java.io.File ; 9 10 import junit.framework.TestCase; 11 12 import org.apache.tools.ant.BuildException; 13 import org.apache.tools.ant.Project; 14 import org.apache.tools.ant.taskdefs.Delete; 15 16 import fr.jayasoft.ivy.Ivy; 17 import fr.jayasoft.ivy.ModuleRevisionId; 18 19 public class IvyResolveTest extends TestCase { 20 private File _cache; 21 private IvyResolve _resolve; 22 23 protected void setUp() throws Exception { 24 createCache(); 25 Project project = new Project(); 26 project.setProperty("ivy.conf.file", "test/repositories/ivyconf.xml"); 27 28 _resolve = new IvyResolve(); 29 _resolve.setProject(project); 30 _resolve.setCache(_cache); 31 } 32 33 private void createCache() { 34 _cache = new File ("build/cache"); 35 _cache.mkdirs(); 36 } 37 38 protected void tearDown() throws Exception { 39 cleanCache(); 40 } 41 42 private void cleanCache() { 43 Delete del = new Delete(); 44 del.setProject(new Project()); 45 del.setDir(_cache); 46 del.execute(); 47 } 48 49 public void testSimple() throws Exception { 50 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-simple.xml")); 52 _resolve.execute(); 53 54 assertTrue(getIvy().getResolvedIvyFileInCache(_cache, ModuleRevisionId.newInstance("jayasoft", "resolve-simple", "1.0")).exists()); 55 56 assertTrue(getIvy().getIvyFileInCache(_cache, ModuleRevisionId.newInstance("org1", "mod1.2", "2.0")).exists()); 58 assertTrue(getIvy().getArchiveFileInCache(_cache, "org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists()); 59 } 60 61 public void testInline() throws Exception { 62 _resolve.setOrganisation("org1"); 64 _resolve.setModule("mod1.2"); 65 _resolve.setRevision("2.0"); 66 _resolve.setInline(true); 67 _resolve.execute(); 68 69 assertTrue(getIvy().getIvyFileInCache(_cache, ModuleRevisionId.newInstance("org1", "mod1.2", "2.0")).exists()); 71 assertTrue(getIvy().getArchiveFileInCache(_cache, "org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists()); 72 } 73 74 public void testWithSlashes() throws Exception { 75 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ivy-198.xml")); 76 _resolve.execute(); 77 78 File resolvedIvyFileInCache = getIvy().getResolvedIvyFileInCache(_cache, ModuleRevisionId.newInstance("myorg/mydep", "system/module", "1.0")); 79 assertTrue(resolvedIvyFileInCache.exists()); 80 81 assertTrue(getIvy().getIvyFileInCache(_cache, ModuleRevisionId.newInstance("org1", "mod1.2", "2.0")).exists()); 83 assertTrue(getIvy().getArchiveFileInCache(_cache, "org1", "mod1.2", "2.0", "mod1.2", "jar", "jar").exists()); 84 85 assertTrue(getIvy().getIvyFileInCache(_cache, ModuleRevisionId.newInstance("yourorg/yourdep", "yoursys/yourmod", "1.0")).exists()); 86 assertTrue(getIvy().getArchiveFileInCache(_cache, "yourorg/yourdep", "yoursys/yourmod", "1.0", "yourmod", "jar", "jar").exists()); 87 } 88 89 public void testDepsChanged() throws Exception { 90 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-simple.xml")); 91 _resolve.execute(); 92 93 assertEquals("true", getIvy().getVariable("ivy.deps.changed")); 94 95 _resolve.execute(); 96 97 assertEquals("false", getIvy().getVariable("ivy.deps.changed")); 98 } 99 100 public void testConflictingDepsChanged() throws Exception { 101 _resolve.setFile(new File ("test/repositories/2/mod4.1/ivy-4.1.xml")); 102 _resolve.execute(); 103 104 assertEquals("true", getIvy().getVariable("ivy.deps.changed")); 105 106 _resolve.execute(); 107 108 assertEquals("false", getIvy().getVariable("ivy.deps.changed")); 109 } 110 111 public void testDouble() throws Exception { 112 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-simple.xml")); 113 _resolve.execute(); 114 115 assertEquals("resolve-simple", getIvy().getVariable("ivy.module")); 116 117 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-double.xml")); 118 _resolve.execute(); 119 120 assertEquals("resolve-double", getIvy().getVariable("ivy.module")); 121 } 122 123 public void testFailure() throws Exception { 124 try { 125 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-failure.xml")); 126 _resolve.execute(); 127 fail("failure didn't raised an exception with default haltonfailure setting"); 128 } catch (BuildException ex) { 129 } 131 } 132 133 public void testFailureOnBadDependencyIvyFile() throws Exception { 134 try { 135 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-failure2.xml")); 136 _resolve.execute(); 137 fail("failure didn't raised an exception with default haltonfailure setting"); 138 } catch (BuildException ex) { 139 } 141 } 142 143 public void testFailureOnBadStatusInDependencyIvyFile() throws Exception { 144 try { 145 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-failure3.xml")); 146 _resolve.execute(); 147 fail("failure didn't raised an exception with default haltonfailure setting"); 148 } catch (BuildException ex) { 149 } 151 } 152 153 public void testHaltOnFailure() throws Exception { 154 try { 155 _resolve.setFile(new File ("test/java/fr/jayasoft/ivy/ant/ivy-failure.xml")); 156 _resolve.setHaltonfailure(false); 157 _resolve.execute(); 158 } catch (BuildException ex) { 159 ex.printStackTrace(); 160 fail("failure raised an exception with haltonfailure set to false"); 161 } 162 } 163 164 private Ivy getIvy() { 165 return _resolve.getIvyInstance(); 166 } 167 168 169 } 170 | Popular Tags |