use of org.locationtech.geogig.api.porcelain.BlameReport in project GeoGig by boundlessgeo.
the class BlameOpTest method testBlameChangedByTwoCommits.
@Test
public void testBlameChangedByTwoCommits() throws Exception {
insertAndAdd(points1);
RevCommit firstCommit = geogig.command(CommitOp.class).call();
Feature pointsModified = feature(pointsType, idP1, "StringProp1_3", new Integer(1000), "POINT(1 1)");
insertAndAdd(pointsModified);
RevCommit secondCommit = geogig.command(CommitOp.class).call();
String path = NodeRef.appendChild(pointsName, idP1);
BlameReport report = geogig.command(BlameOp.class).setPath(path).call();
Map<String, ValueAndCommit> changes = report.getChanges();
assertEquals(3, changes.size());
assertEquals(secondCommit, changes.get("sp").commit);
assertEquals(firstCommit, changes.get("ip").commit);
assertEquals(firstCommit, changes.get("pp").commit);
assertEquals(pointsModified.getProperty("sp").getValue(), changes.get("sp").value.get());
assertEquals(points1.getProperty("ip").getValue(), changes.get("ip").value.get());
assertEquals(points1.getProperty("pp").getValue(), changes.get("pp").value.get());
report = geogig.command(BlameOp.class).setPath(path).setCommit(firstCommit.getId()).call();
changes = report.getChanges();
assertEquals(3, changes.size());
Collection<ValueAndCommit> commits = changes.values();
for (ValueAndCommit valueAndCommit : commits) {
assertEquals(firstCommit, valueAndCommit.commit);
}
}
Aggregations