public void HasNoAccessToKeyVault() { var mockResponse = new Mock <Response>(); var mockClient = new Mock <ConfigurationClient>(TestHelpers.CreateMockEndpointString()); mockClient.Setup(c => c.GetConfigurationSettingsAsync(It.IsAny <SettingSelector>(), It.IsAny <CancellationToken>())) .Returns(new MockAsyncPageable(new List <ConfigurationSetting> { _kv })); var mockSecretClient = new Mock <SecretClient>(MockBehavior.Strict); mockSecretClient.SetupGet(client => client.VaultUri).Returns(new Uri("https://keyvault-theclassics.vault.azure.net")); mockSecretClient.Setup(client => client.GetSecretAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .Throws(new RequestFailedException(403, "Access denied. Caller was not found on any access policy.", "AccessDenied", null)); KeyVaultReferenceException ex = Assert.Throws <KeyVaultReferenceException>(() => { new ConfigurationBuilder().AddAzureAppConfiguration(options => { options.Client = mockClient.Object; options.ConfigureKeyVault(kv => kv.Register(mockSecretClient.Object)); }) .Build(); }); Assert.Equal("AccessDenied", ex.ErrorCode); }
public void ServerRequestIsMadeWhenDefaultCredentialIsSet() { var mockResponse = new Mock <Response>(); var mockClient = new Mock <ConfigurationClient>(MockBehavior.Strict, TestHelpers.CreateMockEndpointString()); mockClient.Setup(c => c.GetConfigurationSettingsAsync(It.IsAny <SettingSelector>(), It.IsAny <CancellationToken>())) .Returns(new MockAsyncPageable(new List <ConfigurationSetting> { _kv })); KeyVaultReferenceException ex = Assert.Throws <KeyVaultReferenceException>(() => { new ConfigurationBuilder().AddAzureAppConfiguration(options => { options.Client = mockClient.Object; options.ConfigureKeyVault(kv => kv.SetCredential(new DefaultAzureCredential())); }) .Build(); }); Assert.NotNull(ex.InnerException); }