1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.codehaus.plexus.archiver.tar;
25
26 import java.io.File;
27
28 import org.codehaus.plexus.archiver.Archiver;
29 import org.codehaus.plexus.archiver.TestSupport;
30 import org.codehaus.plexus.archiver.UnArchiver;
31 import org.codehaus.plexus.archiver.bzip2.BZip2Archiver;
32 import org.junit.jupiter.api.Test;
33
34 import static org.junit.jupiter.api.Assertions.assertEquals;
35 import static org.junit.jupiter.api.Assertions.assertTrue;
36
37
38
39
40 class TarBZip2UnArchiverTest extends TestSupport {
41
42 @Test
43 void testExtract() throws Exception {
44 TarArchiver tarArchiver = (TarArchiver) lookup(Archiver.class, "tar");
45 tarArchiver.setLongfile(TarLongFileMode.posix);
46
47 String fileName1 = "TarBZip2UnArchiverTest1.txt";
48 String fileName2 = "TarBZip2UnArchiverTest2.txt";
49 File file1InTar = getTestFile("target/output/" + fileName1);
50 File file2InTar = getTestFile("target/output/" + fileName2);
51 file1InTar.delete();
52 file2InTar.delete();
53
54 File testBZip2File = getTestFile("target/output/archive.tar.bz2");
55
56 tarArchiver.addFile(getTestFile("src/test/resources/manifests/manifest1.mf"), fileName1);
57 tarArchiver.addFile(getTestFile("src/test/resources/manifests/manifest2.mf"), fileName2, 0664);
58 tarArchiver.setDestFile(getTestFile("target/output/archive.tar"));
59 tarArchiver.createArchive();
60
61 BZip2Archiver bzip2Archiver = (BZip2Archiver) lookup(Archiver.class, "bzip2");
62
63 bzip2Archiver.setDestFile(testBZip2File);
64 bzip2Archiver.addFile(getTestFile("target/output/archive.tar"), "dontcare");
65 bzip2Archiver.createArchive();
66
67 TarBZip2UnArchiver tarBZip2UnArchiver = (TarBZip2UnArchiver) lookup(UnArchiver.class, "tbz2");
68
69 tarBZip2UnArchiver.setDestDirectory(getTestFile("target/output"));
70 tarBZip2UnArchiver.setSourceFile(testBZip2File);
71 tarBZip2UnArchiver.extract();
72
73 assertTrue(file1InTar.exists());
74 assertTrue(file2InTar.exists());
75
76
77 assertEquals(testBZip2File, tarBZip2UnArchiver.getSourceFile());
78 }
79
80 @Test
81 void testLookup() throws Exception {
82 lookup(UnArchiver.class, "tar.bz2");
83 }
84 }