package com.github.signed.sandboxes.maven;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.model.FileHeader;
import net.lingala.zip4j.model.ZipParameters;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import java.io.File;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
public class ZipDumper_Test {
@Rule
public final TemporaryFolder folder = new TemporaryFolder();
@Test
public void findLicenseFilesIgnoringDepthAndSpellingAndFileExtension() throws Exception {
File some = folder.newFolder("some/");
folder.newFolder("some/directory/");
folder.newFile("some/directory/liCense.txt");
File createdZipFile = new File(folder.getRoot(), "sample.zip");
ZipFile zipFile = new ZipFile(createdZipFile);
zipFile.addFolder(some, new ZipParameters());
ZipDumper dumper = new ZipDumper();
final FileHeader[] found = new FileHeader[1];
dumper.dumpZipContent(createdZipFile, new LegalRelevantFiles() {
@Override
public void licenseFile(FileHeader license) {
found[0] = license;
}
@Override
public void noticeFile(FileHeader notice) {
throw new RuntimeException("should not be called");
}
});
assertThat(found[0].getFileName(), is("some/directory/liCense.txt"));
}
}