我需要模拟 Key Vault 的端点,以便知道我是否调用该函数来获取 Key Vault 一次。
我正在使用 C# 和 Moq(框架)开发它来进行测试。
界面如下:
public interface IKeyVaultConnection
{
string GetKeyVaultValue(string variableName);
}
Run Code Online (Sandbox Code Playgroud)
public class KeyVaultConnection
{
public KeyVaultClient keyVaultClient;
private string endpointKeyVault;
public KeyVaultConnection(string keyVaultAddress = "DefaultEndpoint")
{
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
endpointKeyVault = $"https://{ keyVaultAddress }.vault.azure.net";
}
private async Task<string> AsyncGetSecretValue(string keyName)
{
var secret = await keyVaultClient.GetSecretAsync($"{endpointKeyVault}/secrets/{ keyName }")
.ConfigureAwait(false);
return secret.Value;
}
public string GetKeyVaultValue(string variableName)
{
Task<string> task = Task.Run(async () => …Run Code Online (Sandbox Code Playgroud)