Skip to content

Commit 83842a6

Browse files
committed
add test for Hex encrypt and decrypt methods
1 parent 0e96b9f commit 83842a6

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using SafeCrypt.Helpers;
2+
using SafeCrypt.Models;
3+
using SafeCrypt.AES;
4+
5+
namespace SafeCrypt.UnitTests.AesTests;
6+
7+
public class Encryption
8+
{
9+
public const string Data = "Hello, World!";
10+
11+
[Fact]
12+
public async Task EncryptToHexStringAsync_And_DecryptFromHexStringAsync_ValidParameters_ReturnsOriginalData()
13+
{
14+
// Arrange
15+
var aesIv = KeyGenerators.GenerateHexadecimalIVKey();
16+
var secret = KeyGenerators.GenerateAesSecretKey(256);
17+
18+
var encryptionParameters = new EncryptionParameters
19+
{
20+
Data = Data,
21+
IV = aesIv,
22+
SecretKey = secret
23+
};
24+
25+
// Act
26+
var encryptedResult = await Aes.EncryptToHexStringAsync(encryptionParameters);
27+
var decryptedResult = await Aes.DecryptFromHexStringAsync(new DecryptionParameters
28+
{
29+
Data = encryptedResult.EncryptedData,
30+
IV = aesIv,
31+
SecretKey = secret
32+
});
33+
34+
// Assert
35+
Assert.NotNull(encryptedResult.EncryptedData);
36+
Assert.Equal(Data, decryptedResult.DecryptedData);
37+
38+
Assert.False(encryptedResult.HasError);
39+
Assert.False(decryptedResult.HasError);
40+
41+
Assert.Empty(encryptedResult.Errors);
42+
Assert.Empty(decryptedResult.Errors);
43+
}
44+
}

0 commit comments

Comments
 (0)