View Javadoc
1   package com.atlassian.plugin.util.zip;
2   
3   import org.junit.Test;
4   
5   import static com.atlassian.plugin.util.zip.AbstractUnzipper.normaliseAndVerify;
6   import static org.apache.commons.io.FilenameUtils.separatorsToSystem;
7   import static org.junit.Assert.assertEquals;
8   
9   public class AbstractUnzipperTest {
10      @Test
11      public void testNormaliseAndVerifySimple() {
12          assertEquals("simple", normaliseAndVerify("simple"));
13      }
14  
15      @Test
16      public void testNormaliseAndVerifySubdir() {
17          assertEquals(separatorsToSystem("subdir/file"), normaliseAndVerify("subdir/file"));
18      }
19  
20      @Test
21      public void testNormaliseAndVerifyRelativeSimple() {
22          assertEquals("test-relative.txt", normaliseAndVerify("something/../test-relative.txt"));
23      }
24  
25      @Test
26      public void testNormaliseAndVerifyRelativeComplex() {
27          assertEquals("test-relative.txt", normaliseAndVerify("./something/.././test-relative.txt"));
28      }
29  
30      @Test(expected = IllegalArgumentException.class)
31      public void testNormaliseAndVerifyIllegalRelative() {
32          normaliseAndVerify("something/../../test-relative.txt");
33      }
34  
35      @Test(expected = IllegalArgumentException.class)
36      public void testNormaliseAndVerifyIllegalRelativeTrailingDots() {
37          normaliseAndVerify("something/../test-relative.txt/..");
38      }
39  
40      @Test(expected = IllegalArgumentException.class)
41      public void testNormaliseAndVerifyIllegalRelativeLeadingSlash() {
42          normaliseAndVerify("/something/../../test-relative.txt");
43      }
44  
45      @Test(expected = IllegalArgumentException.class)
46      public void testNormaliseAndVerifyIllegalRelativeLeadingDots() {
47          normaliseAndVerify("../test-relative.txt");
48      }
49  
50      @Test(expected = IllegalArgumentException.class)
51      public void testNormaliseAndVerifyIllegalRelativeLeadingSeriesOfDots() {
52          normaliseAndVerify("./../test-relative.txt");
53      }
54  }