示例#1
0
        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();
        }
示例#2
0
        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();
        }