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
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 }