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(); 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); } }