in DeviceBridgeTests/Providers/SecretsProviderTests.cs [176:219]
public async Task GetEncryptionKeyTest()
{
using (ShimsContext.Create())
{
var realSecretValue = "realSecretValue";
var realVersion = "v.1";
var calledKvUrl = string.Empty;
var calledSecretName = string.Empty;
var calledVersion = string.Empty;
Microsoft.Azure.KeyVault.Fakes.ShimKeyVaultClientExtensions.GetSecretAsyncIKeyVaultClientStringStringStringCancellationToken = (IKeyVaultClient kvc, string keyVaultUrl, string secretName, string version, CancellationToken c) =>
{
var result = new SecretBundle();
result.Value = realSecretValue;
calledKvUrl = keyVaultUrl;
calledSecretName = secretName;
calledVersion = version;
return Task.FromResult(result);
};
Microsoft.Azure.KeyVault.Fakes.ShimKeyVaultClientExtensions.GetSecretAsyncIKeyVaultClientStringStringCancellationToken = (IKeyVaultClient kvc, string keyVaultUrl, string secretName, CancellationToken c) =>
{
var result = new SecretBundle();
result.Value = realSecretValue;
calledKvUrl = keyVaultUrl;
calledSecretName = secretName;
return Task.FromResult(result);
};
// Test without version
var bundle = await sp.GetEncryptionKey(logger);
Assert.AreEqual(realSecretValue, bundle.Value);
Assert.AreEqual(TestConstants.KeyvaultUrl, calledKvUrl);
Assert.AreEqual(SecretsProvider.IotcEncryptionKey, calledSecretName);
Assert.AreEqual(string.Empty, calledVersion);
// Test with version
bundle = await sp.GetEncryptionKey(logger, realVersion);
Assert.AreEqual(realSecretValue, bundle.Value);
Assert.AreEqual(TestConstants.KeyvaultUrl, calledKvUrl);
Assert.AreEqual(SecretsProvider.IotcEncryptionKey, calledSecretName);
Assert.AreEqual(realVersion, calledVersion);
}
}