private static void AddHashiCorpCriticalExceptions(SecretStoreBuilder builder)
 {
     // Thrown when the HashiCorp Vault's authentication and/or authorization fails.
     builder.AddCriticalException <VaultApiException>(exception =>
     {
         return(exception.HttpStatusCode == HttpStatusCode.BadRequest ||
                exception.HttpStatusCode == HttpStatusCode.Forbidden);
     });
 }
示例#2
0
        public void AddCriticalException_WithoutExceptionFilter_Throws()
        {
            // Arrange
            var services = new ServiceCollection();
            var builder  = new SecretStoreBuilder(services);

            // Act / Assert
            Assert.ThrowsAny <ArgumentException>(
                () => builder.AddCriticalException <AuthenticationException>(exceptionFilter: null));
        }
        private static SecretStoreBuilder AddHashiCorpVault(
            SecretStoreBuilder builder,
            VaultClientSettings settings,
            string secretPath,
            HashiCorpVaultOptions options,
            Func <string, string> mutateSecretName)
        {
            // Thrown when the HashiCorp Vault's authentication and/or authorization fails.
            builder.AddCriticalException <VaultApiException>(exception =>
            {
                return(exception.HttpStatusCode == HttpStatusCode.BadRequest ||
                       exception.HttpStatusCode == HttpStatusCode.Forbidden);
            });

            return(builder.AddProvider(serviceProvider =>
            {
                var logger = serviceProvider.GetService <ILogger <HashiCorpSecretProvider> >();
                var provider = new HashiCorpSecretProvider(settings, secretPath, options, logger);

                return provider;
            }, mutateSecretName));
        }