public async Task GetsFromKeyVaultWhenMissingLocally()
{
Mock<IKeyVault> keyVault = new Mock<IKeyVault>();
Mock<IKeyVaultConfigurationKeyEncoder> keyVaultEncoder = new Mock<IKeyVaultConfigurationKeyEncoder>();
Mock<IAsyncConfiguration> asyncConfiguration = new Mock<IAsyncConfiguration>();
keyVaultEncoder.Setup(x => x.Encode("mykey")).Returns("mykey");
asyncConfiguration.Setup(x => x.GetAsync("mykey")).ReturnsAsync(null);
keyVault.Setup(x => x.GetSecretAsync("mykey")).ReturnsAsync("keyvaultvalue");
AsyncKeyVaultConfiguration asyncKeyVaultConfiguration = new AsyncKeyVaultConfiguration(keyVault.Object, keyVaultEncoder.Object, KeyVaultConfigurationCachePolicy.Default, asyncConfiguration.Object);
string result = await asyncKeyVaultConfiguration.GetAsync("mykey");
Assert.AreEqual("keyvaultvalue", result);
}