From 01b46109ec6cb65fb56f1da5d37cc11877e206be Mon Sep 17 00:00:00 2001 From: Raphael Anyanwu Date: Fri, 22 Mar 2024 14:31:57 +0100 Subject: [PATCH 1/4] remove unused using --- src/SafeCrypt.UnitTests/AesTests/EncryptionDecryption.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SafeCrypt.UnitTests/AesTests/EncryptionDecryption.cs b/src/SafeCrypt.UnitTests/AesTests/EncryptionDecryption.cs index 7e03865..1cec586 100644 --- a/src/SafeCrypt.UnitTests/AesTests/EncryptionDecryption.cs +++ b/src/SafeCrypt.UnitTests/AesTests/EncryptionDecryption.cs @@ -1,7 +1,6 @@ using SafeCrypt.Helpers; using SafeCrypt.Models; using SafeCrypt.AES; -using SafeCrypt.RsaEncryption.Models; namespace SafeCrypt.UnitTests.AesTests; From ab3b5e6dfb273efc640c77782dbab4a2d1e91a6c Mon Sep 17 00:00:00 2001 From: Raphael Anyanwu Date: Fri, 22 Mar 2024 14:41:16 +0100 Subject: [PATCH 2/4] add rsa encryption test --- src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs | 46 ++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs diff --git a/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs new file mode 100644 index 0000000..4a50a3e --- /dev/null +++ b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs @@ -0,0 +1,46 @@ +using SafeCrypt.Helpers; +using SafeCrypt.RsaEncryption; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SafeCrypt.UnitTests.RsaTests; + +public class RsaTests +{ + [Fact] + public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData() + { + // Example: Generate RSA keys + var rsaKeyPair = KeyGenerators.GenerateRsaKeys(2048); + string rsaPublicKey = rsaKeyPair.Item1; + string rsaPrivateKey = rsaKeyPair.Item2; + + // Arrange + var model = new RsaEncryptionParameters + { + DataToEncrypt = "Hello, RSA!", + PublicKey = rsaPublicKey + }; + + // Act + var encrypt = await Rsa.EncryptAsync(model); + + var decryptModel = new RsaDecryptionParameters + { + DataToDecrypt = encrypt.EncryptedData, + PrivateKey = rsaPrivateKey + }; + + var decrypt = await Rsa.DecryptAsync(decryptModel); + + // Assert + Assert.Equal(model.DataToEncrypt, decrypt.DecryptedData); + Assert.NotNull(encrypt.EncryptedData); + Assert.Empty(encrypt.Errors); + Assert.NotNull(decrypt.DecryptedData); + Assert.Empty(decrypt.Errors); + } +} From 9443d9c10e4538c0408eaf13ff0b71bb1b7c5d24 Mon Sep 17 00:00:00 2001 From: Raphael Anyanwu Date: Fri, 22 Mar 2024 14:47:21 +0100 Subject: [PATCH 3/4] encrypting empty string returns error --- src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs | 35 +++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs index 4a50a3e..a6cb351 100644 --- a/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs +++ b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs @@ -10,19 +10,26 @@ namespace SafeCrypt.UnitTests.RsaTests; public class RsaTests { + private readonly string PublicKey; + private readonly string PrivateKey; + public RsaTests() + { + (PublicKey, PrivateKey) = KeyGenerators.GenerateRsaKeys(2048); + } + [Fact] public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData() { // Example: Generate RSA keys - var rsaKeyPair = KeyGenerators.GenerateRsaKeys(2048); - string rsaPublicKey = rsaKeyPair.Item1; - string rsaPrivateKey = rsaKeyPair.Item2; + //var rsaKeyPair = KeyGenerators.GenerateRsaKeys(2048); + //string rsaPublicKey = rsaKeyPair.Item1; + //string rsaPrivateKey = rsaKeyPair.Item2; // Arrange var model = new RsaEncryptionParameters { DataToEncrypt = "Hello, RSA!", - PublicKey = rsaPublicKey + PublicKey = PublicKey }; // Act @@ -31,7 +38,7 @@ public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData( var decryptModel = new RsaDecryptionParameters { DataToDecrypt = encrypt.EncryptedData, - PrivateKey = rsaPrivateKey + PrivateKey = PrivateKey }; var decrypt = await Rsa.DecryptAsync(decryptModel); @@ -43,4 +50,22 @@ public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData( Assert.NotNull(decrypt.DecryptedData); Assert.Empty(decrypt.Errors); } + + [Fact] + public async Task EncryptAsync_InvalidData_ReturnsErrors() + { + // Arrange + var model = new RsaEncryptionParameters + { + DataToEncrypt = "", + PublicKey = PublicKey + }; + + // Act + var result = await Rsa.EncryptAsync(model); + + // Assert + Assert.Null(result.EncryptedData); + Assert.NotEmpty(result.Errors); + } } From f5793a4d07f3f28f7705af282378194be8726d64 Mon Sep 17 00:00:00 2001 From: Raphael Anyanwu Date: Fri, 22 Mar 2024 14:49:35 +0100 Subject: [PATCH 4/4] remove unused codes --- src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs index a6cb351..85bf39e 100644 --- a/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs +++ b/src/SafeCrypt.UnitTests/RsaTests/RsaTests.cs @@ -1,10 +1,5 @@ using SafeCrypt.Helpers; using SafeCrypt.RsaEncryption; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SafeCrypt.UnitTests.RsaTests; @@ -20,11 +15,6 @@ public RsaTests() [Fact] public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData() { - // Example: Generate RSA keys - //var rsaKeyPair = KeyGenerators.GenerateRsaKeys(2048); - //string rsaPublicKey = rsaKeyPair.Item1; - //string rsaPrivateKey = rsaKeyPair.Item2; - // Arrange var model = new RsaEncryptionParameters {