Update BlameServletTest for JGit TestRepository clock changes JGit's https://git.eclipse.org/r/#/c/58526 change tied its TestRepository to its MockSystemReader clock, and this Gitles test needs to account for that. Change-Id: Ia409934f61a0d19abe71002dfb66e169b41718d2
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/ServletTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/ServletTest.java index 8f6224a..eebea25 100644 --- a/gitiles-servlet/src/test/java/com/google/gitiles/ServletTest.java +++ b/gitiles-servlet/src/test/java/com/google/gitiles/ServletTest.java
@@ -19,6 +19,7 @@ import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; import static javax.servlet.http.HttpServletResponse.SC_OK; +import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.net.HttpHeaders; import com.google.gson.FieldNamingPolicy; @@ -30,9 +31,11 @@ import org.eclipse.jgit.internal.storage.dfs.DfsRepositoryDescription; import org.eclipse.jgit.internal.storage.dfs.InMemoryRepository; import org.eclipse.jgit.junit.TestRepository; +import org.eclipse.jgit.lib.PersonIdent; import org.junit.Before; import java.util.Map; +import java.util.TimeZone; /** Base class for servlet tests. */ public class ServletTest { @@ -128,6 +131,11 @@ .create(); } + protected String currentTimeFormatted() { + PersonIdent p = new PersonIdent(repo.getRepository()); + return new DateFormatter(Optional.<TimeZone>absent(), DateFormatter.Format.ISO).format(p); + } + protected void assertNotFound(String path, String queryString) throws Exception { buildResponse(path, queryString, SC_NOT_FOUND); }
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/blame/BlameServletTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/blame/BlameServletTest.java index 03a962f..e0f4360 100644 --- a/gitiles-servlet/src/test/java/com/google/gitiles/blame/BlameServletTest.java +++ b/gitiles-servlet/src/test/java/com/google/gitiles/blame/BlameServletTest.java
@@ -21,6 +21,7 @@ import com.google.gitiles.ServletTest; import com.google.gson.reflect.TypeToken; +import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.revwalk.RevCommit; import org.junit.Test; import org.junit.runner.RunWith; @@ -31,6 +32,8 @@ @RunWith(JUnit4.class) public class BlameServletTest extends ServletTest { + private static final String NAME = "Y. Author"; + private static final String EMAIL = "[email protected]"; private static class RegionJsonData { int start; int count; @@ -43,8 +46,12 @@ public void blameJson() throws Exception { String contents1 = "foo\n"; String contents2 = "foo\ncontents\n"; - RevCommit c1 = repo.update("master", repo.commit().add("foo", contents1)); - RevCommit c2 = repo.update("master", repo.commit().tick(10).parent(c1).add("foo", contents2)); + PersonIdent author = new PersonIdent(NAME, EMAIL); + RevCommit c1 = repo.update("master", repo.commit().add("foo", contents1).author(author)); + String c1Time = currentTimeFormatted(); + RevCommit c2 = repo.update("master", + repo.commit().tick(10).parent(c1).add("foo", contents2).author(author)); + String c2Time = currentTimeFormatted(); Map<String, List<RegionJsonData>> result = getBlameJson("/repo/+blame/" + c2.name() + "/foo"); assertThat(Iterables.getOnlyElement(result.keySet())).isEqualTo("regions"); @@ -56,18 +63,18 @@ assertThat(r1.count).isEqualTo(1); assertThat(r1.path).isEqualTo("foo"); assertThat(r1.commit).isEqualTo(c1.name()); - assertThat(r1.author.name).isEqualTo("J. Author"); - assertThat(r1.author.email).isEqualTo("[email protected]"); - assertThat(r1.author.time).isEqualTo("2009-03-13 17:29:48 -0330"); + assertThat(r1.author.name).isEqualTo(NAME); + assertThat(r1.author.email).isEqualTo(EMAIL); + assertThat(r1.author.time).isEqualTo(c1Time); RegionJsonData r2 = regions.get(1); assertThat(r2.start).isEqualTo(2); assertThat(r2.count).isEqualTo(1); assertThat(r2.path).isEqualTo("foo"); assertThat(r2.commit).isEqualTo(c2.name()); - assertThat(r2.author.name).isEqualTo("J. Author"); - assertThat(r2.author.email).isEqualTo("[email protected]"); - assertThat(r2.author.time).isEqualTo("2009-03-13 17:29:58 -0330"); + assertThat(r2.author.name).isEqualTo(NAME); + assertThat(r2.author.email).isEqualTo(EMAIL); + assertThat(r2.author.time).isEqualTo(c2Time); } private Map<String, List<RegionJsonData>> getBlameJson(String path) throws Exception {