public async Task RemoveRepositorySignaturesAsync_WithMultipleCountersignatures_ReturnsSignedPackageWithoutRepositorySignatures() { using (var test = new RemoveTest(_fixture)) { await test.AuthorSignAsync(); await test.CountersignAsync(); var expectedPackage = test.SignedPackage.ToArray(); var originalLastWriteTime = GetLastModifiedDateTimeOfPackageSignatureFile(test.SignedPackage); await test.RepositoryCountersignAsync(); await test.RepositoryCountersignAsync(); var wasSomethingRemoved = await SignedPackageArchiveUtility.RemoveRepositorySignaturesAsync( test.SignedPackage, test.UnsignedPackage, CancellationToken.None); var actualPackage = test.UnsignedPackage.ToArray(); var newLastWriteTime = GetLastModifiedDateTimeOfPackageSignatureFile(test.UnsignedPackage); Assert.True(wasSomethingRemoved); Assert.InRange(newLastWriteTime, originalLastWriteTime, originalLastWriteTime.Add(TimeSpan.FromMinutes(5))); ZeroPackageSignatureFileLastModifiedDateTimes( expectedPackage, actualPackage, offsetOfLocalFileHeaderLastModifiedDateTime: 0x1df, offsetOfCentralDirectoryHeaderLastModifiedDateTime: 0xa7a); Assert.Equal(expectedPackage, actualPackage); } }
public async Task RemoveRepositorySignaturesAsync_WithUnsignedPackage_DoesNotChangePackage() { using (var test = new RemoveTest(_fixture)) using (var input = new MemoryStream(test.Zip.ToByteArray(), writable: false)) { var wasSomethingRemoved = await SignedPackageArchiveUtility.RemoveRepositorySignaturesAsync( input, test.UnsignedPackage, CancellationToken.None); Assert.False(wasSomethingRemoved); Assert.Equal(0, test.UnsignedPackage.Length); } }
public async Task RemoveRepositorySignaturesAsync_WithRepositoryPrimarySignature_ReturnsUnsignedPackage() { using (var test = new RemoveTest(_fixture)) { await test.RepositorySignAsync(); var wasSomethingRemoved = await SignedPackageArchiveUtility.RemoveRepositorySignaturesAsync( test.SignedPackage, test.UnsignedPackage, CancellationToken.None); Assert.True(wasSomethingRemoved); Assert.Equal(test.Zip.ToByteArray(), test.UnsignedPackage.ToArray()); } }
public async Task RemoveRepositorySignaturesAsync_WithAuthorPrimarySignature_DoesNotChangePackage() { using (var test = new RemoveTest(_fixture)) { await test.AuthorSignAsync(); var wasSomethingRemoved = await SignedPackageArchiveUtility.RemoveRepositorySignaturesAsync( test.SignedPackage, test.UnsignedPackage, CancellationToken.None); Assert.False(wasSomethingRemoved); Assert.Equal(0, test.UnsignedPackage.Length); } }