public void ShouldReturnResultFromCacheOnGenerateDataKey() { var keyId = Guid.NewGuid().ToString(); var dataKeyResult = new GenerateDataKeyResult() { KeyCiphertext = new byte[] { 1, 2, 3 }, KeyPlaintext = new byte[] { 4, 5, 6 } }; _dataKeyCache.Setup(x => x.Get(It.Is <DataKeyIdentifier>(identifier => identifier.KeyId == keyId && identifier.EncryptionContext == _encryptionContext))) .Returns(dataKeyResult); var result = _keyManagementServiceCache.GenerateDataKey(keyId, _encryptionContext, Guid.NewGuid().ToString()); _keyManagementService.Verify( x => x.GenerateDataKey( It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>()), Times.Never); result.KeyPlaintext.ShouldBe(dataKeyResult.KeyPlaintext); result.KeyCiphertext.ShouldBe(dataKeyResult.KeyCiphertext); }
public void ShouldReturnResultFromCacheOnGenerateDataKey() { var keyId = Guid.NewGuid().ToString(); var cacheKey = Guid.NewGuid().ToString(); _cacheKeyGenerator.Setup(x => x.Generate(keyId, _encryptionContext)) .Returns(cacheKey); var cacheValue = new byte[] { 10, 11, 12 }; _cache.Setup(x => x.Get(cacheKey)) .Returns(cacheValue); var dataKeyResult = new GenerateDataKeyResult() { KeyCiphertext = new byte[] { 1, 2, 3 }, KeyPlaintext = new byte[] { 4, 5, 6 } }; _cacheValueConverter.Setup(x => x.Convert(cacheValue)) .Returns(dataKeyResult); var result = _keyManagementServiceCache.GenerateDataKey(keyId, _encryptionContext, Guid.NewGuid().ToString()); _keyManagementService.Verify( x => x.GenerateDataKey( It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>()), Times.Never); result.KeyPlaintext.ShouldBe(dataKeyResult.KeyPlaintext); result.KeyCiphertext.ShouldBe(dataKeyResult.KeyCiphertext); }