public static void DecryptBinaryReturnsTheCipherTextIfNotSurroundedByDoubleSquareBrackets() { var crypto = new FakeCrypto(); var cipherText = new byte[] { 1, 2, 3 }; var plainText = crypto.Decrypt(cipherText); plainText.Should().BeSameAs(cipherText); }
public static void DecryptStringReturnsTheCipherTextIfNotSurroundedByDoubleSquareBrackets() { var crypto = new FakeCrypto(); var cipherText = "Hello, world!"; var plainText = crypto.Decrypt(cipherText); plainText.Should().BeSameAs(cipherText); }
public static void DecryptBinaryRemovesDoubleSquareBrackets() { var crypto = new FakeCrypto(); var cipherText = new byte[] { (int)'[', (int)'[', 1, 2, 3, (int)']', (int)']' }; var plainText = crypto.Decrypt(cipherText); plainText.Should().BeEquivalentTo(new byte[] { 1, 2, 3 }); }
public static void EncryptStringAddsDoubleSquareBrackets() { var crypto = new FakeCrypto(); var plainText = "Hello, world!"; var cipherText = crypto.Encrypt(plainText); cipherText.Should().Be("[[Hello, world!]]"); }
public static void DecryptStringRemovesDoubleSquareBrackets() { var crypto = new FakeCrypto(); var cipherText = "[[Hello, world!]]"; var plainText = crypto.Decrypt(cipherText); plainText.Should().Be("Hello, world!"); }
public static void DecryptXmlWorks() { var fakeCrypto = new FakeCrypto(); var xml = "<foo bar=\"[[123]]\"><baz>[[456]]</baz><baz>[[789]]</baz><qux>[[<garply grault=\"abc\" />]]</qux></foo>"; var decryptedXml = fakeCrypto.DecryptXml(xml, new[] { "/foo/@bar", "/foo/baz", "/foo/qux" }); decryptedXml.Should().Be("<foo bar=\"123\"><baz>456</baz><baz>789</baz><qux><garply grault=\"abc\" /></qux></foo>"); }
public static void DecryptJsonWorks() { var fakeCrypto = new FakeCrypto(); var json = "{\"foo\":\"[[\\\"abc\\\"]]\",\"bar\":\"[[123]]\",\"baz\":\"[[true]]\",\"qux\":\"[[[1,2,3]]]\",\"garply\":\"[[{\\\"grault\\\":\\\"xyz\\\"}]]\",\"fred\":\"[[null]]\"}"; var decryptedJson = fakeCrypto.DecryptJson(json, new[] { "$.foo", "$.bar", "$.baz", "$.qux", "$.garply", "$.fred" }); decryptedJson.Should().Be("{\"foo\":\"abc\",\"bar\":123,\"baz\":true,\"qux\":[1,2,3],\"garply\":{\"grault\":\"xyz\"},\"fred\":null}"); }
public static void DecryptJsonThrowsWhenJsonStringIsNull() { var fakeCrypto = new FakeCrypto(); string json = null !; var act = () => fakeCrypto.DecryptJson(json, new[] { "$.foo", "$.bar", "$.baz", "$.qux", "$.garply", "$.fred" }); act.Should().ThrowExactly <ArgumentNullException>(); }
public static void DecryptXmlThrowsWhenXmlStringIsNull() { var fakeCrypto = new FakeCrypto(); string xml = null !; var act = () => fakeCrypto.DecryptXml(xml, new[] { "/foo/@bar", "/foo/baz", "/foo/qux" }); act.Should().ThrowExactly <ArgumentNullException>(); }
public static void EncryptXmlThrowsWhenAnXPathItemIsNull() { var fakeCrypto = new FakeCrypto(); var xml = "<foo bar=\"123\"><baz>456</baz><baz>789</baz><qux><garply grault=\"abc\" /></qux></foo>"; string[] xpathsToEncrypt = { null ! }; var act = () => fakeCrypto.EncryptXml(xml, xpathsToEncrypt); act.Should().ThrowExactly <ArgumentException>(); }
public static void DecryptJsonThrowsWhenAnJsonPathItemIsNull() { var fakeCrypto = new FakeCrypto(); var json = "{\"foo\":\"[[\\\"abc\\\"]]\",\"bar\":\"[[123]]\",\"baz\":\"[[true]]\",\"qux\":\"[[[1,2,3]]]\",\"garply\":\"[[{\\\"grault\\\":\\\"xyz\\\"}]]\",\"fred\":\"[[null]]\"}"; string[] jsonPathsToDecrypt = { null ! }; var act = () => fakeCrypto.DecryptJson(json, jsonPathsToDecrypt); act.Should().ThrowExactly <ArgumentException>(); }
public static void EncryptJsonThrowsWhenAnJsonPathItemIsNull() { var fakeCrypto = new FakeCrypto(); var json = "{\"foo\":\"abc\",\"bar\":123,\"baz\":true,\"qux\":[1,2,3],\"garply\":{\"grault\":\"xyz\"},\"fred\":null}"; var jsonPathsToEncrypt = Array.Empty <string>(); var act = () => fakeCrypto.EncryptJson(json, jsonPathsToEncrypt); act.Should().ThrowExactly <ArgumentException>(); }
public static void DecryptXmlThrowsWhenAnXPathItemIsNull() { var fakeCrypto = new FakeCrypto(); var xml = "<foo bar=\"[[123]]\"><baz>[[456]]</baz><baz>[[789]]</baz><qux>[[<garply grault=\"abc\" />]]</qux></foo>"; string[] xpathsToDecrypt = { null ! }; var act = () => fakeCrypto.DecryptXml(xml, xpathsToDecrypt); act.Should().ThrowExactly <ArgumentException>(); }
public static void EncryptXmlThrowsWhenXPathsToEncryptIsEmpty() { var fakeCrypto = new FakeCrypto(); var xml = "<foo bar=\"123\"><baz>456</baz><baz>789</baz><qux><garply grault=\"abc\" /></qux></foo>"; var xpathsToEncrypt = Array.Empty <string>(); var act = () => fakeCrypto.EncryptXml(xml, xpathsToEncrypt); act.Should().ThrowExactly <ArgumentException>(); }
public static void EncryptJsonAndDecryptJsonCanTargetSpecificArrayElements() { var fakeCrypto = new FakeCrypto(); var json = "{\"foo\":[\"abc\",\"xyz\"]}"; var foo1 = "$.foo[1]"; var encryptedJson = fakeCrypto.EncryptJson(json, foo1); encryptedJson.Should().Be($"{{\"foo\":[\"abc\",\"[[\\\"xyz\\\"]]\"]}}"); var decryptedJson = fakeCrypto.DecryptJson(encryptedJson, foo1); decryptedJson.Should().Be(json); }
public static void GetEncryptorReturnsInstanceThatAddsDoubleSquareBrackets() { var crypto = new FakeCrypto(); var encryptor = crypto.GetEncryptor(); var plainTextString = "Hello, world!"; var plainTextBinary = new byte[] { 1, 2, 3 }; var cipherTextString = encryptor.Encrypt(plainTextString); var cipherTextBinary = encryptor.Encrypt(plainTextBinary); cipherTextString.Should().Be("[[Hello, world!]]"); cipherTextBinary.Should().BeEquivalentTo(new byte[] { (int)'[', (int)'[', 1, 2, 3, (int)']', (int)']' }); }
public static void GetDecryptorReturnsInstanceThatRemovesDoubleSquareBrackets() { var crypto = new FakeCrypto(); var decryptor = crypto.GetDecryptor(); var cipherTextString = "[[Hello, world!]]"; var cipherTextBinary = new byte[] { (int)'[', (int)'[', 1, 2, 3, (int)']', (int)']' }; var plainTextString = decryptor.Decrypt(cipherTextString); var plainTextBinary = decryptor.Decrypt(cipherTextBinary); plainTextString.Should().Be("Hello, world!"); plainTextBinary.Should().BeEquivalentTo(new byte[] { 1, 2, 3 }); }
public static void EncryptJsonAndDecryptJsonWithRootJsonPathTargetTheWholeInputString(string json) { var fakeCrypto = new FakeCrypto(); var root = "$"; var encryptedJson = fakeCrypto.EncryptJson(json, root); encryptedJson.Should().NotBe(json); encryptedJson.Should().StartWith("\"").And.EndWith("\""); var decryptedJson = fakeCrypto.DecryptJson(encryptedJson, root); decryptedJson.Should().Be(json); }
public static void CanDecryptReturnsTrue(string credentialName) { ICrypto crypto = new FakeCrypto(); crypto.CanDecrypt(credentialName).Should().BeTrue(); }