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.gzip.GZipArchiver;
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 TarGZipUnArchiverTest 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 = "TarGZipUnArchiverTest1.txt";
48 String fileName2 = "TarGZipUnArchiverTest2.txt";
49 File file1InTar = getTestFile("target/output/" + fileName1);
50 File file2InTar = getTestFile("target/output/" + fileName2);
51 file1InTar.delete();
52 file2InTar.delete();
53
54 tarArchiver.addFile(getTestFile("src/test/resources/manifests/manifest1.mf"), fileName1);
55 tarArchiver.addFile(getTestFile("src/test/resources/manifests/manifest2.mf"), fileName2, 0664);
56 tarArchiver.setDestFile(getTestFile("target/output/archive.tar"));
57 tarArchiver.createArchive();
58
59 GZipArchiver gzipArchiver = (GZipArchiver) lookup(Archiver.class, "gzip");
60
61 File testGZipFile = getTestFile("target/output/archive.tar.gz");
62 gzipArchiver.setDestFile(testGZipFile);
63 gzipArchiver.addFile(getTestFile("target/output/archive.tar"), "dontcare");
64 gzipArchiver.createArchive();
65
66 TarGZipUnArchiver tarGZipUnArchiver = (TarGZipUnArchiver) lookup(UnArchiver.class, "tgz");
67 tarGZipUnArchiver.setDestDirectory(getTestFile("target/output"));
68 tarGZipUnArchiver.setSourceFile(testGZipFile);
69 tarGZipUnArchiver.extract();
70
71 assertTrue(file1InTar.exists());
72 assertTrue(file2InTar.exists());
73
74
75 assertEquals(testGZipFile, tarGZipUnArchiver.getSourceFile());
76 }
77
78 @Test
79 void testLookup() throws Exception {
80 lookup(UnArchiver.class, "tar.gz");
81 }
82 }