View Javadoc
1   package org.codehaus.plexus.archiver;
2   
3   import java.io.File;
4   import java.io.IOException;
5   
6   import org.junit.jupiter.api.BeforeEach;
7   import org.junit.jupiter.api.Test;
8   
9   import static org.junit.jupiter.api.Assertions.assertEquals;
10  
11  class AbstractArchiverTest {
12  
13      private AbstractArchiver archiver;
14  
15      @BeforeEach
16      void setUp() throws Exception {
17          this.archiver = new AbstractArchiver() {
18  
19              @Override
20              protected String getArchiveType() {
21                  throw new UnsupportedOperationException();
22              }
23  
24              @Override
25              protected void execute() throws ArchiverException, IOException {
26                  throw new UnsupportedOperationException();
27              }
28  
29              @Override
30              protected void close() throws IOException {
31                  throw new UnsupportedOperationException();
32              }
33          };
34      }
35  
36      @Test
37      void testModesAndOverridesAreUnsetByDefault() {
38          assertEquals(-1, archiver.getDefaultFileMode());
39          assertEquals(-1, archiver.getOverrideFileMode());
40  
41          assertEquals(Archiver.DEFAULT_DIR_MODE, archiver.getDefaultDirectoryMode());
42          assertEquals(-1, archiver.getOverrideDirectoryMode());
43      }
44  
45      @Test
46      void testWhenUnsetModeUsesDefault() {
47          assertEquals(Archiver.DEFAULT_FILE_MODE, archiver.getFileMode());
48          assertEquals(Archiver.DEFAULT_DIR_MODE, archiver.getDirectoryMode());
49      }
50  
51      @Test
52      void testSetModeIsUsedWithFlagsForType() {
53          archiver.setFileMode(0400);
54          assertEquals(0100400, archiver.getFileMode());
55  
56          archiver.setDirectoryMode(0600);
57          assertEquals(040600, archiver.getDirectoryMode());
58      }
59  
60      @Test
61      void testSetDefaultIncludesFlagsForType() {
62          archiver.setDefaultFileMode(0400);
63          assertEquals(0100400, archiver.getDefaultFileMode());
64  
65          archiver.setDefaultDirectoryMode(0600);
66          assertEquals(040600, archiver.getDefaultDirectoryMode());
67      }
68  
69      @Test
70      void testDefaultIsUsedWhenModeIsUnset() {
71          archiver.setDefaultFileMode(0400);
72          assertEquals(0100400, archiver.getFileMode());
73  
74          archiver.setDefaultDirectoryMode(0600);
75          assertEquals(040600, archiver.getDirectoryMode());
76      }
77  
78      @Test
79      void testOverridesCanBeReset() {
80          archiver.setFileMode(0400);
81          archiver.setFileMode(-1);
82          assertEquals(-1, archiver.getOverrideFileMode());
83  
84          archiver.setDirectoryMode(0600);
85          archiver.setDirectoryMode(-1);
86          assertEquals(-1, archiver.getOverrideDirectoryMode());
87      }
88  
89      @Test
90      void testSetDestFileInTheWorkingDir() {
91          archiver.setDestFile(new File("archive"));
92      }
93  }