26 lines
No EOL
741 B
C#
26 lines
No EOL
741 B
C#
using System.Security.Cryptography;
|
|
using IdentityShroud.Core.Contracts;
|
|
using IdentityShroud.Core.Services;
|
|
|
|
namespace IdentityShroud.Core.Tests.Services;
|
|
|
|
public class EncryptionServiceTests
|
|
{
|
|
[Fact]
|
|
public void RoundtripWorks()
|
|
{
|
|
// setup
|
|
string key = Convert.ToBase64String(RandomNumberGenerator.GetBytes(32));
|
|
var secretProvider = Substitute.For<ISecretProvider>();
|
|
secretProvider.GetSecret("Master").Returns(key);
|
|
|
|
EncryptionService sut = new(secretProvider);
|
|
byte[] input = RandomNumberGenerator.GetBytes(16);
|
|
|
|
// act
|
|
var cipher = sut.Encrypt(input);
|
|
var result = sut.Decrypt(cipher);
|
|
|
|
Assert.Equal(input, result);
|
|
}
|
|
} |