package com.beijunyi.parallelgit.utils; import java.io.IOException; import com.beijunyi.parallelgit.AbstractParallelGitTest; import org.eclipse.jgit.lib.AnyObjectId; import org.eclipse.jgit.lib.ReflogEntry; import org.eclipse.jgit.revwalk.RevCommit; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertTrue; public class BranchUtilsCreateBranchRefLogTest extends AbstractParallelGitTest { @Before public void setUp() throws IOException { initFileRepository(false); } @Test public void createBranchFromCommitName_theRefLogShouldStartWithBranchCreatedFromCommit() throws IOException { writeSomethingToCache(); AnyObjectId commit = commitToMaster(); BranchUtils.createBranch("test_branch", commit.getName(), repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from commit")); } @Test public void createBranchFromCommitId_theRefLogShouldStartWithBranchCreatedFromCommit() throws IOException { writeSomethingToCache(); AnyObjectId commit = commitToMaster(); BranchUtils.createBranch("test_branch", commit, repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from commit")); } @Test public void createBranchFromCommit_theRefLogShouldStartWithBranchCreatedFromCommit() throws IOException { writeSomethingToCache(); RevCommit commit = commitToMaster(); BranchUtils.createBranch("test_branch", commit, repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from commit")); } @Test public void createBranchFromBranchRef_theRefLogShouldStartWithBranchCreatedFromBranch() throws IOException { writeSomethingToCache(); commitToBranch("source_branch"); BranchUtils.createBranch("test_branch", repo.findRef("source_branch"), repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from branch")); } @Test public void createBranchFromBranchName_theRefLogShouldStartWithBranchCreatedFromBranch() throws IOException { writeSomethingToCache(); commitToBranch("source_branch"); BranchUtils.createBranch("test_branch", "source_branch", repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from branch")); } @Test public void createBranchFromTagRef_theHeadOfTheNewBranchShouldEqualToTheTaggedTag() throws IOException { writeSomethingToCache(); TagUtils.tagCommit("source_tag", commitToMaster(), repo); BranchUtils.createBranch("test_branch", repo.findRef("source_tag"), repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from tag")); } @Test public void createBranchFromTagName_theHeadOfTheNewBranchShouldEqualToTheTaggedTag() throws IOException { writeSomethingToCache(); TagUtils.tagCommit("source_tag", commitToMaster(), repo); BranchUtils.createBranch("test_branch", "source_tag", repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from tag")); } @Test public void createBranchFromTag_theHeadOfTheNewBranchShouldEqualToTheTaggedTag() throws IOException { writeSomethingToCache(); TagUtils.tagCommit("source_tag", commitToMaster(), repo); BranchUtils.createBranch("test_branch", repo.resolve("source_tag"), repo); ReflogEntry lastRefLog = BranchUtils.getLastLog("test_branch", repo); assert lastRefLog != null; assertTrue(lastRefLog.getComment().startsWith("branch: Created from tag")); } }