public void ToStream_Should_Archive_Directories() { // Arrange var archiver = new ZipPackager(); using var tempDir = new TempDirectory(); var d1 = Path.Join(tempDir.FullPath, "d1"); Directory.CreateDirectory(d1); var d2 = Path.Join(d1, "d2"); Directory.CreateDirectory(d2); // Act var buf = archiver.ToBytes(tempDir.FullPath); // Assert var zip = new ZipArchive(new MemoryStream(buf)); using var entries = zip.Entries.GetEnumerator(); entries.MoveNext().Should().BeTrue(); Assert.NotNull(entries.Current); entries.Current.FullName.Should().Be("d1/"); using var reader = new StreamReader(entries.Current.Open()); reader.ReadToEnd().Should().BeEmpty(); entries.MoveNext().Should().BeTrue(); Assert.NotNull(entries.Current); entries.Current.FullName.Should().Be("d1/d2/"); entries.MoveNext().Should().BeFalse(); }
public void ToStream_Should_Create_Zip_Archive() { // Arrange var archiver = new ZipPackager(); var tempDir = new TempDirectory(); // Act var buf = archiver.ToBytes(tempDir.FullPath); // Assert new ZipArchive(new MemoryStream(buf)).Should().BeOfType <ZipArchive>(); }