package com.beijunyi.parallelgit.filesystem;
import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.PosixFilePermissions;
import org.junit.Test;
import static java.nio.file.Files.*;
import static java.nio.file.attribute.PosixFilePermission.OWNER_EXECUTE;
import static java.util.Collections.singleton;
import static org.junit.Assert.assertTrue;
public class FilesCreateFileTest extends PreSetupGitFileSystemTest {
@Test
public void createFile_fileShouldBeCreated() throws IOException {
Path newFile = gfs.getPath("/new_file.txt");
createFile(newFile);
assertTrue(exists(newFile));
}
@Test(expected = FileAlreadyExistsException.class)
public void createFileWhenFileAlreadyExists_shouldThrowFileAlreadyExistsException() throws IOException {
Path newFile = gfs.getPath("/new_file.txt");
createFile(newFile);
createFile(newFile);
}
@Test
public void createFileWithExecutableOption_fileShouldBeExcutable() throws IOException {
Path newFile = gfs.getPath("/new_file.txt");
createFile(newFile, PosixFilePermissions.asFileAttribute(singleton(OWNER_EXECUTE)));
Files.isExecutable(newFile);
}
}