package com.beijunyi.parallelgit.utils; import java.io.File; import java.io.IOException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.FileUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; public class RepositoryUtilsOpenRepositoryTest { private File dir; private Repository repo; @Before public void setUp() throws IOException { dir = FileUtils.createTempDir(getClass().getSimpleName(), null, null); } @After public void tearDown() throws IOException { if(repo != null) repo.close(); FileUtils.delete(dir, FileUtils.RECURSIVE); } @Test public void openBareRepository_theResultRepositoryDirectoryShouldEqualToTheInputDirectory() throws IOException { RepositoryUtils.createRepository(dir, true); repo = RepositoryUtils.openRepository(dir, true); assertEquals(dir, repo.getDirectory()); } @Test public void openNonBareRepository_theResultRepositoryWorkTreeShouldEqualToTheInputDirectory() throws Exception { RepositoryUtils.createRepository(dir, false); repo = RepositoryUtils.openRepository(dir, false); assertEquals(dir, repo.getWorkTree()); } @Test public void autoDetectAndOpenBareRepository_theResultRepositoryDirectoryShouldEqualToTheInputDirectory() throws IOException { RepositoryUtils.createRepository(dir, true); repo = RepositoryUtils.openRepository(dir); assertEquals(dir, repo.getDirectory()); } @Test public void autoDetectAndOpenNonBareRepository_theResultRepositoryWorkTreeShouldEqualToTheInputDirectory() throws Exception { RepositoryUtils.createRepository(dir, false); repo = RepositoryUtils.openRepository(dir); assertEquals(dir, repo.getWorkTree()); } }