public async Task MultipleSecretsAreReplaced(string variableText, string expectedText, string replace, [Frozen] Mock <ISecretProviderFactory> mockFact, [Frozen] Mock <ISecretProvider> mockProv, IVaultArgs vaultArgs, SecretsMananger sut) { setVaultArgs(vaultArgs); mockFact.Setup(f => f.Create(It.IsAny <string>())).Returns(mockProv.Object); mockProv.Setup(v => v.GetSecret(It.IsAny <string>())).Returns(Task.FromResult(replace)); var secrets = new List <SecretVariable>() { new SecretVariable("hello", variableText) }; await sut.ReplaceSecrets(secrets, vaultArgs).ConfigureAwait(false); secrets.Single().Value.Should().Be(expectedText); }
public async Task SecretsAreReplaced([Frozen] Mock <ISecretProviderFactory> mockFact, [Frozen] Mock <ISecretProvider> mockProv, IVaultArgs vaultArgs, SecretsMananger sut) { setVaultArgs(vaultArgs); var secretValue = "world"; var secrets = new List <SecretVariable>() { new SecretVariable("hello", $"#{{{secretValue}}}") }; mockProv.Setup(v => v.GetSecret(secretValue)).Returns(Task.FromResult("SECRET")); mockFact.Setup(f => f.Create("")).Returns(mockProv.Object); await sut.ReplaceSecrets(secrets, vaultArgs).ConfigureAwait(false); secrets.Single().Value.Should().Be("SECRET"); }
public async Task SecretDoesNotUseFactoryVaultArgsNull([Frozen] Mock <ISecretProviderFactory> mockFact, [Frozen] Mock <ISecretProvider> mockProv, IVaultArgs vaultArgs, SecretsMananger sut) { vaultArgs = null; mockFact.Setup(f => f.Create(It.IsAny <string>())).Returns(mockProv.Object); mockProv.Setup(v => v.GetSecret(It.IsAny <string>())).Returns(Task.FromResult(String.Empty)); await sut.ReplaceSecrets(new List <SecretVariable>() { new SecretVariable("hello", "#{world}") }, vaultArgs).ConfigureAwait(false); mockProv.Verify(v => v.GetSecret(It.IsAny <string>()), Times.Never); }
public async Task ThreeSecretsUsesFactoryThreeTimes([Frozen] Mock <ISecretProviderFactory> mockFact, [Frozen] Mock <ISecretProvider> mockProv, IVaultArgs vaultArgs, SecretsMananger sut) { setVaultArgs(vaultArgs); mockFact.Setup(f => f.Create(It.IsAny <string>())).Returns(mockProv.Object); mockProv.Setup(v => v.GetSecret(It.IsAny <string>())).Returns(Task.FromResult(String.Empty)); await sut.ReplaceSecrets(new List <SecretVariable>() { new SecretVariable("hello", "#{world} #{double} #{trouble}") }, vaultArgs).ConfigureAwait(false); mockProv.Verify(v => v.GetSecret(It.IsAny <string>()), Times.Exactly(3)); }
public async Task NonReplacedVariableIsNotMarkedSecret([Frozen] Mock <ISecretProviderFactory> mockFact, [Frozen] Mock <ISecretProvider> mockProv, IVaultArgs vaultArgs, SecretsMananger sut) { setVaultArgs(vaultArgs); mockProv.Setup(v => v.GetSecret(It.IsAny <string>())).Returns(Task.FromResult("SECRET")); mockFact.Setup(f => f.Create(It.IsAny <string>())).Returns(mockProv.Object); var secrets = new List <SecretVariable>() { new SecretVariable("hello", "world") }; await sut.ReplaceSecrets(secrets, vaultArgs).ConfigureAwait(false); secrets.Single().IsSecret.Should().BeFalse(); }