public async Task Then_Checks_To_See_If_A_Connection_Can_Be_Made( [Frozen] Mock <IReservationIndexRepository> repository, HealthCheckContext healthCheckContext, ElasticSearchHealthCheck handler) { //Act await handler.CheckHealthAsync(healthCheckContext, CancellationToken.None); //Assert repository.Verify(c => c.PingAsync(), Times.Once); }
public async Task Then_Checks_To_See_If_The_How_Old_The_Latest_Index_Is( [Frozen] Mock <IReservationIndexRepository> repository, HealthCheckContext healthCheckContext, ElasticSearchHealthCheck handler) { //Act await handler.CheckHealthAsync(healthCheckContext, CancellationToken.None); //Assert repository.Verify(r => r.GetCurrentReservationIndex(), Times.Once); }
public async Task Then_Returns_UnHealthy_Status_If_There_Is_No_Indices( [Frozen] Mock <IReservationIndexRepository> repository, HealthCheckContext healthCheckContext, ElasticSearchHealthCheck handler) { //Arrange repository.Setup(r => r.PingAsync()).ReturnsAsync(true); repository.Setup(r => r.GetCurrentReservationIndex()).ReturnsAsync((IndexRegistryEntry)null); //Act var result = await handler.CheckHealthAsync(healthCheckContext, CancellationToken.None); //Assert Assert.AreEqual(HealthStatus.Unhealthy, result.Status); }
public async Task Then_Returns_UnHealthy_Status_If_Elastic_Cannot_Be_Reached( [Frozen] Mock <IReservationIndexRepository> repository, HealthCheckContext healthCheckContext, ElasticSearchHealthCheck handler) { //Arrange repository.Setup(r => r.PingAsync()).ReturnsAsync(false); //Act var result = await handler.CheckHealthAsync(healthCheckContext, CancellationToken.None); //Assert Assert.AreEqual(HealthStatus.Unhealthy, result.Status); repository.Verify(r => r.GetCurrentReservationIndex(), Times.Never); }
public async Task Then_Returns_Degraded_Status_If_Latest_Index_Is_More_Than_One_Day_Old( [Frozen] Mock <IReservationIndexRepository> repository, HealthCheckContext healthCheckContext, ElasticSearchHealthCheck handler) { //Arrange repository.Setup(r => r.PingAsync()).ReturnsAsync(true); repository.Setup(r => r.GetCurrentReservationIndex()).ReturnsAsync(new IndexRegistryEntry { Id = Guid.NewGuid(), Name = "Test", DateCreated = DateTime.Now.AddHours(-26) }); //Act var result = await handler.CheckHealthAsync(healthCheckContext, CancellationToken.None); //Assert Assert.AreEqual(HealthStatus.Degraded, result.Status); }