use of org.apache.ivy.core.report.ResolveReport in project ant-ivy by apache.
the class IBiblioMavenSnapshotsResolutionTest method testSnapshotResolution.
/**
* Tests that an Ivy module that depends on regular and timestamped snapshots of Maven
* artifacts, when resolved using a {@link IBiblioResolver} and with
* {@link MavenTimedSnapshotVersionMatcher} configured in {@link IvySettings}, is resolved
* correctly for such snapshot dependencies.
*
* @throws Exception
* if something goes wrong
*/
@Test
public void testSnapshotResolution() throws Exception {
final IvySettings settings = this.ivy.getSettings();
assertNotNull("Maven timestamped snapshot revision version matcher is absent", settings.getVersionMatcher(new MavenTimedSnapshotVersionMatcher().getName()));
final ResolveOptions resolveOptions = new ResolveOptions();
resolveOptions.setConfs(new String[] { "default" });
final ResolveReport report = ivy.resolve(new File("test/repositories/2/maven-snapshot-deps-test/ivy-with-maven-snapshot-deps.xml"), resolveOptions);
assertNotNull("Resolution report was null", report);
assertFalse("Resolution report has error(s)", report.hasError());
final ModuleDescriptor md = report.getModuleDescriptor();
assertNotNull("Module descriptor in resolution report was null", md);
final ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache.ivy", "maven-snapshot-deps-test", "1.2.3");
assertEquals("Unexpected module resolved", mrid, md.getModuleRevisionId());
final ConfigurationResolveReport crr = report.getConfigurationReport("default");
final ModuleRevisionId exactRevision = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "exact-revision", "2.3.4");
final ArtifactDownloadReport[] dr1 = crr.getDownloadReports(exactRevision);
assertNotNull("Artifact download report missing for dependency " + exactRevision, dr1);
assertEquals("Unexpected number of artifact download report for dependency " + exactRevision, dr1.length, 1);
final ArtifactDownloadReport exactRevDownloadReport = dr1[0];
assertEquals("Unexpected download status for dependency " + exactRevision, exactRevDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
final ModuleRevisionId regularSnapshot = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "regular-snapshot", "1.2.3-SNAPSHOT");
final ArtifactDownloadReport[] dr2 = crr.getDownloadReports(regularSnapshot);
assertNotNull("Artifact download report missing for dependency " + regularSnapshot, dr2);
assertEquals("Unexpected number of artifact download report for dependency " + regularSnapshot, dr2.length, 1);
final ArtifactDownloadReport regularSnapshotDownloadReport = dr2[0];
assertEquals("Unexpected download status for dependency " + regularSnapshot, regularSnapshotDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
final ModuleRevisionId timestampedSnapshot = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "timestamped-snapshot", "5.6.7-20170911.130943-1");
final ArtifactDownloadReport[] dr3 = crr.getDownloadReports(timestampedSnapshot);
assertNotNull("Artifact download report missing for dependency " + timestampedSnapshot, dr3);
assertEquals("Unexpected number of artifact download report for dependency " + timestampedSnapshot, dr3.length, 1);
final ArtifactDownloadReport timestampedSnapshotDownloadReport = dr3[0];
assertEquals("Unexpected download status for dependency " + timestampedSnapshot, timestampedSnapshotDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
}
use of org.apache.ivy.core.report.ResolveReport in project ant-ivy by apache.
the class XmlReportParserTest method testGetResolvedModule.
@Test
public void testGetResolvedModule() throws Exception {
ResolveReport report = ivy.resolve(new File("test/java/org/apache/ivy/plugins/report/ivy-with-info.xml"), getResolveOptions(new String[] { "default" }).setValidate(false).setResolveId("testGetResolvedModule"));
assertNotNull(report);
ModuleRevisionId modRevId = report.getModuleDescriptor().getModuleRevisionId();
XmlReportParser parser = new XmlReportParser();
parser.parse(ivy.getResolutionCacheManager().getConfigurationResolveReportInCache("testGetResolvedModule", "default"));
ModuleRevisionId parsedModRevId = parser.getResolvedModule();
assertEquals("Resolved module doesn't equals parsed module", modRevId, parsedModRevId);
}
use of org.apache.ivy.core.report.ResolveReport in project ant-ivy by apache.
the class XmlReportWriterTest method testEscapeXml.
@Test
public void testEscapeXml() throws Exception {
ivy.configure(new File("test/repositories/IVY-635/ivysettings.xml"));
ResolveReport report = ivy.resolve(new File("test/java/org/apache/ivy/plugins/report/ivy-635.xml"), getResolveOptions(new String[] { "default" }));
assertNotNull(report);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
XmlReportWriter writer = new XmlReportWriter();
writer.output(report.getConfigurationReport("default"), buffer);
buffer.flush();
String xml = buffer.toString();
String expectedArtName = "art1&_.txt";
assertTrue("XML doesn't contain escaped artifact name", xml.contains(expectedArtName));
}
use of org.apache.ivy.core.report.ResolveReport in project ant-ivy by apache.
the class XmlReportWriterTest method testWriteOrigin.
@Test
public void testWriteOrigin() throws Exception {
ResolveReport report = ivy.resolve(new File("test/repositories/1/special-encoding-root-ivy.xml"), getResolveOptions(new String[] { "default" }));
assertNotNull(report);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
XmlReportWriter writer = new XmlReportWriter();
writer.output(report.getConfigurationReport("default"), buffer);
buffer.flush();
String xml = buffer.toString(XmlReportWriter.REPORT_ENCODING);
String expectedLocation = "location=\"" + new File("test/repositories/1/org1/mod1.2/jars/mod1.2-2.0.jar").getAbsolutePath() + "\"";
String expectedIsLocal = "is-local=\"true\"";
String expectedOrg = "organisation=\"sp\u00E9cial\"";
assertTrue("XML doesn't contain artifact location attribute", xml.contains(expectedLocation));
assertTrue("XML doesn't contain artifact is-local attribute", xml.contains(expectedIsLocal));
assertTrue("XML doesn't contain the organisation", xml.contains(expectedOrg));
// check that the XML is valid
XMLHelper.parse(new ByteArrayInputStream(buffer.toByteArray()), null, new DefaultHandler(), null);
}
use of org.apache.ivy.core.report.ResolveReport in project ant-ivy by apache.
the class ResolveTest method testResolveConflictFromPoms.
/**
* Test case for IVY-618.
*
* @throws Exception if something goes wrong
* @see <a href="https://issues.apache.org/jira/browse/IVY-618">IVY-618</a>
*/
@Test
public void testResolveConflictFromPoms() throws Exception {
ResolveReport report = ivy.resolve(new File("test/repositories/2/mod17.1/ivy-1.0.xml"), getResolveOptions(new String[] { "*" }));
assertNotNull(report);
assertFalse(report.hasError());
}
Aggregations