View Javadoc
1   package org.codehaus.plexus.archiver;
2   
3   import java.io.File;
4   import java.util.jar.JarFile;
5   
6   import org.codehaus.plexus.archiver.jar.JarArchiver;
7   import org.junit.jupiter.api.Test;
8   
9   import static org.junit.jupiter.api.Assertions.assertNotNull;
10  
11  /**
12   * @author Jason van Zyl
13   */
14  class DotDirectiveArchiveFinalizerTest extends TestSupport {
15  
16      @Test
17      void testDotDirectiveArchiveFinalizer() throws Exception {
18          DotDirectiveArchiveFinalizer ddaf =
19                  new DotDirectiveArchiveFinalizer(new File(getBasedir(), "src/test/dotfiles"));
20  
21          JarArchiver archiver = new JarArchiver();
22  
23          File jarFile = new File(getBasedir(), "target/dotfiles.jar");
24  
25          archiver.setDestFile(jarFile);
26  
27          archiver.addArchiveFinalizer(ddaf);
28  
29          archiver.createArchive();
30  
31          JarFile jar = new JarFile(jarFile);
32  
33          assertNotNull(jar.getEntry("LICENSE.txt"));
34  
35          assertNotNull(jar.getEntry("NOTICE.txt"));
36  
37          assertNotNull(jar.getEntry("META-INF/maven/LICENSE.txt"));
38  
39          assertNotNull(jar.getEntry("META-INF/maven/NOTICE.txt"));
40      }
41  
42      @Test
43      void testDefaultDotDirectiveBehaviour() throws Exception {
44          File dotFileDirectory = new File(getBasedir(), "src/test/dotfiles");
45  
46          JarArchiver archiver = new JarArchiver();
47  
48          archiver.setDotFileDirectory(dotFileDirectory);
49  
50          File jarFile = new File(getBasedir(), "target/default-dotfiles.jar");
51  
52          archiver.setDestFile(jarFile);
53  
54          archiver.createArchive();
55  
56          JarFile jar = new JarFile(jarFile);
57  
58          assertNotNull(jar.getEntry("LICENSE.txt"));
59  
60          assertNotNull(jar.getEntry("NOTICE.txt"));
61  
62          assertNotNull(jar.getEntry("META-INF/maven/LICENSE.txt"));
63  
64          assertNotNull(jar.getEntry("META-INF/maven/NOTICE.txt"));
65      }
66  }