Quasar/Server.Tests/Core/Encryption/AES.Tests.cs

44 lines
1.3 KiB
C#

using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using xServer.Core.Encryption;
using xServer.Core.Helper;
namespace xServer.Tests.Core.Encryption
{
[TestClass]
public class AESTests
{
[TestMethod]
public void EncryptAndDecryptStringTest()
{
var input = Helper.GetRandomName(100);
var password = Helper.GetRandomName(50);
var encrypted = AES.Encrypt(input, password);
Assert.IsNotNull(encrypted);
Assert.AreNotEqual(encrypted, input);
var decrypted = AES.Decrypt(encrypted, password);
Assert.AreEqual(input, decrypted);
}
[TestMethod]
public void EncryptAndDecryptByteArrayTest()
{
var input = Helper.GetRandomName(100);
var inputByte = Encoding.UTF8.GetBytes(input);
var passwordByte = Encoding.UTF8.GetBytes(Helper.GetRandomName(50));
var encryptedByte = AES.Encrypt(inputByte, passwordByte);
Assert.IsNotNull(encryptedByte);
CollectionAssert.AllItemsAreNotNull(encryptedByte);
CollectionAssert.AreNotEqual(encryptedByte, inputByte);
var decryptedByte = AES.Decrypt(encryptedByte, passwordByte);
CollectionAssert.AreEqual(inputByte, decryptedByte);
}
}
}