Cleanup CommitAndLogCommandTest
- if a test can throw different exceptions declare it throws Exception - fix code formatting Change-Id: I55d63918f3163b31f2297d6217d5855108dd43b5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
5bf226d50c
commit
02dc0ca688
|
@ -51,14 +51,10 @@
|
|||
import static org.junit.Assume.assumeFalse;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
import org.eclipse.jgit.api.errors.NoMessageException;
|
||||
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
|
||||
import org.eclipse.jgit.errors.MissingObjectException;
|
||||
import org.eclipse.jgit.junit.RepositoryTestCase;
|
||||
import org.eclipse.jgit.lib.Constants;
|
||||
import org.eclipse.jgit.lib.ObjectId;
|
||||
|
@ -77,13 +73,12 @@
|
|||
*/
|
||||
public class CommitAndLogCommandTest extends RepositoryTestCase {
|
||||
@Test
|
||||
public void testSomeCommits() throws JGitInternalException, IOException,
|
||||
GitAPIException {
|
||||
|
||||
public void testSomeCommits() throws Exception {
|
||||
// do 4 commits
|
||||
try (Git git = new Git(db)) {
|
||||
git.commit().setMessage("initial commit").call();
|
||||
git.commit().setMessage("second commit").setCommitter(committer).call();
|
||||
git.commit().setMessage("second commit").setCommitter(committer)
|
||||
.call();
|
||||
git.commit().setMessage("third commit").setAuthor(author).call();
|
||||
git.commit().setMessage("fourth commit").setAuthor(author)
|
||||
.setCommitter(committer).call();
|
||||
|
@ -91,26 +86,28 @@ public void testSomeCommits() throws JGitInternalException, IOException,
|
|||
|
||||
// check that all commits came in correctly
|
||||
PersonIdent defaultCommitter = new PersonIdent(db);
|
||||
PersonIdent expectedAuthors[] = new PersonIdent[] { defaultCommitter,
|
||||
committer, author, author };
|
||||
PersonIdent expectedAuthors[] = new PersonIdent[] {
|
||||
defaultCommitter, committer, author, author };
|
||||
PersonIdent expectedCommitters[] = new PersonIdent[] {
|
||||
defaultCommitter, committer, defaultCommitter, committer };
|
||||
String expectedMessages[] = new String[] { "initial commit",
|
||||
"second commit", "third commit", "fourth commit" };
|
||||
int l = expectedAuthors.length - 1;
|
||||
for (RevCommit c : commits) {
|
||||
assertEquals(expectedAuthors[l].getName(), c.getAuthorIdent()
|
||||
.getName());
|
||||
assertEquals(expectedCommitters[l].getName(), c.getCommitterIdent()
|
||||
.getName());
|
||||
assertEquals(expectedAuthors[l].getName(),
|
||||
c.getAuthorIdent().getName());
|
||||
assertEquals(expectedCommitters[l].getName(),
|
||||
c.getCommitterIdent().getName());
|
||||
assertEquals(c.getFullMessage(), expectedMessages[l]);
|
||||
l--;
|
||||
}
|
||||
assertEquals(l, -1);
|
||||
ReflogReader reader = db.getReflogReader(Constants.HEAD);
|
||||
assertTrue(reader.getLastEntry().getComment().startsWith("commit:"));
|
||||
assertTrue(
|
||||
reader.getLastEntry().getComment().startsWith("commit:"));
|
||||
reader = db.getReflogReader(db.getBranch());
|
||||
assertTrue(reader.getLastEntry().getComment().startsWith("commit:"));
|
||||
assertTrue(
|
||||
reader.getLastEntry().getComment().startsWith("commit:"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -152,19 +149,20 @@ public void testMultipleInvocations() throws GitAPIException {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testMergeEmptyBranches() throws IOException,
|
||||
JGitInternalException, GitAPIException {
|
||||
public void testMergeEmptyBranches() throws Exception {
|
||||
try (Git git = new Git(db)) {
|
||||
git.commit().setMessage("initial commit").call();
|
||||
RefUpdate r = db.updateRef("refs/heads/side");
|
||||
r.setNewObjectId(db.resolve(Constants.HEAD));
|
||||
assertEquals(r.forceUpdate(), RefUpdate.Result.NEW);
|
||||
RevCommit second = git.commit().setMessage("second commit").setCommitter(committer).call();
|
||||
RevCommit second = git.commit().setMessage("second commit")
|
||||
.setCommitter(committer).call();
|
||||
db.updateRef(Constants.HEAD).link("refs/heads/side");
|
||||
RevCommit firstSide = git.commit().setMessage("first side commit").setAuthor(author).call();
|
||||
RevCommit firstSide = git.commit().setMessage("first side commit")
|
||||
.setAuthor(author).call();
|
||||
|
||||
write(new File(db.getDirectory(), Constants.MERGE_HEAD), ObjectId
|
||||
.toString(db.resolve("refs/heads/master")));
|
||||
write(new File(db.getDirectory(), Constants.MERGE_HEAD),
|
||||
ObjectId.toString(db.resolve("refs/heads/master")));
|
||||
write(new File(db.getDirectory(), Constants.MERGE_MSG), "merging");
|
||||
|
||||
RevCommit commit = git.commit().call();
|
||||
|
@ -176,8 +174,7 @@ public void testMergeEmptyBranches() throws IOException,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testAddUnstagedChanges() throws IOException,
|
||||
JGitInternalException, GitAPIException {
|
||||
public void testAddUnstagedChanges() throws Exception {
|
||||
File file = new File(db.getWorkTree(), "a.txt");
|
||||
FileUtils.createNewFile(file);
|
||||
try (PrintWriter writer = new PrintWriter(file, UTF_8.name())) {
|
||||
|
@ -208,7 +205,7 @@ public void testAddUnstagedChanges() throws IOException,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testModeChange() throws IOException, GitAPIException {
|
||||
public void testModeChange() throws Exception {
|
||||
assumeFalse(System.getProperty("os.name").startsWith("Windows"));// SKIP
|
||||
try (Git git = new Git(db)) {
|
||||
// create file
|
||||
|
@ -226,7 +223,8 @@ public void testModeChange() throws IOException, GitAPIException {
|
|||
FS fs = db.getFS();
|
||||
fs.setExecute(file, true);
|
||||
git.add().addFilepattern("a.txt").call();
|
||||
git.commit().setMessage("mode change").setCommitter(committer).call();
|
||||
git.commit().setMessage("mode change").setCommitter(committer)
|
||||
.call();
|
||||
|
||||
// pure mode change should be committable with -o option
|
||||
fs.setExecute(file, false);
|
||||
|
@ -237,34 +235,32 @@ public void testModeChange() throws IOException, GitAPIException {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testCommitRange() throws GitAPIException,
|
||||
JGitInternalException, MissingObjectException,
|
||||
IncorrectObjectTypeException {
|
||||
public void testCommitRange() throws Exception {
|
||||
// do 4 commits and set the range to the second and fourth one
|
||||
try (Git git = new Git(db)) {
|
||||
git.commit().setMessage("first commit").call();
|
||||
RevCommit second = git.commit().setMessage("second commit")
|
||||
.setCommitter(committer).call();
|
||||
git.commit().setMessage("third commit").setAuthor(author).call();
|
||||
RevCommit last = git.commit().setMessage("fourth commit").setAuthor(
|
||||
author)
|
||||
.setCommitter(committer).call();
|
||||
Iterable<RevCommit> commits = git.log().addRange(second.getId(),
|
||||
last.getId()).call();
|
||||
RevCommit last = git.commit().setMessage("fourth commit")
|
||||
.setAuthor(author).setCommitter(committer).call();
|
||||
Iterable<RevCommit> commits = git.log()
|
||||
.addRange(second.getId(), last.getId()).call();
|
||||
|
||||
// check that we have the third and fourth commit
|
||||
PersonIdent defaultCommitter = new PersonIdent(db);
|
||||
PersonIdent expectedAuthors[] = new PersonIdent[] { author, author };
|
||||
PersonIdent expectedAuthors[] = new PersonIdent[] { author,
|
||||
author };
|
||||
PersonIdent expectedCommitters[] = new PersonIdent[] {
|
||||
defaultCommitter, committer };
|
||||
String expectedMessages[] = new String[] { "third commit",
|
||||
"fourth commit" };
|
||||
int l = expectedAuthors.length - 1;
|
||||
for (RevCommit c : commits) {
|
||||
assertEquals(expectedAuthors[l].getName(), c.getAuthorIdent()
|
||||
.getName());
|
||||
assertEquals(expectedCommitters[l].getName(), c.getCommitterIdent()
|
||||
.getName());
|
||||
assertEquals(expectedAuthors[l].getName(),
|
||||
c.getAuthorIdent().getName());
|
||||
assertEquals(expectedCommitters[l].getName(),
|
||||
c.getCommitterIdent().getName());
|
||||
assertEquals(c.getFullMessage(), expectedMessages[l]);
|
||||
l--;
|
||||
}
|
||||
|
@ -273,8 +269,7 @@ public void testCommitRange() throws GitAPIException,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testCommitAmend() throws JGitInternalException, IOException,
|
||||
GitAPIException {
|
||||
public void testCommitAmend() throws Exception {
|
||||
try (Git git = new Git(db)) {
|
||||
git.commit().setMessage("first comit").call(); // typo
|
||||
git.commit().setAmend(true).setMessage("first commit").call();
|
||||
|
@ -296,15 +291,14 @@ public void testCommitAmend() throws JGitInternalException, IOException,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testInsertChangeId() throws JGitInternalException,
|
||||
GitAPIException {
|
||||
public void testInsertChangeId() throws Exception {
|
||||
try (Git git = new Git(db)) {
|
||||
String messageHeader = "Some header line\n\nSome detail explanation\n";
|
||||
String changeIdTemplate = "\nChange-Id: I"
|
||||
+ ObjectId.zeroId().getName() + "\n";
|
||||
String messageFooter = "Some foooter lines\nAnother footer line\n";
|
||||
RevCommit commit = git.commit().setMessage(
|
||||
messageHeader + messageFooter)
|
||||
RevCommit commit = git.commit()
|
||||
.setMessage(messageHeader + messageFooter)
|
||||
.setInsertChangeId(true).call();
|
||||
// we should find a real change id (at the end of the file)
|
||||
byte[] chars = commit.getFullMessage().getBytes(UTF_8);
|
||||
|
@ -312,11 +306,12 @@ public void testInsertChangeId() throws JGitInternalException,
|
|||
String lastLine = RawParseUtils.decode(chars, lastLineBegin + 1,
|
||||
chars.length);
|
||||
assertTrue(lastLine.contains("Change-Id:"));
|
||||
assertFalse(lastLine.contains(
|
||||
"Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
assertFalse(lastLine
|
||||
.contains("Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
|
||||
commit = git.commit().setMessage(
|
||||
messageHeader + changeIdTemplate + messageFooter)
|
||||
commit = git.commit()
|
||||
.setMessage(
|
||||
messageHeader + changeIdTemplate + messageFooter)
|
||||
.setInsertChangeId(true).call();
|
||||
// we should find a real change id (in the line as dictated by the
|
||||
// template)
|
||||
|
@ -331,11 +326,12 @@ public void testInsertChangeId() throws JGitInternalException,
|
|||
String line = RawParseUtils.decode(chars, lineStart, lineEnd);
|
||||
|
||||
assertTrue(line.contains("Change-Id:"));
|
||||
assertFalse(line.contains(
|
||||
"Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
assertFalse(line
|
||||
.contains("Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
|
||||
commit = git.commit().setMessage(
|
||||
messageHeader + changeIdTemplate + messageFooter)
|
||||
commit = git.commit()
|
||||
.setMessage(
|
||||
messageHeader + changeIdTemplate + messageFooter)
|
||||
.setInsertChangeId(false).call();
|
||||
// we should find the untouched template
|
||||
chars = commit.getFullMessage().getBytes(UTF_8);
|
||||
|
@ -348,8 +344,8 @@ public void testInsertChangeId() throws JGitInternalException,
|
|||
|
||||
line = RawParseUtils.decode(chars, lineStart, lineEnd);
|
||||
|
||||
assertTrue(commit.getFullMessage().contains(
|
||||
"Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
assertTrue(commit.getFullMessage()
|
||||
.contains("Change-Id: I" + ObjectId.zeroId().getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue