public async Task Dynamo_Connection_Exception_Returns_Unhealthy()
        {
            _awsDynamo.DescribeTableAsync(Arg.Any <string>()).Throws(new Exception("No Table for You!"));

            var check  = new DynamoDbHealthCheck(_pocoDynamo, new NullLoggerFactory());
            var health = await check.CheckHealthAsync(new HealthCheckContext());

            Assert.Equal(HealthStatus.Unhealthy, health.Status);
        }
示例#2
0
        public async Task CheckHealthAsyncTestSucceeds()
        {
            _mockClient.Setup(x => x.DescribeTableAsync("Models", default)).ReturnsAsync(new DescribeTableResponse());

            var sut    = new DynamoDbHealthCheck <TestModelDb>(_mockClient.Object);
            var result = await sut.CheckHealthAsync(new HealthCheckContext()).ConfigureAwait(false);

            result.Status.Should().Be(HealthStatus.Healthy);
        }
示例#3
0
        public async Task CheckHealthAsyncTestFails()
        {
            var ex = new Exception("Something bad happened");

            _mockClient.Setup(x => x.DescribeTableAsync("Models", default)).ThrowsAsync(ex);

            var sut    = new DynamoDbHealthCheck <TestModelDb>(_mockClient.Object);
            var result = await sut.CheckHealthAsync(new HealthCheckContext()).ConfigureAwait(false);

            result.Status.Should().Be(HealthStatus.Unhealthy);
            result.Exception.Should().Be(ex);
        }
        public async Task Inactive_Table_Dynamo_Returns_Unhealthy()
        {
            _awsDynamo.DescribeTableAsync(Arg.Any <string>()).Returns(new DescribeTableResponse
            {
                Table = new TableDescription
                {
                    TableStatus = TableStatus.CREATING
                }
            });

            var check  = new DynamoDbHealthCheck(_pocoDynamo, new NullLoggerFactory());
            var health = await check.CheckHealthAsync(new HealthCheckContext());

            Assert.Equal(HealthStatus.Unhealthy, health.Status);
        }
示例#5
0
        public void DynamoDbHealthCheckConstructorTestFails()
        {
            Action act = () => _ = new DynamoDbHealthCheck <TestModel>(_mockClient.Object);

            act.Should().Throw <ArgumentException>().WithMessage($"Type {typeof(TestModel).Name} does not have the DynamoDBTable attribute applied to it.");
        }