Browse Source

TagCommandTest: Instantiate Git and RevWalk objects in try-with-resource

Change-Id: I08959650e2970e964bc864dc6d120d7bddfd8232
Signed-off-by: David Pursehouse <david.pursehouse@sonymobile.com>
stable-4.2
David Pursehouse 9 years ago
parent
commit
ebbd007639
  1. 216
      org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java

216
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java

@ -62,171 +62,185 @@ public class TagCommandTest extends RepositoryTestCase {
@Test @Test
public void testTaggingOnHead() throws GitAPIException, IOException { public void testTaggingOnHead() throws GitAPIException, IOException {
Git git = new Git(db); try (Git git = new Git(db);
RevCommit commit = git.commit().setMessage("initial commit").call(); RevWalk walk = new RevWalk(db)) {
Ref tagRef = git.tag().setName("tag").call(); RevCommit commit = git.commit().setMessage("initial commit").call();
assertEquals(commit.getId(), db.peel(tagRef).getPeeledObjectId()); Ref tagRef = git.tag().setName("tag").call();
RevWalk walk = new RevWalk(db); assertEquals(commit.getId(), db.peel(tagRef).getPeeledObjectId());
assertEquals("tag", walk.parseTag(tagRef.getObjectId()).getTagName()); assertEquals("tag", walk.parseTag(tagRef.getObjectId()).getTagName());
}
} }
@Test @Test
public void testTagging() throws GitAPIException, JGitInternalException { public void testTagging() throws GitAPIException, JGitInternalException {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
RevCommit commit = git.commit().setMessage("second commit").call(); RevCommit commit = git.commit().setMessage("second commit").call();
git.commit().setMessage("third commit").call(); git.commit().setMessage("third commit").call();
Ref tagRef = git.tag().setObjectId(commit).setName("tag").call(); Ref tagRef = git.tag().setObjectId(commit).setName("tag").call();
assertEquals(commit.getId(), db.peel(tagRef).getPeeledObjectId()); assertEquals(commit.getId(), db.peel(tagRef).getPeeledObjectId());
}
} }
@Test @Test
public void testUnannotatedTagging() throws GitAPIException, public void testUnannotatedTagging() throws GitAPIException,
JGitInternalException { JGitInternalException {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
RevCommit commit = git.commit().setMessage("second commit").call(); RevCommit commit = git.commit().setMessage("second commit").call();
git.commit().setMessage("third commit").call(); git.commit().setMessage("third commit").call();
Ref tagRef = git.tag().setObjectId(commit).setName("tag") Ref tagRef = git.tag().setObjectId(commit).setName("tag")
.setAnnotated(false).call(); .setAnnotated(false).call();
assertEquals(commit.getId(), tagRef.getObjectId()); assertEquals(commit.getId(), tagRef.getObjectId());
}
} }
@Test @Test
public void testEmptyTagName() throws GitAPIException { public void testEmptyTagName() throws GitAPIException {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
try { try {
// forget to tag name // forget to tag name
git.tag().setMessage("some message").call(); git.tag().setMessage("some message").call();
fail("We should have failed without a tag name"); fail("We should have failed without a tag name");
} catch (InvalidTagNameException e) { } catch (InvalidTagNameException e) {
// should hit here // should hit here
}
} }
} }
@Test @Test
public void testInvalidTagName() throws GitAPIException { public void testInvalidTagName() throws GitAPIException {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
try { try {
git.tag().setName("bad~tag~name").setMessage("some message").call(); git.tag().setName("bad~tag~name").setMessage("some message").call();
fail("We should have failed due to a bad tag name"); fail("We should have failed due to a bad tag name");
} catch (InvalidTagNameException e) { } catch (InvalidTagNameException e) {
// should hit here // should hit here
}
} }
} }
@Test @Test
public void testFailureOnSignedTags() throws GitAPIException { public void testFailureOnSignedTags() throws GitAPIException {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
try { try {
git.tag().setSigned(true).setName("tag").call(); git.tag().setSigned(true).setName("tag").call();
fail("We should have failed with an UnsupportedOperationException due to signed tag"); fail("We should have failed with an UnsupportedOperationException due to signed tag");
} catch (UnsupportedOperationException e) { } catch (UnsupportedOperationException e) {
// should hit here // should hit here
}
} }
} }
@Test @Test
public void testDelete() throws Exception { public void testDelete() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
Ref tagRef = git.tag().setName("tag").call(); Ref tagRef = git.tag().setName("tag").call();
assertEquals(1, db.getTags().size()); assertEquals(1, db.getTags().size());
List<String> deleted = git.tagDelete().setTags(tagRef.getName()) List<String> deleted = git.tagDelete().setTags(tagRef.getName())
.call(); .call();
assertEquals(1, deleted.size()); assertEquals(1, deleted.size());
assertEquals(tagRef.getName(), deleted.get(0)); assertEquals(tagRef.getName(), deleted.get(0));
assertEquals(0, db.getTags().size()); assertEquals(0, db.getTags().size());
Ref tagRef1 = git.tag().setName("tag1").call(); Ref tagRef1 = git.tag().setName("tag1").call();
Ref tagRef2 = git.tag().setName("tag2").call(); Ref tagRef2 = git.tag().setName("tag2").call();
assertEquals(2, db.getTags().size()); assertEquals(2, db.getTags().size());
deleted = git.tagDelete().setTags(tagRef1.getName(), tagRef2.getName()) deleted = git.tagDelete().setTags(tagRef1.getName(), tagRef2.getName())
.call(); .call();
assertEquals(2, deleted.size()); assertEquals(2, deleted.size());
assertEquals(0, db.getTags().size()); assertEquals(0, db.getTags().size());
}
} }
@Test @Test
public void testDeleteFullName() throws Exception { public void testDeleteFullName() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
Ref tagRef = git.tag().setName("tag").call(); Ref tagRef = git.tag().setName("tag").call();
assertEquals(1, db.getTags().size()); assertEquals(1, db.getTags().size());
List<String> deleted = git.tagDelete() List<String> deleted = git.tagDelete()
.setTags(Repository.shortenRefName(tagRef.getName())).call(); .setTags(Repository.shortenRefName(tagRef.getName())).call();
assertEquals(1, deleted.size()); assertEquals(1, deleted.size());
assertEquals(tagRef.getName(), deleted.get(0)); assertEquals(tagRef.getName(), deleted.get(0));
assertEquals(0, db.getTags().size()); assertEquals(0, db.getTags().size());
}
} }
@Test @Test
public void testDeleteEmptyTagNames() throws Exception { public void testDeleteEmptyTagNames() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
List<String> deleted = git.tagDelete().setTags().call(); List<String> deleted = git.tagDelete().setTags().call();
assertEquals(0, deleted.size()); assertEquals(0, deleted.size());
}
} }
@Test @Test
public void testDeleteNonExisting() throws Exception { public void testDeleteNonExisting() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
List<String> deleted = git.tagDelete().setTags("tag").call(); List<String> deleted = git.tagDelete().setTags("tag").call();
assertEquals(0, deleted.size()); assertEquals(0, deleted.size());
}
} }
@Test @Test
public void testDeleteBadName() throws Exception { public void testDeleteBadName() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
List<String> deleted = git.tagDelete().setTags("bad~tag~name") List<String> deleted = git.tagDelete().setTags("bad~tag~name")
.call(); .call();
assertEquals(0, deleted.size()); assertEquals(0, deleted.size());
}
} }
@Test @Test
public void testShouldNotBlowUpIfThereAreNoTagsInRepository() public void testShouldNotBlowUpIfThereAreNoTagsInRepository()
throws Exception { throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.add().addFilepattern("*").call(); git.add().addFilepattern("*").call();
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
List<Ref> list = git.tagList().call(); List<Ref> list = git.tagList().call();
assertEquals(0, list.size()); assertEquals(0, list.size());
}
} }
@Test @Test
public void testShouldNotBlowUpIfThereAreNoCommitsInRepository() public void testShouldNotBlowUpIfThereAreNoCommitsInRepository()
throws Exception { throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
List<Ref> list = git.tagList().call(); List<Ref> list = git.tagList().call();
assertEquals(0, list.size()); assertEquals(0, list.size());
}
} }
@Test @Test
public void testListAllTagsInRepositoryInOrder() throws Exception { public void testListAllTagsInRepositoryInOrder() throws Exception {
Git git = new Git(db); try (Git git = new Git(db)) {
git.add().addFilepattern("*").call(); git.add().addFilepattern("*").call();
git.commit().setMessage("initial commit").call(); git.commit().setMessage("initial commit").call();
git.tag().setName("v3").call(); git.tag().setName("v3").call();
git.tag().setName("v2").call(); git.tag().setName("v2").call();
git.tag().setName("v10").call(); git.tag().setName("v10").call();
List<Ref> list = git.tagList().call(); List<Ref> list = git.tagList().call();
assertEquals(3, list.size()); assertEquals(3, list.size());
assertEquals("refs/tags/v10", list.get(0).getName()); assertEquals("refs/tags/v10", list.get(0).getName());
assertEquals("refs/tags/v2", list.get(1).getName()); assertEquals("refs/tags/v2", list.get(1).getName());
assertEquals("refs/tags/v3", list.get(2).getName()); assertEquals("refs/tags/v3", list.get(2).getName());
}
} }
} }

Loading…
Cancel
Save