public void ExtractArchiveWithDenyFilters(string fileName, int expectedNumFiles = 2) { var directory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var path = Path.Combine(Directory.GetCurrentDirectory(), "TestData", "TestDataArchives", fileName); var newpath = Path.GetTempFileName(); File.Copy(path, newpath, true); RecursiveExtractorClient.ExtractCommand(new ExtractCommandOptions() { Input = newpath, Output = directory, Verbose = true, DenyFilters = new string[] { ".[cC][sS]$" } }); var files = Array.Empty <string>(); if (Directory.Exists(directory)) { files = Directory.EnumerateFiles(directory, "*.*", SearchOption.AllDirectories).ToArray(); Directory.Delete(directory, true); } Assert.AreEqual(expectedNumFiles, files.Length); }
public void ExtractEncryptedArchive(string fileName, int expectedNumFiles = 3) { var directory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var path = Path.Combine(Directory.GetCurrentDirectory(), "TestData", "TestDataArchives", fileName); var passwords = ExtractorTests.TestArchivePasswords.Values.SelectMany(x => x); RecursiveExtractorClient.ExtractCommand(new ExtractCommandOptions() { Input = path, Output = directory, Verbose = true, Passwords = passwords }); var files = Array.Empty <string>(); if (Directory.Exists(directory)) { files = Directory.EnumerateFiles(directory, "*.*", SearchOption.AllDirectories).ToArray(); Directory.Delete(directory, true); } Assert.AreEqual(expectedNumFiles, files.Length); }