Ejemplo n.º 1
0
        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.*");
        }
Ejemplo n.º 2
0
        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'.*");
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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());
        }