1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.surefire.api.util;
20
21 import java.io.File;
22 import java.io.IOException;
23 import java.nio.file.FileSystems;
24 import java.nio.file.Files;
25 import java.nio.file.attribute.PosixFilePermission;
26 import java.nio.file.attribute.PosixFilePermissions;
27 import java.util.Set;
28
29 import junit.framework.TestCase;
30 import org.junit.Test;
31
32 import static org.assertj.core.api.Assertions.assertThat;
33
34
35
36
37
38
39 public class SureFireFileManagerTest extends TestCase {
40
41 @Test
42 public void testCreateTempFile() throws IOException {
43
44 File tempFile = SureFireFileManager.createTempFile("sfprefix", "sfsuffix");
45 assertThat(tempFile).isWritable();
46 assertThat(tempFile.getName()).startsWith("sfprefix").endsWith("sfsuffix");
47
48 File tempDir = tempFile.getParentFile();
49 assertThat(tempDir).isDirectory().isWritable();
50 assertThat(tempDir.getName()).startsWith("surefire-").doesNotMatch("[^A-Za-z0-9\\\\-_]");
51
52 boolean isPosix = FileSystems.getDefault().supportedFileAttributeViews().contains("posix");
53 if (isPosix) {
54 Set<PosixFilePermission> permissions = Files.getPosixFilePermissions(tempDir.toPath());
55 assertEquals("rwxrwxr-x", PosixFilePermissions.toString(permissions));
56 }
57 }
58 }