public void ArchiveUpdater_SimpleUpdateJar_Succeeds() { // Arrange - create an input archive file string rootTestDir = TestUtils.CreateTestDirectory(this.TestContext); string originalZipFile = Path.Combine(rootTestDir, "original.zip"); string updatedZipFile = Path.Combine(rootTestDir, "updated.zip"); string setupDir = TestUtils.CreateTestDirectory(this.TestContext, ".zip.setup"); TestUtils.CreateTextFile("file1.txt", setupDir, "file 1 content"); TestUtils.CreateTextFile("sub1\\sub2\\file2.txt", setupDir, "file 2 content"); ZipFile.CreateFromDirectory(setupDir, originalZipFile); // Sanity check that the test archive was built correctly ZipFileChecker checker = new ZipFileChecker(this.TestContext, originalZipFile); checker.AssertZipContainsOnlyExpectedFiles( // Original files "file1.txt", "sub1\\sub2\\file2.txt"); // Create some new dummy files to add string addFile1 = TestUtils.CreateTextFile("additional1.txt", rootTestDir, "a1"); string addFile2 = TestUtils.CreateTextFile("additional2.txt", rootTestDir, "a2"); string updaterRootDir = TestUtils.CreateTestDirectory(this.TestContext, "updater"); ArchiveUpdater updater = new ArchiveUpdater(updaterRootDir, new TestLogger()); // Act updater.SetInputArchive(originalZipFile) .SetOutputArchive(updatedZipFile) .AddFile(addFile1, "addFile1.txt") .AddFile(addFile2, "sub1\\sub2\\addFile2.txt") .AddFile(addFile1, "newSubDir\\addFile3.txt"); updater.UpdateArchive(); // Assert checker = new ZipFileChecker(this.TestContext, updatedZipFile); checker.AssertZipContainsOnlyExpectedFiles( // Original files "file1.txt", "sub1\\sub2\\file2.txt", // Added files "addFile1.txt", "sub1\\sub2\\addFile2.txt", "newSubDir\\addFile3.txt" ); }
public void ZipDir_SimpleFilter_2() { // Arrange string testDir = TestUtils.CreateTestDirectory(this.TestContext); TestUtils.CreateTextFile("dummy.txt", testDir, "dummy content"); TestUtils.CreateTextFile("sub1\\foo.txt", testDir, "dummy content"); TestUtils.CreateTextFile("sub2\\bar.123", testDir, "dummy content"); TestUtils.CreateTextFile("sub2\\archive1.zip", testDir, "dummy content"); TestUtils.CreateTextFile("archive2.zip", testDir, "dummy content"); Func<string, bool> shouldInclude = f => f.Contains("sub"); string fullzipFileName = Path.Combine(testDir, "output.zip"); ZipExtensions.CreateFromDirectory(testDir, fullzipFileName, shouldInclude); ZipFileChecker checker = new ZipFileChecker(this.TestContext, fullzipFileName); checker.AssertZipContainsOnlyExpectedFiles( "sub1\\foo.txt", "sub2\\bar.123", "sub2\\archive1.zip"); }
private void CheckEmbeddedAnalyzerPayload(ZipFileChecker jarChecker, string staticResourceName, params string[] expectedZipContents) { // Now create another checker to check the contents of the zip file (strict check this time) string embeddedZipFilePath = jarChecker.AssertFileExists(staticResourceName); ZipFileChecker embeddedFileChecker = new ZipFileChecker(this.TestContext, embeddedZipFilePath); embeddedFileChecker.AssertZipContainsOnlyExpectedFiles(expectedZipContents); }