public void GetValueMethodSadPath1() { var mockSecretsManager = new Mock <IAmazonSecretsManager>(); mockSecretsManager.Setup(m => m.GetSecretValueAsync(It.IsAny <GetSecretValueRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync((GetSecretValueResponse)null); var secret = new AwsSecret("myConfigurationKey", "mySecretId", "myAwsSecretKey", mockSecretsManager.Object); Action act = () => secret.GetValue(); act.Should().ThrowExactly <KeyNotFoundException>().WithMessage("*Response was null.*"); }
public void GetValueMethodSadPath2() { var response = new GetSecretValueResponse { SecretString = "{}" }; var mockSecretsManager = new Mock <IAmazonSecretsManager>(); mockSecretsManager.Setup(m => m.GetSecretValueAsync(It.IsAny <GetSecretValueRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var secret = new AwsSecret("myConfigurationKey", "mySecretId", "myAwsSecretKey", mockSecretsManager.Object); Action act = () => secret.GetValue(); act.Should().ThrowExactly <KeyNotFoundException>().WithMessage("*Response did not contain item with the name 'myAwsSecretKey'.*"); }
public void GetValueMethodHappyPath2() { var response = new GetSecretValueResponse { SecretString = "mySecretString" }; var mockSecretsManager = new Mock <IAmazonSecretsManager>(); mockSecretsManager.Setup(m => m.GetSecretValueAsync(It.IsAny <GetSecretValueRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var secret = new AwsSecret("myConfigurationKey", "mySecretId", secretsManager: mockSecretsManager.Object); var value = secret.GetValue(); value.Should().Be("mySecretString"); mockSecretsManager.Verify(m => m.GetSecretValueAsync( It.Is <GetSecretValueRequest>(r => r.SecretId == "mySecretId"), It.IsAny <CancellationToken>()), Times.Once()); }
public void GetValueMethodHappyPath3() { var buffer = Encoding.UTF8.GetBytes("Hello, world!"); var response = new GetSecretValueResponse { SecretBinary = new MemoryStream(buffer) }; var mockSecretsManager = new Mock <IAmazonSecretsManager>(); mockSecretsManager.Setup(m => m.GetSecretValueAsync(It.IsAny <GetSecretValueRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var secret = new AwsSecret("myConfigurationKey", "mySecretId", secretsManager: mockSecretsManager.Object); var value = secret.GetValue(); value.Should().Be(Convert.ToBase64String(buffer)); mockSecretsManager.Verify(m => m.GetSecretValueAsync( It.Is <GetSecretValueRequest>(r => r.SecretId == "mySecretId"), It.IsAny <CancellationToken>()), Times.Once()); }