1 6 package fr.jayasoft.ivy.resolver; 7 8 import java.io.BufferedReader ; 9 import java.io.File ; 10 import java.io.FileReader ; 11 import java.util.Date ; 12 import java.util.GregorianCalendar ; 13 14 import junit.framework.TestCase; 15 16 import org.apache.tools.ant.Project; 17 import org.apache.tools.ant.taskdefs.Delete; 18 19 import fr.jayasoft.ivy.Artifact; 20 import fr.jayasoft.ivy.DefaultArtifact; 21 import fr.jayasoft.ivy.DefaultDependencyDescriptor; 22 import fr.jayasoft.ivy.Ivy; 23 import fr.jayasoft.ivy.ModuleRevisionId; 24 import fr.jayasoft.ivy.ResolveData; 25 import fr.jayasoft.ivy.ResolvedModuleRevision; 26 import fr.jayasoft.ivy.latest.LatestRevisionStrategy; 27 import fr.jayasoft.ivy.latest.LatestTimeStrategy; 28 import fr.jayasoft.ivy.report.ArtifactDownloadReport; 29 import fr.jayasoft.ivy.report.DownloadReport; 30 import fr.jayasoft.ivy.report.DownloadStatus; 31 import fr.jayasoft.ivy.util.FileUtil; 32 33 36 public class FileSystemResolverTest extends TestCase { 37 38 private static final String FS = System.getProperty("file.separator"); 39 private static final String IVY_PATTERN = "test"+FS+"repositories"+FS+"1"+FS+"[organisation]"+FS+"[module]"+FS+"ivys"+FS+"ivy-[revision].xml"; 40 private File _cache; 41 private ResolveData _data; 42 private Ivy _ivy = new Ivy(); 43 44 public FileSystemResolverTest() { 45 setupLastModified(); 46 } 47 48 protected void setUp() throws Exception { 49 _cache = new File ("build/cache"); 50 _data = new ResolveData(_ivy, _cache, null, null, true); 51 _cache.mkdirs(); 52 } 53 54 private void setupLastModified() { 55 long minute = 60 * 1000; 57 long time = new GregorianCalendar ().getTimeInMillis() - (4 * minute); 58 new File ("test/repositories/1/org1/mod1.1/ivys/ivy-1.0.xml").setLastModified(time); 59 time += minute; 60 new File ("test/repositories/1/org1/mod1.1/ivys/ivy-1.0.1.xml").setLastModified(time); 61 time += minute; 62 new File ("test/repositories/1/org1/mod1.1/ivys/ivy-1.1.xml").setLastModified(time); 63 time += minute; 64 new File ("test/repositories/1/org1/mod1.1/ivys/ivy-2.0.xml").setLastModified(time); 65 } 66 67 protected void tearDown() throws Exception { 68 Delete del = new Delete(); 69 del.setProject(new Project()); 70 del.setDir(_cache); 71 del.execute(); 72 } 73 74 public void testFixedRevision() throws Exception { 75 FileSystemResolver resolver = new FileSystemResolver(); 76 resolver.setName("test"); 77 resolver.setIvy(_ivy); 78 assertEquals("test", resolver.getName()); 79 80 resolver.addIvyPattern(IVY_PATTERN); 81 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 82 83 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.0"); 84 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 85 assertNotNull(rmr); 86 87 assertEquals(mrid, rmr.getId()); 88 Date pubdate = new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(); 89 assertEquals(pubdate, rmr.getPublicationDate()); 90 91 92 DefaultArtifact artifact = new DefaultArtifact(mrid, pubdate, "mod1.1", "jar", "jar"); 94 DownloadReport report = resolver.download(new Artifact[] {artifact}, _data.getIvy(), _cache, false); 95 assertNotNull(report); 96 97 assertEquals(1, report.getArtifactsReports().length); 98 99 ArtifactDownloadReport ar = report.getArtifactReport(artifact); 100 assertNotNull(ar); 101 102 assertEquals(artifact, ar.getArtifact()); 103 assertEquals(DownloadStatus.SUCCESSFUL, ar.getDownloadStatus()); 104 105 report = resolver.download(new Artifact[] {artifact}, _data.getIvy(), _cache, false); 107 assertNotNull(report); 108 109 assertEquals(1, report.getArtifactsReports().length); 110 111 ar = report.getArtifactReport(artifact); 112 assertNotNull(ar); 113 114 assertEquals(artifact, ar.getArtifact()); 115 assertEquals(DownloadStatus.NO, ar.getDownloadStatus()); 116 } 117 118 public void testMaven2() throws Exception { 119 FileSystemResolver resolver = new FileSystemResolver(); 120 resolver.setName("test"); 121 resolver.setIvy(_ivy); 122 resolver.setM2compatible(true); 123 assertEquals("test", resolver.getName()); 124 125 resolver.addIvyPattern("test/repositories/m2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"); 126 resolver.addArtifactPattern("test/repositories/m2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"); 127 128 ModuleRevisionId mrid = ModuleRevisionId.newInstance("fr.jayasoft", "test", "1.0"); 129 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 130 assertNotNull(rmr); 131 132 mrid = ModuleRevisionId.newInstance("fr.jayasoft.unknown", "test", "1.0"); 133 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 134 assertNull(rmr); 135 resolver.reportFailure(); 136 } 137 138 public void testChecksum() throws Exception { 139 FileSystemResolver resolver = new FileSystemResolver(); 140 resolver.setName("test"); 141 resolver.setIvy(_ivy); 142 143 resolver.addIvyPattern("test/repositories/checksums/[module]/[artifact]-[revision].[ext]"); 144 resolver.addArtifactPattern("test/repositories/checksums/[module]/[artifact]-[revision].[ext]"); 145 146 resolver.setChecksums("sha1, md5"); 147 ModuleRevisionId mrid = ModuleRevisionId.newInstance("test", "allright", "1.0"); 148 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 149 assertNotNull(rmr); 150 DownloadReport dr = resolver.download(rmr.getDescriptor().getAllArtifacts(), _ivy, _cache, false); 151 assertEquals(2, dr.getArtifactsReports(DownloadStatus.SUCCESSFUL).length); 152 153 resolver.setChecksums("md5"); 154 mrid = ModuleRevisionId.newInstance("test", "badivycs", "1.0"); 155 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 156 assertNull(rmr); 157 resolver.setChecksums("none"); 158 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 159 assertNotNull(rmr); 160 dr = resolver.download(new Artifact[] {new DefaultArtifact(mrid, rmr.getPublicationDate(), mrid.getName(), "jar", "jar")}, _ivy, _cache, false); 161 assertEquals(1, dr.getArtifactsReports(DownloadStatus.SUCCESSFUL).length); 162 163 resolver.setChecksums("md5"); 164 mrid = ModuleRevisionId.newInstance("test", "badartcs", "1.0"); 165 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 166 assertNotNull(rmr); 167 dr = resolver.download(new Artifact[] {new DefaultArtifact(mrid, rmr.getPublicationDate(), mrid.getName(), "jar", "jar")}, _ivy, _cache, false); 168 assertEquals(1, dr.getArtifactsReports(DownloadStatus.FAILED).length); 169 170 resolver.setChecksums(""); 171 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 172 assertNotNull(rmr); 173 dr = resolver.download(new Artifact[] {new DefaultArtifact(mrid, rmr.getPublicationDate(), mrid.getName(), "jar", "jar")}, _ivy, _cache, false); 174 assertEquals(1, dr.getArtifactsReports(DownloadStatus.SUCCESSFUL).length); 175 } 176 177 public void testCheckModified() throws Exception { 178 FileSystemResolver resolver = new FileSystemResolver(); 179 resolver.setName("test"); 180 resolver.setIvy(_ivy); 181 _ivy.addResolver(resolver); 182 assertEquals("test", resolver.getName()); 183 184 resolver.addIvyPattern("test"+FS+"repositories"+FS+"checkmodified"+FS+"ivy-[revision].xml"); 185 File modify = new File ("test/repositories/checkmodified/ivy-1.0.xml"); 186 FileUtil.copy(new File ("test/repositories/checkmodified/ivy-1.0-before.xml"), modify, null); 187 Date pubdate = new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(); 188 modify.setLastModified(pubdate.getTime()); 189 190 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.0"); 191 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 192 assertNotNull(rmr); 193 194 assertEquals(mrid, rmr.getId()); 195 assertEquals(pubdate, rmr.getPublicationDate()); 196 197 FileUtil.copy(new File ("test/repositories/checkmodified/ivy-1.0-after.xml"), modify, null); 199 pubdate = new GregorianCalendar (2005, 4, 1, 11, 0, 0).getTime(); 200 modify.setLastModified(pubdate.getTime()); 201 202 resolver.setCheckmodified(false); 204 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 205 assertNotNull(rmr); 206 207 assertEquals(mrid, rmr.getId()); 208 assertEquals(new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(), rmr.getPublicationDate()); 209 210 resolver.setCheckmodified(true); 212 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 213 assertNotNull(rmr); 214 215 assertEquals(mrid, rmr.getId()); 216 assertEquals(pubdate, rmr.getPublicationDate()); 217 } 218 219 public void testNoRevision() throws Exception { 220 FileSystemResolver resolver = new FileSystemResolver(); 221 resolver.setName("test"); 222 resolver.setIvy(_ivy); 223 _ivy.addResolver(resolver); 224 assertEquals("test", resolver.getName()); 225 226 resolver.addIvyPattern("test"+FS+"repositories"+FS+"norevision"+FS+"ivy-[module].xml"); 227 resolver.addArtifactPattern("test"+FS+"repositories"+FS+"norevision"+FS+"[artifact].[ext]"); 228 File modify = new File ("test/repositories/norevision/ivy-mod1.1.xml"); 229 File artifact = new File ("test/repositories/norevision/mod1.1.jar"); 230 231 FileUtil.copy(new File ("test/repositories/norevision/ivy-mod1.1-before.xml"), modify, null); 233 FileUtil.copy(new File ("test/repositories/norevision/mod1.1-before.jar"), artifact, null); 234 Date pubdate = new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(); 235 modify.setLastModified(pubdate.getTime()); 236 237 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "latest.integration"); 238 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 239 assertNotNull(rmr); 240 241 assertEquals(ModuleRevisionId.newInstance("org1", "mod1.1", "1.0"), rmr.getId()); 242 assertEquals(pubdate, rmr.getPublicationDate()); 243 244 Artifact[] artifacts = rmr.getDescriptor().getArtifacts("default"); 245 File archiveFileInCache = _ivy.getArchiveFileInCache(_cache, artifacts[0]); 246 resolver.download(artifacts, _ivy, _cache, false); 247 assertTrue(archiveFileInCache.exists()); 248 BufferedReader r = new BufferedReader (new FileReader (archiveFileInCache)); 249 assertEquals("before", r.readLine()); 250 r.close(); 251 252 FileUtil.copy(new File ("test/repositories/norevision/ivy-mod1.1-after.xml"), modify, null); 254 FileUtil.copy(new File ("test/repositories/norevision/mod1.1-after.jar"), artifact, null); 255 pubdate = new GregorianCalendar (2005, 4, 1, 11, 0, 0).getTime(); 256 modify.setLastModified(pubdate.getTime()); 257 259 resolver.setCheckmodified(false); 261 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 262 assertNotNull(rmr); 263 264 assertEquals(ModuleRevisionId.newInstance("org1", "mod1.1", "1.1"), rmr.getId()); 265 assertEquals(pubdate, rmr.getPublicationDate()); 266 267 artifacts = rmr.getDescriptor().getArtifacts("default"); 268 archiveFileInCache = _ivy.getArchiveFileInCache(_cache, artifacts[0]); 269 270 assertFalse(archiveFileInCache.exists()); 271 272 artifacts = rmr.getDescriptor().getArtifacts("default"); 274 resolver.download(artifacts, _ivy, _cache, false); 275 assertTrue(archiveFileInCache.exists()); 276 r = new BufferedReader (new FileReader (archiveFileInCache)); 277 assertEquals("after", r.readLine()); 278 r.close(); 279 } 280 281 public void testChanging() throws Exception { 282 FileSystemResolver resolver = new FileSystemResolver(); 283 resolver.setName("test"); 284 resolver.setIvy(_ivy); 285 _ivy.addResolver(resolver); 286 assertEquals("test", resolver.getName()); 287 288 resolver.addIvyPattern("test"+FS+"repositories"+FS+"checkmodified"+FS+"ivy-[revision].xml"); 289 resolver.addArtifactPattern("test"+FS+"repositories"+FS+"checkmodified"+FS+"[artifact]-[revision].[ext]"); 290 File modify = new File ("test/repositories/checkmodified/ivy-1.0.xml"); 291 File artifact = new File ("test/repositories/checkmodified/mod1.1-1.0.jar"); 292 293 FileUtil.copy(new File ("test/repositories/checkmodified/ivy-1.0-before.xml"), modify, null); 295 FileUtil.copy(new File ("test/repositories/checkmodified/mod1.1-1.0-before.jar"), artifact, null); 296 Date pubdate = new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(); 297 modify.setLastModified(pubdate.getTime()); 298 299 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.0"); 300 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 301 assertNotNull(rmr); 302 303 assertEquals(mrid, rmr.getId()); 304 assertEquals(pubdate, rmr.getPublicationDate()); 305 306 Artifact[] artifacts = rmr.getDescriptor().getArtifacts("default"); 307 resolver.download(artifacts, _ivy, _cache, false); 308 File archiveFileInCache = _ivy.getArchiveFileInCache(_cache, artifacts[0]); 309 assertTrue(archiveFileInCache.exists()); 310 BufferedReader r = new BufferedReader (new FileReader (archiveFileInCache)); 311 assertEquals("before", r.readLine()); 312 r.close(); 313 314 FileUtil.copy(new File ("test/repositories/checkmodified/ivy-1.0-after.xml"), modify, null); 316 FileUtil.copy(new File ("test/repositories/checkmodified/mod1.1-1.0-after.jar"), artifact, null); 317 pubdate = new GregorianCalendar (2005, 4, 1, 11, 0, 0).getTime(); 318 modify.setLastModified(pubdate.getTime()); 319 321 resolver.setCheckmodified(false); 323 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 324 assertNotNull(rmr); 325 326 assertEquals(mrid, rmr.getId()); 327 assertEquals(new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(), rmr.getPublicationDate()); 328 329 assertTrue(archiveFileInCache.exists()); 330 r = new BufferedReader (new FileReader (archiveFileInCache)); 331 assertEquals("before", r.readLine()); 332 r.close(); 333 334 rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false, true), _data); 336 assertNotNull(rmr); 337 338 assertEquals(mrid, rmr.getId()); 339 assertEquals(pubdate, rmr.getPublicationDate()); 340 341 assertFalse(archiveFileInCache.exists()); 342 343 artifacts = rmr.getDescriptor().getArtifacts("default"); 344 resolver.download(artifacts, _ivy, _cache, false); 345 assertTrue(archiveFileInCache.exists()); 346 r = new BufferedReader (new FileReader (archiveFileInCache)); 347 assertEquals("after", r.readLine()); 348 r.close(); 349 } 350 351 public void testLatestTime() throws Exception { 352 FileSystemResolver resolver = new FileSystemResolver(); 353 resolver.setName("test"); 354 resolver.setIvy(_ivy); 355 assertEquals("test", resolver.getName()); 356 357 resolver.addIvyPattern(IVY_PATTERN); 358 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 359 360 resolver.setLatestStrategy(new LatestTimeStrategy()); 361 362 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "2.0"); 363 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org1", "mod1.1", "latest.integration"), false), _data); 364 assertNotNull(rmr); 365 366 assertEquals(mrid, rmr.getId()); 367 Date pubdate = new GregorianCalendar (2005, 1, 15, 11, 0, 0).getTime(); 368 assertEquals(pubdate, rmr.getPublicationDate()); 369 } 370 371 public void testLatestRevision() throws Exception { 372 FileSystemResolver resolver = new FileSystemResolver(); 373 resolver.setName("test"); 374 resolver.setIvy(_ivy); 375 assertEquals("test", resolver.getName()); 376 377 resolver.addIvyPattern(IVY_PATTERN); 378 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 379 380 resolver.setLatestStrategy(new LatestRevisionStrategy()); 381 382 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "2.0"); 383 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org1", "mod1.1", "latest.integration"), false), _data); 384 assertNotNull(rmr); 385 386 assertEquals(mrid, rmr.getId()); 387 Date pubdate = new GregorianCalendar (2005, 1, 15, 11, 0, 0).getTime(); 388 assertEquals(pubdate, rmr.getPublicationDate()); 389 } 390 391 public void testRelativePath() throws Exception { 392 FileSystemResolver resolver = new FileSystemResolver(); 393 resolver.setName("test"); 394 resolver.setIvy(_ivy); 395 assertEquals("test", resolver.getName()); 396 397 resolver.addIvyPattern(new File ("src/java").getAbsolutePath()+"/../../"+IVY_PATTERN); 398 resolver.addArtifactPattern("src/../test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 399 400 resolver.setLatestStrategy(new LatestRevisionStrategy()); 401 402 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "2.0"); 403 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org1", "mod1.1", "latest.integration"), false), _data); 404 assertNotNull(rmr); 405 406 assertEquals(mrid, rmr.getId()); 407 Date pubdate = new GregorianCalendar (2005, 1, 15, 11, 0, 0).getTime(); 408 assertEquals(pubdate, rmr.getPublicationDate()); 409 } 410 411 public void testFormattedLatestTime() throws Exception { 412 FileSystemResolver resolver = new FileSystemResolver(); 413 resolver.setName("test"); 414 resolver.setIvy(_ivy); 415 assertEquals("test", resolver.getName()); 416 417 resolver.addIvyPattern(IVY_PATTERN); 418 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 419 420 resolver.setLatestStrategy(new LatestTimeStrategy()); 421 422 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.1"); 423 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org1", "mod1.1", "1+"), false), _data); 424 assertNotNull(rmr); 425 426 assertEquals(mrid, rmr.getId()); 427 Date pubdate = new GregorianCalendar (2005, 0, 2, 11, 0, 0).getTime(); 428 assertEquals(pubdate, rmr.getPublicationDate()); 429 } 430 431 public void testFormattedLatestRevision() throws Exception { 432 FileSystemResolver resolver = new FileSystemResolver(); 433 resolver.setName("test"); 434 resolver.setIvy(_ivy); 435 assertEquals("test", resolver.getName()); 436 437 resolver.addIvyPattern(IVY_PATTERN); 438 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 439 440 resolver.setLatestStrategy(new LatestRevisionStrategy()); 441 442 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.1"); 443 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("org1", "mod1.1", "1+"), false), _data); 444 assertNotNull(rmr); 445 446 assertEquals(mrid, rmr.getId()); 447 Date pubdate = new GregorianCalendar (2005, 0, 2, 11, 0, 0).getTime(); 448 assertEquals(pubdate, rmr.getPublicationDate()); 449 } 450 451 public void testPublish() throws Exception { 452 try { 453 FileSystemResolver resolver = new FileSystemResolver(); 454 resolver.setName("test"); 455 resolver.setIvy(_ivy); 456 assertEquals("test", resolver.getName()); 457 458 resolver.addIvyPattern("test"+FS+"repositories"+FS+"1"+FS+"[organisation]"+FS+"[module]"+FS+"[revision]"+FS+"[artifact].[ext]"); 459 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"); 460 461 ModuleRevisionId mrid = ModuleRevisionId.newInstance("myorg", "mymodule", "myrevision"); 462 Artifact ivyArtifact = new DefaultArtifact(mrid, new Date (), "ivy", "ivy", "xml"); 463 Artifact artifact = new DefaultArtifact(mrid, new Date (), "myartifact", "mytype", "myext"); 464 File src = new File ("test/repositories/ivyconf.xml"); 465 resolver.publish(ivyArtifact, src, false); 466 resolver.publish(artifact, src, false); 467 468 assertTrue(new File ("test/repositories/1/myorg/mymodule/myrevision/ivy.xml").exists()); 469 assertTrue(new File ("test/repositories/1/myorg/mymodule/mytypes/myartifact-myrevision.myext").exists()); 470 } finally { 471 Delete del = new Delete(); 472 del.setProject(new Project()); 473 del.setDir(new File ("test/repositories/1/myorg")); 474 del.execute(); 475 } 476 } 477 478 public void testListing() throws Exception { 479 FileSystemResolver resolver = new FileSystemResolver(); 480 resolver.setName("test"); 481 resolver.setIvy(_ivy); 482 assertEquals("test", resolver.getName()); 483 484 resolver.addIvyPattern(IVY_PATTERN); 485 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"); 486 487 OrganisationEntry[] orgs = resolver.listOrganisations(); 488 ResolverTestHelper.assertOrganisationEntries(resolver, new String [] {"org1", "org2", "org6", "org9", "orgfailure", "yourorg"}, orgs); 489 490 OrganisationEntry org = ResolverTestHelper.getEntry(orgs, "org1"); 491 ModuleEntry[] mods = resolver.listModules(org); 492 ResolverTestHelper.assertModuleEntries(resolver, org, new String [] {"mod1.1", "mod1.2", "mod1.3", "mod1.4", "mod1.5", "mod1.6"}, mods); 493 494 ModuleEntry mod = ResolverTestHelper.getEntry(mods, "mod1.1"); 495 RevisionEntry[] revs = resolver.listRevisions(mod); 496 ResolverTestHelper.assertRevisionEntries(resolver, mod, new String [] {"1.0", "1.0.1", "1.1", "2.0"}, revs); 497 498 mod = ResolverTestHelper.getEntry(mods, "mod1.2"); 499 revs = resolver.listRevisions(mod); 500 ResolverTestHelper.assertRevisionEntries(resolver, mod, new String [] {"1.0", "1.1", "2.0", "2.1", "2.2"}, revs); 501 } 502 503 public void testDownloadWithUseOriginIsTrue() throws Exception { 504 FileSystemResolver resolver = new FileSystemResolver(); 505 resolver.setName("test"); 506 resolver.setIvy(_ivy); 507 assertEquals("test", resolver.getName()); 508 509 resolver.addIvyPattern(IVY_PATTERN); 510 resolver.addArtifactPattern("test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"); 511 512 ModuleRevisionId mrid = ModuleRevisionId.newInstance("org1", "mod1.1", "1.0"); 513 ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid, false), _data); 514 assertNotNull(rmr); 515 516 assertEquals(mrid, rmr.getId()); 517 Date pubdate = new GregorianCalendar (2004, 10, 1, 11, 0, 0).getTime(); 518 assertEquals(pubdate, rmr.getPublicationDate()); 519 520 521 DefaultArtifact artifact = new DefaultArtifact(mrid, pubdate, "mod1.1", "jar", "jar"); 523 DownloadReport report = resolver.download(new Artifact[] {artifact}, _data.getIvy(), _cache, true); 524 assertNotNull(report); 525 526 assertEquals(1, report.getArtifactsReports().length); 527 528 ArtifactDownloadReport ar = report.getArtifactReport(artifact); 529 assertNotNull(ar); 530 531 assertEquals(artifact, ar.getArtifact()); 532 assertEquals(DownloadStatus.NO, ar.getDownloadStatus()); 533 } 534 } 535 | Popular Tags |