Skip to content

Commit eb184de

Browse files
committed
test: added test for extracting zstd'd tarfiles
1 parent aca9d90 commit eb184de

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

src/main/java/com/synopsys/integration/blackduck/imageinspector/image/common/ImageLayerApplier.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ public void applyLayer(File destinationDir, final TypedArchiveFile layerTar) thr
4747
} else if (layerTar.getType().equals(ArchiveFileType.TAR_GZIPPED)) {
4848
filesToRemove = imageLayerArchiveExtractor.extractLayerGzipTarToDir(fileOperations, layerTar.getFile(), destinationDir);
4949
} else if (layerTar.getType().equals(ArchiveFileType.TAR_ZSTD)) {
50-
//TODO- test this works
5150
filesToRemove = imageLayerArchiveExtractor.extractLayerZstdTarToDir(fileOperations, layerTar.getFile(), destinationDir);
5251
}
5352
for (final File fileToRemove : filesToRemove) {

src/test/java/com/synopsys/integration/blackduck/imageinspector/image/common/archive/ImageLayerArchiveExtractorTest.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public class ImageLayerArchiveExtractorTest {
2121
@TempDir
2222
File tempDir;
2323

24+
// TODO next 3 tests could be parameterized
25+
2426
@Test
2527
void test() throws IOException {
2628
ImageLayerArchiveExtractor imageLayerArchiveExtractor = new ImageLayerArchiveExtractor();
@@ -37,6 +39,38 @@ void test() throws IOException {
3739
assertTrue(extractedFiles.stream().findFirst().get().isDirectory());
3840
}
3941

42+
@Test
43+
void testTarGz() throws IOException {
44+
ImageLayerArchiveExtractor imageLayerArchiveExtractor = new ImageLayerArchiveExtractor();
45+
FileOperations fileOperations = new FileOperations();
46+
File tarFile = new File("src/test/resources/layers/targz/123456");
47+
File outputDir = new File(tempDir, "output");
48+
49+
imageLayerArchiveExtractor.extractLayerGzipTarToDir(fileOperations, tarFile, outputDir);
50+
51+
List<File> extractedFiles = Arrays.asList(outputDir.listFiles());
52+
assertEquals(2, extractedFiles.size());
53+
assertTrue(extractedFiles.stream().map(File::getName).filter(name -> name.equals("omit")).findAny().isPresent());
54+
assertTrue(extractedFiles.stream().map(File::getName).filter(name -> name.equals("regular")).findAny().isPresent());
55+
assertTrue(extractedFiles.stream().findFirst().get().isDirectory());
56+
}
57+
58+
@Test
59+
void testTarZstd() throws IOException {
60+
ImageLayerArchiveExtractor imageLayerArchiveExtractor = new ImageLayerArchiveExtractor();
61+
FileOperations fileOperations = new FileOperations();
62+
File tarFile = new File("src/test/resources/layers/zstd/123456");
63+
File outputDir = new File(tempDir, "output");
64+
65+
imageLayerArchiveExtractor.extractLayerZstdTarToDir(fileOperations, tarFile, outputDir);
66+
67+
List<File> extractedFiles = Arrays.asList(outputDir.listFiles());
68+
assertEquals(2, extractedFiles.size());
69+
assertTrue(extractedFiles.stream().map(File::getName).filter(name -> name.equals("omit")).findAny().isPresent());
70+
assertTrue(extractedFiles.stream().map(File::getName).filter(name -> name.equals("regular")).findAny().isPresent());
71+
assertTrue(extractedFiles.stream().findFirst().get().isDirectory());
72+
}
73+
4074
@Test
4175
public void testOpaqueDir() throws IOException {
4276
final File tarFile = new File("src/test/resources/layers/whiteoutOpaqueDir/layer.tar");
224 Bytes
Binary file not shown.

src/test/resources/layers/zstd/123456

206 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)