public async Task HealthControllerHealthReturnsServiceUnavailableWhenException() { // Arrange var controller = BuildHealthController(MediaTypeNames.Application.Json); A.CallTo(() => FakeJobProfileService.PingAsync()).Throws <Exception>(); // Act var result = await controller.Health().ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileService.PingAsync()).MustHaveHappenedOnceExactly(); var statusResult = Assert.IsType <StatusCodeResult>(result); Assert.Equal((int)HttpStatusCode.ServiceUnavailable, statusResult.StatusCode); controller.Dispose(); }
public async Task HealthControllerHealthReturnsSuccessWhenhealthy() { // Arrange const bool expectedResult = true; var controller = BuildHealthController(MediaTypeNames.Application.Json); A.CallTo(() => FakeJobProfileService.PingAsync()).Returns(expectedResult); // Act var result = await controller.Health().ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileService.PingAsync()).MustHaveHappenedOnceExactly(); var jsonResult = Assert.IsType <OkObjectResult>(result); var models = Assert.IsAssignableFrom <List <HealthItemViewModel> >(jsonResult.Value); models.Count.Should().BeGreaterThan(0); models.First().Service.Should().NotBeNullOrWhiteSpace(); models.First().Message.Should().NotBeNullOrWhiteSpace(); controller.Dispose(); }