public async Task GetApiKeyTest()

in DeviceBridgeTests/Providers/SecretsProviderTests.cs [142:173]


        public async Task GetApiKeyTest()
        {
            using (ShimsContext.Create())
            {
                var realSecretValue = "realSecretValue";
                var calledKvUrl = string.Empty;
                var calledSecretName = string.Empty;
                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);
                };

                // First time should call keyvault
                var returnVal = await sp.GetApiKey(logger);
                Assert.AreEqual(realSecretValue, returnVal);
                Assert.AreEqual(TestConstants.KeyvaultUrl, calledKvUrl);
                Assert.AreEqual(SecretsProvider.ApiKeyName, calledSecretName);

                // Second time should cache
                calledKvUrl = string.Empty;
                calledSecretName = string.Empty;
                returnVal = await sp.GetApiKey(logger);
                Assert.AreEqual(realSecretValue, returnVal);
                Assert.AreEqual("", calledKvUrl);
                Assert.AreEqual("", calledSecretName);
            }
        }