package com.beijunyi.parallelgit.utils; import java.io.IOException; import com.beijunyi.parallelgit.AbstractParallelGitTest; import org.junit.Before; import org.junit.Test; import static org.eclipse.jgit.lib.FileMode.*; import static org.junit.Assert.*; public class CacheUtilsReadTest extends AbstractParallelGitTest { @Before public void setUp() throws IOException { initRepository(); } @Test public void findEntryWhenEntryExists_shouldReturnTheIndexOfTheEntry() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.findEntry("test_file.txt", cache) >= 0); } @Test public void findEntryWhenEntryExistsUsingAbsolutePath_shouldReturnTheIndexOfTheEntry() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.findEntry("test_file.txt", cache) >= 0); } @Test public void findEntryWhenEntryDoesNotExist_shouldReturnNegativeValue() throws IOException { assertTrue(CacheUtils.findEntry("test_file.txt", cache) < 0); } @Test public void getEntryWhenEntryExists_shouldReturnTheEntry() throws IOException { writeToCache("/test_file.txt"); assertNotNull(CacheUtils.getEntry("test_file.txt", cache)); } @Test public void getEntryWhenEntryExistsUsingAbsolutePath_shouldReturnTheEntry() throws IOException { writeToCache("/test_file.txt"); assertNotNull(CacheUtils.getEntry("test_file.txt", cache)); } @Test public void getEntryWhenEntryDoesNotExist_shouldReturnNull() throws IOException { assertNull(CacheUtils.getEntry("test_file.txt", cache)); } @Test public void testEntryExistWhenEntryExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.entryExists("/test_file.txt", cache)); } @Test public void testEntryExistWhenEntryDoesNotExist_shouldReturnFalse() throws IOException { assertFalse(CacheUtils.entryExists("/test_file.txt", cache)); } @Test public void testIsFileWhenFileExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.isFile("/test_file.txt", cache)); } @Test public void testIsFileWhenFileDoesNotExist_shouldReturnFalse() throws IOException { assertFalse(CacheUtils.isFile("/test_file.txt", cache)); } @Test public void testIsFileWhenDirectoryExists_shouldReturnFalse() throws IOException { writeToCache("/test/file.txt"); assertFalse(CacheUtils.isFile("/test", cache)); } @Test public void testIsSymbolicLinkWhenRegularFileExists_shouldReturnFalse() throws IOException { writeToCache("/test_file.txt"); assertFalse(CacheUtils.isSymbolicLink("/test_file.txt", cache)); } @Test public void testIsSymbolicLinkWhenSymbolicLinkExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt", someBytes(), SYMLINK); assertTrue(CacheUtils.isSymbolicLink("/test_file.txt", cache)); } @Test public void testIsRegularFileWhenRegularFileExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.isRegularFile("/test_file.txt", cache)); } @Test public void testIsRegularFileWhenSymbolicLinkExists_shouldReturnFalse() throws IOException { writeToCache("/test_file.txt", someBytes(), SYMLINK); assertFalse(CacheUtils.isRegularFile("/test_file.txt", cache)); } @Test public void testIsExecutableFileWhenRegularFileExists_shouldReturnFalse() throws IOException { writeToCache("/test_file.txt"); assertFalse(CacheUtils.isExecutableFile("/test_file.txt", cache)); } @Test public void testIsExecutableFileWhenExecutableFileExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.sh", someBytes(), EXECUTABLE_FILE); assertTrue(CacheUtils.isExecutableFile("/test_file.sh", cache)); } @Test public void testIsRegularOrExecutableFileWhenRegularFileExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt"); assertTrue(CacheUtils.isRegularOrExecutableFile("/test_file.txt", cache)); } @Test public void testIsRegularOrExecutableFileWhenExecutableFileExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.sh", someBytes(), EXECUTABLE_FILE); assertTrue(CacheUtils.isRegularOrExecutableFile("/test_file.sh", cache)); } @Test public void testIsRegularOrExecutableFileWhenSymbolicLinkExists_shouldReturnTrue() throws IOException { writeToCache("/test_file.txt", someBytes(), SYMLINK); assertFalse(CacheUtils.isRegularOrExecutableFile("/test_file.txt", cache)); } @Test public void testIsNonEmptyDirectoryWhenDirectoryDoesNotExist_shouldReturnFalse() throws IOException { assertFalse(CacheUtils.isNonEmptyDirectory("/test_dir", cache)); } @Test public void testIsNonEmptyDirectoryWhenFileExists_shouldReturnFalse() throws IOException { writeToCache("/test"); assertFalse(CacheUtils.isNonEmptyDirectory("/test", cache)); } @Test public void testIsNonEmptyDirectoryWhenDirectoryExists_shouldReturnTrue() throws IOException { writeToCache("/test_dir/file.txt"); assertTrue(CacheUtils.isNonEmptyDirectory("/test_dir", cache)); } }