コード例 #1
0
        public async Task HealthControllerHealthViewReturnsNotAcceptable(string mediaTypeName)
        {
            // Arrange
            bool expectedResult = true;
            var  controller     = BuildHealthController(mediaTypeName);

            A.CallTo(() => FakeJobGroupDocumentService.PingAsync()).Returns(expectedResult);

            // Act
            var result = await controller.HealthView().ConfigureAwait(false);

            // Assert
            var statusResult = Assert.IsType <StatusCodeResult>(result);

            A.Equals((int)HttpStatusCode.NotAcceptable, statusResult.StatusCode);

            controller.Dispose();
        }
コード例 #2
0
        public async Task HealthControllerViewJsonReturnsSuccess(string mediaTypeName)
        {
            // Arrange
            bool expectedResult = true;
            var  controller     = BuildHealthController(mediaTypeName);

            A.CallTo(() => FakeJobGroupDocumentService.PingAsync()).Returns(expectedResult);

            // Act
            var result = await controller.HealthView().ConfigureAwait(false);

            // Assert
            var jsonResult = Assert.IsType <OkObjectResult>(result);

            _ = Assert.IsAssignableFrom <IList <HealthItemViewModel> >(jsonResult.Value);

            controller.Dispose();
        }
コード例 #3
0
        public async Task HealthControllerHealthReturnsServiceUnavailableWhenUnhealthy()
        {
            // Arrange
            bool expectedResult = false;
            var  controller     = BuildHealthController(MediaTypeNames.Application.Json);

            A.CallTo(() => FakeJobGroupDocumentService.PingAsync()).Returns(expectedResult);

            // Act
            var result = await controller.Health().ConfigureAwait(false);

            // Assert
            A.CallTo(() => FakeJobGroupDocumentService.PingAsync()).MustHaveHappenedOnceExactly();

            var statusResult = Assert.IsType <StatusCodeResult>(result);

            A.Equals((int)HttpStatusCode.ServiceUnavailable, statusResult.StatusCode);

            controller.Dispose();
        }
コード例 #4
0
        public async Task HealthControllerHealthReturnsSuccessWhenHealthy()
        {
            // Arrange
            bool expectedResult = true;
            var  controller     = BuildHealthController(MediaTypeNames.Application.Json);

            A.CallTo(() => FakeJobGroupDocumentService.PingAsync()).Returns(expectedResult);

            // Act
            var result = await controller.Health().ConfigureAwait(false);

            // Assert
            A.CallTo(() => FakeJobGroupDocumentService.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();
        }