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());
}
}