public void TestSignFeed() { using (var stream = new MemoryStream()) { var feed = FeedTest.CreateTestFeed(); const string passphrase = "passphrase123"; var signature = new byte[] {1, 2, 3}; var secretKey = new OpenPgpSecretKey(keyID: 123, fingerprint: new byte[] {1, 2, 3}, userID: "user"); var openPgpMock = CreateMock<IOpenPgp>(); openPgpMock.Setup(x => x.Sign(It.IsAny<byte[]>(), secretKey, passphrase)) .Returns(signature); feed.SaveXml(stream); FeedUtils.SignFeed(stream, secretKey, passphrase, openPgpMock.Object); string signedFeed = stream.ReadToString(); string expectedFeed = feed.ToXmlString() + Store.Feeds.FeedUtils.SignatureBlockStart + Convert.ToBase64String(signature) + "\n" + Store.Feeds.FeedUtils.SignatureBlockEnd; signedFeed.Should().Be(expectedFeed, because: "Feed should remain unchanged except for appended XML signatre"); } }
public void TestSignFeed() { using (var stream = new MemoryStream()) { var feed = FeedTest.CreateTestFeed(); var openPgpMock = MockRepository.Create<IOpenPgp>(); const string passphrase = "passphrase123"; var signature = new byte[] {1, 2, 3}; openPgpMock.Setup(x => x.Sign(It.IsAny<byte[]>(), _secretKey, passphrase)) .Returns(signature); feed.SaveXml(stream); FeedUtils.SignFeed(stream, _secretKey, passphrase, openPgpMock.Object); string signedFeed = stream.ReadToString(); string expectedFeed = feed.ToXmlString() + Store.Feeds.FeedUtils.SignatureBlockStart + Convert.ToBase64String(signature) + "\n" + Store.Feeds.FeedUtils.SignatureBlockEnd; Assert.AreEqual(expectedFeed, signedFeed, "Feed should remain unchanged except for appended XML signatre"); } }