public void PassesThroughLoad() { var originalProviderMock = new Mock <Microsoft.Extensions.Configuration.IConfigurationProvider>(); var secretInjectorMock = new Mock <ISecretInjector>(); var provider = new KeyVaultInjectingConfigurationProvider(originalProviderMock.Object, secretInjectorMock.Object); provider.Load(); originalProviderMock.Verify(p => p.Load(), Times.Once()); secretInjectorMock.Verify(x => x.InjectAsync(It.IsAny <string>()), Times.Never()); }
public void PassesThroughGetChildKeys() { var originalProviderMock = new Mock <Microsoft.Extensions.Configuration.IConfigurationProvider>(); var secretInjectorMock = new Mock <ISecretInjector>(); var keys = new string[] { "someKey" }; var parentPath = "Section1"; Microsoft.Extensions.Configuration.IConfigurationProvider provider = new KeyVaultInjectingConfigurationProvider(originalProviderMock.Object, secretInjectorMock.Object); provider.GetChildKeys(keys, parentPath); originalProviderMock.Verify(p => p.GetChildKeys(keys, parentPath), Times.Once()); originalProviderMock.Verify(p => p.GetChildKeys(It.IsAny <IEnumerable <string> >(), It.IsAny <string>()), Times.Once()); secretInjectorMock.Verify(x => x.InjectAsync(It.IsAny <string>()), Times.Never()); }
public void NotInjectsSecrets(string key) { var originalProviderMock = new Mock <Microsoft.Extensions.Configuration.IConfigurationProvider>(MockBehavior.Strict); var secretInjectorMock = new Mock <ISecretInjector>(); const string uninjectedValue = "Value=$$Secret$$"; var originalOutValue = uninjectedValue; originalProviderMock.Setup(p => p.TryGet(key, out originalOutValue)).Returns(true).Verifiable(); secretInjectorMock.Setup(i => i.InjectAsync(It.IsAny <string>())); var provider = new KeyVaultInjectingConfigurationProvider(originalProviderMock.Object, secretInjectorMock.Object); var found = provider.TryGet(key, out string value); Assert.True(found); Assert.Equal(uninjectedValue, value); originalProviderMock.Verify(p => p.TryGet(key, out originalOutValue), Times.Once()); secretInjectorMock.Verify(i => i.InjectAsync(It.IsAny <string>()), Times.Never); }