public void CanDecryptReturnsFalseForNonExistingCrypto() { ICrypto fooCrypto = CreateICrypto("foo"); ICrypto barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); compositeCrypto.CanDecrypt("baz").Should().BeFalse(); }
public void CanEncryptReturnsTrueForExistingCrypto() { ICrypto fooCrypto = CreateICrypto("foo"); ICrypto barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); compositeCrypto.CanEncrypt("foo").Should().BeTrue(); compositeCrypto.CanEncrypt("bar").Should().BeTrue(); }
public void GetDecryptorThrowsWhenICryptoDoesntExist() { ICrypto fooCrypto = CreateICrypto("foo"); ICrypto barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); Action action = () => compositeCrypto.GetDecryptor("baz"); action.ShouldThrow <KeyNotFoundException>() .WithMessage("Unable to locate implementation of ICrypto that can locate a credential using credentialName: baz"); }
public void DecryptSucceedsWithExistingICrypto() { ICrypto fooCrypto = CreateICrypto("foo"); ICrypto barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); compositeCrypto.Decrypt("stuff", "foo").Should().Be("DecryptedString : foo"); compositeCrypto.Decrypt(new byte[0], "foo").Should().BeEquivalentTo(Encoding.UTF8.GetBytes("foo")); compositeCrypto.Decrypt("stuff", "bar").Should().Be("DecryptedString : bar"); compositeCrypto.Decrypt(new byte[0], "bar").Should().BeEquivalentTo(Encoding.UTF8.GetBytes("bar")); }
public static void EncryptThrowsWhenICryptoDoesntExist() { var fooCrypto = CreateICrypto("foo"); var barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); var action = () => compositeCrypto.Encrypt("stuff", "baz"); action.Should().Throw <KeyNotFoundException>() .WithMessage("Unable to locate implementation of ICrypto that can locate a credential using credentialName: baz"); }
public static void EncryptSucceedsWithExistingICrypto() { var fooCrypto = CreateICrypto("foo"); var barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); compositeCrypto.Encrypt("stuff", "foo").Should().Be("EncryptedString : foo"); compositeCrypto.Encrypt(Array.Empty <byte>(), "foo").Should().BeEquivalentTo(Encoding.UTF8.GetBytes("foo")); compositeCrypto.Encrypt("stuff", "bar").Should().Be("EncryptedString : bar"); compositeCrypto.Encrypt(Array.Empty <byte>(), "bar").Should().BeEquivalentTo(Encoding.UTF8.GetBytes("bar")); }
public void GetDecryptorSucceedsWithExistingICrypto() { ICrypto fooCrypto = CreateICrypto("foo"); ICrypto barCrypto = CreateICrypto("bar"); var compositeCrypto = new CompositeCrypto(new List <ICrypto> { fooCrypto, barCrypto }); var fooEncryptor = compositeCrypto.GetDecryptor("foo"); var barEncryptor = compositeCrypto.GetDecryptor("bar"); fooEncryptor.Should().NotBeNull(); barEncryptor.Should().NotBeNull(); fooEncryptor.Should().NotBeSameAs(barEncryptor); }