package org.jboss.windup.rules.apps.java.archives.identify.test; import java.io.File; import org.jboss.forge.addon.dependencies.Coordinate; import org.jboss.windup.rules.apps.java.archives.identify.ArchiveIdentificationService; import org.jboss.windup.rules.apps.java.archives.identify.LuceneArchiveIdentificationService; import org.junit.Assert; import org.junit.Test; /** * * @author <a href="mailto:ozizka@redhat.com">Ondrej Zizka</a> */ public class LuceneFileArchiveIdentificationServiceTest { @Test public void testGetCoordinateFromSHA1() throws Exception { final File file = new File("target/test-nexus-data/lucene/"); Assert.assertTrue("Test file does not exist", file.exists()); LuceneArchiveIdentificationService ident = new LuceneArchiveIdentificationService(file); Coordinate coordinate = ident.getCoordinate("55555555564e84315e83c6ba4a855b07ba51166b"); Assert.assertNull("No coordinate for 55555555564e84315e83c6ba4a855b07ba51166b", coordinate); // Position 0 check(ident, "000005ce9bd9867e24cdc33c06e88a65edce71db", "com.google.apis:google-api-services-genomics:jar::v1beta-rev26-1.18.0-rc"); // Last entry check(ident, "ffffdf1558b62750b24bdaa33cb9a72b0cb766ce", "org.glassfish.metro:wsmc-impl:jar::2.1.1-b06"); // A block around pivot break. check(ident, "4e02fd52064e84315e83c6ba4a855b07ba51166b", "org.jogamp.joal:joal:jar:natives-macosx-universal:2.1.2"); check(ident, "4e031603849ad1e70d245855802cc388ded93461", "org.glassfish.jdbc.jdbc-ra.jdbc40:jdbc40:jar::3.0-b37"); // Position 29723213 check(ident, "4e031bb61df09069aeb2bffb4019e7a5034a4ee0", "junit:junit:jar::4.11"); check(ident, "4e0334465984c00cbcf177b1702805bd4b5d6d27", "org.soitoolkit.refapps.sd:soitoolkit-refapps-sample-schemas:jar::0.6.1"); check(ident, "4e034d862d9650df285b8ee98f7f770db6c19029", "org.apache.cxf:cxf-rt-bindings-soap:jar::2.4.8"); // Some which caused issues. check(ident, "7ff0d167a6816aa113b1b4a8a37515701a74b288", "org.kill-bill.billing:killbill-platform-osgi-bundles-lib-slf4j-osgi:jar::0.1.0"); } private static void check(ArchiveIdentificationService ident, String hash, String coordString) { Coordinate coord = ident.getCoordinate(hash); Assert.assertNotNull("Coordinate found for " + hash, coord); Assert.assertEquals(hash + " = " + coordString, coordString, coordToString(coord)); } // GROUP_ID:ARTIFACT_ID[:PACKAGING[:CLASSIFIER]]:VERSION private static String coordToString(Coordinate coord) { StringBuilder sb = new StringBuilder(); sb.append(coord.getGroupId()).append(':').append(coord.getArtifactId()); if (coord.getPackaging() != null) sb.append(':').append(coord.getPackaging()); if (coord.getClassifier() != null) sb.append(':').append(coord.getClassifier()); sb.append(':').append(coord.getVersion()); return sb.toString(); } }