public void ShouldGetNullValue() { var identifier = new DecryptIdentifier(Guid.NewGuid().ToByteArray(), new Dictionary <string, string>()); var cacheKey = Guid.NewGuid().ToString(); _cacheKeyGenerator.Setup(x => x.Generate(identifier)) .Returns(cacheKey); _distributedCache.Setup(x => x.Get(cacheKey)) .Returns <byte[]>(null); var dataKeyCache = new DecryptKeyCache(_cacheKeyGenerator.Object, _distributedCache.Object, _distributedCacheEntryOptionsFactory.Object); var result = dataKeyCache.Get(identifier); result.ShouldBeNull(); }
public void ShouldSetValue() { var identifier = new DecryptIdentifier(Guid.NewGuid().ToByteArray(), new Dictionary <string, string>()); var cacheKey = Guid.NewGuid().ToString(); _cacheKeyGenerator.Setup(x => x.Generate(identifier)) .Returns(cacheKey); var cacheValue = new byte[] { 1, 2, 3 }; var entryOptions = new DistributedCacheEntryOptions(); _distributedCacheEntryOptionsFactory.Setup(x => x.Create(CacheItemType.Decrypt)) .Returns(entryOptions); var dataKeyCache = new DecryptKeyCache(_cacheKeyGenerator.Object, _distributedCache.Object, _distributedCacheEntryOptionsFactory.Object); dataKeyCache.Set(identifier, cacheValue); _distributedCache.Verify(x => x.Set(cacheKey, cacheValue, entryOptions)); }
public string Generate(DecryptIdentifier identifier) { return(Convert.ToBase64String(identifier.CiphertextBlob) + BuildContextKeyString(identifier.EncryptionContext)); }