public void ShouldNotFindConfigInCollection() { var collection = new SecretConfigCollection { Items = new [] { new SecretConfig { Name = "test", Region = "us-east-2", SecretId = "a secret" } } }; var systemUnderTest = new SecretProvider(collection, manager.Object); Action act = () => systemUnderTest.GetAwsSecret("fail"); act.Should().Throw <SecretException>(); }
public void ShouldGetSecret() { const string configName = "test"; var collection = new SecretConfigCollection { Items = new [] { new SecretConfig { Name = configName, Region = "us-east-2", SecretId = "a secret" } } }; var systemUnderTest = new SecretProvider(collection, manager.Object); var actual = systemUnderTest.GetAwsSecret(configName); actual.Should().NotBeNull(); actual.Should().BeAssignableTo <CachingSecret>(); }
public static IServiceCollection AddLazySecretProvider(this IServiceCollection collection, SecretConfigCollection secretConfigCollection) { collection.AddAWSService <IAmazonSecretsManager>(); collection.AddSingleton <ILazyProvider <ISecretProvider> >(provider => new LazyProvider <ISecretProvider>(() => new SecretProvider(secretConfigCollection, provider.GetService <IAmazonSecretsManager>()))); return(collection); }