package usecases; import java.io.IOException; import javax.annotation.Nonnull; import com.beijunyi.parallelgit.filesystem.Gfs; import com.beijunyi.parallelgit.filesystem.PreSetupGitFileSystemTest; import com.beijunyi.parallelgit.utils.GitFileUtils; import org.eclipse.jgit.revwalk.RevCommit; import org.junit.Test; import static org.junit.Assert.assertTrue; public class CommitMultipleFilesTest extends PreSetupGitFileSystemTest { @Test public void commitMultipleFiles_allFilesShouldExistInTheResultCommit() throws IOException { String[] files = {"/file1.txt", "/file2.txt", "/file3.txt"}; RevCommit commit = writeAndCommit(files); for(String file : files) assertTrue(GitFileUtils.exists(file, commit, repo)); } @Test public void commitFilesInDifferentDepthDirectories_allFilesShouldExistInTheResultCommit() throws IOException { String[] files = {"/dir1/file11.txt", "/dir2/dir21/file211.txt", "/dir2/file22.txt", "/dir2/file23.txt"}; RevCommit commit = writeAndCommit(files); for(String file : files) assertTrue(GitFileUtils.exists(file, commit, repo)); } @Nonnull private RevCommit writeAndCommit(String[] files) throws IOException { for(String file : files) writeToGfs(file); return Gfs.commit(gfs).execute().getCommit(); } }